The LRLanguage for BSL (1C:Enterprise / OneScript).
Composed of:
The Lezer BSL parser (case-insensitive RU+EN keywords, statements,
expressions with precedence, annotations, preprocessor directives,
regions, doc-comments, multi-line strings, date literals)
A parseMixed wrap that mounts sdblLanguage as an overlay onto
any BSL string literal whose first non-whitespace, non-| content
matches ВЫБРАТЬ/SELECT/УНИЧТОЖИТЬ/DROP (case-insensitive)
indentNodeProp for procedures/functions/control-flow bodies
foldNodeProp for procedures, functions, regions, control-flow bodies,
annotation parameter lists, and call argument lists
styleTags mapping AST nodes to @lezer/highlight tags
(mirroring the LSP semantic-token types used by bsl-language-server)
languageData describing comment tokens, indent-on-input patterns
(auto-dedent after КонецЕсли/КонецЦикла/etc.), and close-bracket
pairs.
Use this when you need to compose with extra LanguageSupport extras
(autocompletion, lint sources, …) without re-creating the parser; for
the common case use bsl instead.
The LRLanguage for BSL (1C:Enterprise / OneScript).
Composed of:
parseMixedwrap that mounts sdblLanguage as an overlay onto any BSL string literal whose first non-whitespace, non-|content matchesВЫБРАТЬ/SELECT/УНИЧТОЖИТЬ/DROP(case-insensitive)indentNodePropfor procedures/functions/control-flow bodiesfoldNodePropfor procedures, functions, regions, control-flow bodies, annotation parameter lists, and call argument listsstyleTagsmapping AST nodes to@lezer/highlighttags (mirroring the LSP semantic-token types used bybsl-language-server)languageDatadescribing comment tokens, indent-on-input patterns (auto-dedent afterКонецЕсли/КонецЦикла/etc.), and close-bracket pairs.Use this when you need to compose with extra
LanguageSupportextras (autocompletion, lint sources, …) without re-creating the parser; for the common case use bsl instead.