diff --git a/CHANGELOG.md b/CHANGELOG.md
index 508abdc..01a7f4a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.28.0
+
+* Грамматики переведены в формат JSON
+* Убрана горячая клавиша с команды expandAbbreviation как мешающая плагинам AI-автокомплита
+
## 1.27.3
* Обновлены правила подсветки языка запросов и языка 1С
diff --git a/package-lock.json b/package-lock.json
index 0d5f100..4ddea50 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "language-1c-bsl",
- "version": "1.27.3",
+ "version": "1.28.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "language-1c-bsl",
- "version": "1.27.3",
+ "version": "1.28.0",
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"alignment": "0.0.1",
diff --git a/package.json b/package.json
index 557d860..03daf54 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"displayName": "Language 1C (BSL)",
"description": "Syntax highlighting for 1C:Enterprise 8.",
"icon": "images/1c-syntax.png",
- "version": "1.27.3",
+ "version": "1.28.0",
"publisher": "1c-syntax",
"galleryBanner": {
"color": "#0000FF",
@@ -285,8 +285,6 @@
},
{
"command": "language-1c-bsl.expandAbbreviation",
- "key": "tab",
- "mac": "tab",
"when": "editorTextFocus && editorLangId == 'bsl'"
},
{
@@ -325,12 +323,12 @@
{
"language": "bsl",
"scopeName": "source.bsl",
- "path": "./syntaxes/1c.tmLanguage"
+ "path": "./syntaxes/1c.tmLanguage.json"
},
{
"language": "sdbl",
"scopeName": "source.sdbl",
- "path": "./syntaxes/1c-query.tmLanguage"
+ "path": "./syntaxes/1c-query.tmLanguage.json"
}
],
"problemMatchers": [
diff --git a/syntaxes/1c-query.tmLanguage b/syntaxes/1c-query.tmLanguage
deleted file mode 100644
index 6513c82..0000000
--- a/syntaxes/1c-query.tmLanguage
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
- name
- 1C (Query)
- scopeName
- source.sdbl
- fileTypes
-
- sdbl
- query
-
- firstLineMatch
- (?i)Выбрать|Select(\s+Разрешенные|\s+Allowed)?(\s+Различные|\s+Distinct)?(\s+Первые|\s+Top)?.*
- uuid
- d94265d3-2270-4ff2-ba36-649fbb4160df
- patterns
-
-
- name
- comment.line.double-slash.sdbl
- match
- (^\s*//.*$)
-
-
- name
- comment.line.double-slash.sdbl
- begin
- //
- end
- $
-
-
- name
- string.quoted.double.sdbl
- begin
- \"
- end
- \"(?![\"])
- patterns
-
-
- name
- constant.character.escape.sdbl
- match
- \"\"
-
-
- name
- comment.line.double-slash.sdbl
- match
- (^\s*//.*$)
-
-
-
-
- name
- constant.language.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\wа-яё\.]|$)
-
-
- name
- constant.numeric.sdbl
- match
- (?<=[^\wа-яё\.]|^)(\d+\.?\d*)(?=[^\wа-яё\.]|$)
-
-
- name
- keyword.control.conditional.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^\wа-яё\.]|$)
-
-
- name
- keyword.operator.logical.sdbl
- match
- (?i)(?<!КАК\s|AS\s)(?<=[^\wа-яё\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\s+ИЕРАРХИИ|IN\s+HIERARCHY|В|In|Между|Between|Есть(\s+НЕ)?\s+NULL|Is(\s+NOT)?\s+NULL|Ссылка|Refs|Подобно|Like)(?=[^\wа-яё\.]|$)
-
-
- name
- keyword.operator.comparison.sdbl
- match
- <=|>=|=|<|>
-
-
- name
- keyword.operator.arithmetic.sdbl
- match
- (\+|-|\*|/|%)
-
-
- name
- keyword.operator.sdbl
- match
- (,|;)
-
-
- name
- keyword.control.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\s+(Внешнее\s+|Outer\s+)?Соединение|Join)|((Внутреннее|Inner)\s+Соединение|Join)|Где|Where|(Сгруппировать\s+По(\s+Группирующим\s+Наборам)?)|(Group\s+By(\s+Grouping\s+Set)?)|Имеющие|Having|Объединить(\s+Все)?|Union(\s+All)?|(Упорядочить\s+По)|(Order\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\s+Общие)?|By(\s+Overall)?|(Только\s+)?Иерархия|(Only\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\s+Изменения|(For\s+Update(\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^\wа-яё\.]|$)
-
-
- comment
- Функции языка запросов
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\()
-
-
- comment
- Функции работы со строками
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\()
-
-
- comment
- Функции работы с датами
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\()
-
-
- comment
- Функции работы с числами
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\()
-
-
- comment
- Агрегатные функции
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\()
-
-
- comment
- Прочие функции
- name
- support.function.sdbl
- match
- (?i)(?<=[^\wа-яё\.]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\()
-
-
- name
- support.type.sdbl
- match
- (?i)(?<=[^\wа-яё\.])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^\wа-яё\.]|$)
-
-
- name
- variable.parameter.sdbl
- match
- (&[\wа-яё]+)
-
-
-
-
\ No newline at end of file
diff --git a/syntaxes/1c-query.tmLanguage.json b/syntaxes/1c-query.tmLanguage.json
new file mode 100644
index 0000000..2239ead
--- /dev/null
+++ b/syntaxes/1c-query.tmLanguage.json
@@ -0,0 +1,107 @@
+{
+ "displayName": "1C (Query)",
+ "name": "sdbl",
+ "scopeName": "source.sdbl",
+ "fileTypes": [
+ "sdbl",
+ "query"
+ ],
+ "firstLineMatch": "(?i)Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?.*",
+ "uuid": "d94265d3-2270-4ff2-ba36-649fbb4160df",
+ "patterns": [
+ {
+ "name": "comment.line.double-slash.sdbl",
+ "match": "(^\\s*//.*$)"
+ },
+ {
+ "name": "comment.line.double-slash.sdbl",
+ "begin": "//",
+ "end": "$"
+ },
+ {
+ "name": "string.quoted.double.sdbl",
+ "begin": "\\\"",
+ "end": "\\\"(?![\\\"])",
+ "patterns": [
+ {
+ "name": "constant.character.escape.sdbl",
+ "match": "\\\"\\\""
+ },
+ {
+ "name": "comment.line.double-slash.sdbl",
+ "match": "(^\\s*//.*$)"
+ }
+ ]
+ },
+ {
+ "name": "constant.language.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "constant.numeric.sdbl",
+ "match": "(?<=[^\\wа-яё\\.]|^)(\\d+\\.?\\d*)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "keyword.control.conditional.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "keyword.operator.logical.sdbl",
+ "match": "(?i)(?=|=|<|>"
+ },
+ {
+ "name": "keyword.operator.arithmetic.sdbl",
+ "match": "(\\+|-|\\*|/|%)"
+ },
+ {
+ "name": "keyword.operator.sdbl",
+ "match": "(,|;)"
+ },
+ {
+ "name": "keyword.control.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\s+(Внешнее\\s+|Outer\\s+)?Соединение|Join)|((Внутреннее|Inner)\\s+Соединение|Join)|Где|Where|(Сгруппировать\\s+По(\\s+Группирующим\\s+Наборам)?)|(Group\\s+By(\\s+Grouping\\s+Set)?)|Имеющие|Having|Объединить(\\s+Все)?|Union(\\s+All)?|(Упорядочить\\s+По)|(Order\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\s+Общие)?|By(\\s+Overall)?|(Только\\s+)?Иерархия|(Only\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\s+Изменения|(For\\s+Update(\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "comment": "Функции языка запросов",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\()"
+ },
+ {
+ "comment": "Функции работы со строками",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\()"
+ },
+ {
+ "comment": "Функции работы с датами",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\()"
+ },
+ {
+ "comment": "Функции работы с числами",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\()"
+ },
+ {
+ "comment": "Агрегатные функции",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\()"
+ },
+ {
+ "comment": "Прочие функции",
+ "name": "support.function.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\()"
+ },
+ {
+ "name": "support.type.sdbl",
+ "match": "(?i)(?<=[^\\wа-яё\\.])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "variable.parameter.sdbl",
+ "match": "(&[\\wа-яё]+)"
+ }
+ ]
+}
diff --git a/syntaxes/1c.tmLanguage b/syntaxes/1c.tmLanguage
deleted file mode 100644
index 5319137..0000000
--- a/syntaxes/1c.tmLanguage
+++ /dev/null
@@ -1,1230 +0,0 @@
-
-
-
-
- name
- 1C (BSL)
- scopeName
- source.bsl
- fileTypes
-
- bsl
- os
-
- uuid
- cf0633ff-beee-424a-a2f7-3dce4093e139
- patterns
-
-
- include
- #basic
-
-
- include
- #miscellaneous
-
-
- comment
- Proc and function definition
- begin
- (?i:(?<=[^\wа-яё\.]|^)(Процедура|Procedure|Функция|Function)\s+([a-zа-яё0-9_]+)\s*(\())
- beginCaptures
-
- 1
-
- name
- storage.type.bsl
-
- 2
-
- name
- entity.name.function.bsl
-
- 3
-
- name
- punctuation.bracket.begin.bsl
-
-
- end
- (?i:(\))\s*((Экспорт|Export)(?=[^\wа-яё\.]|$))?)
- endCaptures
-
- 1
-
- name
- punctuation.bracket.end.bsl
-
- 2
-
- name
- storage.modifier.bsl
-
-
- patterns
-
-
- include
- #annotations
-
-
- include
- #basic
-
-
- name
- keyword.operator.assignment.bsl
- match
- (=)
-
-
- name
- storage.modifier.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Знач|Val)(?=[^\wа-яё\.]|$))
-
-
- name
- invalid.illegal.bsl
- match
- (?<=[^\wа-яё\.]|^)((?<==)(?i)[a-zа-яё0-9_]+)(?=[^\wа-яё\.]|$)
-
-
- name
- invalid.illegal.bsl
- match
- (?<=[^\wа-яё\.]|^)((?<==\s)\s*(?i)[a-zа-яё0-9_]+)(?=[^\wа-яё\.]|$)
-
-
- name
- variable.parameter.bsl
- match
- (?i:[a-zа-яё0-9_]+)
-
-
-
-
- comment
- Define of variable
- begin
- (?i:(?<=[^\wа-яё\.]|^)(Перем|Var)\s+([a-zа-яё0-9_]+)\s*)
- beginCaptures
-
- 1
-
- name
- storage.type.var.bsl
-
- 2
-
- name
- variable.bsl
-
-
- end
- (;)
- endCaptures
-
- 1
-
- name
- keyword.operator.bsl
-
-
- patterns
-
-
- name
- keyword.operator.bsl
- match
- (,)
-
-
- name
- storage.modifier.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Экспорт|Export)(?=[^\wа-яё\.]|$))
-
-
- name
- variable.bsl
- match
- (?i:[a-zа-яё0-9_]+)
-
-
-
-
- comment
- Conditional
- name
- meta.conditional.bsl
- begin
- (?i:(?<=;|^)\s*(Если|If))
- beginCaptures
-
- 1
-
- name
- keyword.control.conditional.bsl
-
-
- end
- (?i:(Тогда|Then))
- endCaptures
-
- 1
-
- name
- keyword.control.conditional.bsl
-
-
- patterns
-
-
- include
- #basic
-
-
- include
- #miscellaneous
-
-
-
-
- comment
- Variable assignment
- name
- meta.var-single-variable.bsl
- begin
- (?i:(?<=;|^)\s*([\wа-яё]+))\s*(=)
- beginCaptures
-
- 1
-
- name
- variable.assignment.bsl
-
- 2
-
- name
- keyword.operator.assignment.bsl
-
-
- end
- (?i:(?=(;|Иначе|Конец|Els|End)))
- patterns
-
-
- include
- #basic
-
-
- include
- #miscellaneous
-
-
-
-
- name
- storage.type.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(КонецПроцедуры|EndProcedure|КонецФункции|EndFunction)(?=[^\wа-яё\.]|$))
-
-
- name
- keyword.control.import.bsl
- match
- (?i)#(Использовать|Use)(?=[^\wа-яё\.]|$)
-
-
- name
- keyword.control.native.bsl
- match
- (?i)#native
-
-
- name
- keyword.control.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Прервать|Break|Продолжить|Continue|Возврат|Return)(?=[^\wа-яё\.]|$))
-
-
- name
- keyword.control.conditional.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Если|If|Иначе|Else|ИначеЕсли|ElsIf|Тогда|Then|КонецЕсли|EndIf)(?=[^\wа-яё\.]|$))
-
-
- name
- keyword.control.exception.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Попытка|Try|Исключение|Except|КонецПопытки|EndTry|ВызватьИсключение|Raise)(?=[^\wа-яё\.]|$))
-
-
- name
- keyword.control.repeat.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Пока|While|(Для|For)(\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\wа-яё\.]|$))
-
-
- name
- storage.modifier.directive.bsl
- match
- (?i:&(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))
-
-
- include
- #annotations
-
-
- name
- keyword.other.preprocessor.bsl
- match
- (?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)
-
-
- comment
- Region start
- begin
- (?i)(#(Область|Region))(\s+([\wа-яё]+))?
- beginCaptures
-
- 1
-
- name
- keyword.other.section.bsl
-
- 4
-
- name
- entity.name.section.bsl
-
-
- end
- $
-
-
- comment
- Region end
- name
- keyword.other.section.bsl
- match
- (?i)#(КонецОбласти|EndRegion)
-
-
- comment
- Delete start
- name
- keyword.other.section.bsl
- match
- (?i)#(Удаление|Delete)
-
-
- comment
- Delete end
- name
- keyword.other.section.bsl
- match
- (?i)#(КонецУдаления|EndDelete)
-
-
- comment
- Inster start
- name
- keyword.other.section.bsl
- match
- (?i)#(Вставка|Insert)
-
-
- comment
- Insert end
- name
- keyword.other.section.bsl
- match
- (?i)#(КонецВставки|EndInsert)
-
-
- repository
-
- miscellaneous
-
- patterns
-
-
- name
- keyword.operator.logical.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\wа-яё\.]|$))
-
-
- name
- keyword.operator.comparison.bsl
- match
- <=|>=|=|<|>
-
-
- name
- keyword.operator.arithmetic.bsl
- match
- (\+|-|\*|/|%)
-
-
- name
- keyword.operator.bsl
- match
- (;|\?)
-
-
- comment
- Functions w/o brackets
- name
- support.function.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Новый|New)(?=[^\wа-яё\.]|$))
-
-
- comment
- Глобальный контекст - функции работы со значениями типа Строка
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-СтрДлина|StrLen|
-СокрЛ|TrimL|
-СокрП|TrimR|
-СокрЛП|TrimAll|
-Лев|Left|
-Прав|Right|
-Сред|Mid|
-СтрНайти|StrFind|
-ВРег|Upper|
-НРег|Lower|
-ТРег|Title|
-Символ|Char|
-КодСимвола|CharCode|
-ПустаяСтрока|IsBlankString|
-СтрЗаменить|StrReplace|
-СтрЧислоСтрок|StrLineCount|
-СтрПолучитьСтроку|StrGetLine|
-СтрЧислоВхождений|StrOccurrenceCount|
-СтрСравнить|StrCompare|
-СтрНачинаетсяС|StrStartWith|
-СтрЗаканчиваетсяНа|StrEndsWith|
-СтрРазделить|StrSplit|
-СтрСоединить|StrConcat
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции работы со значениями типа Число
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-Цел|Int|
-Окр|Round|
-ACos|
-ASin|
-ATan|
-Cos|
-Exp|
-Log|
-Log10|
-Pow|
-Sin|
-Sqrt|
-Tan
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции работы со значениями типа Дата
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-Год|Year|
-Месяц|Month|
-День|Day|
-Час|Hour|
-Минута|Minute|
-Секунда|Second|
-НачалоГода|BegOfYear|
-НачалоДня|BegOfDay|
-НачалоКвартала|BegOfQuarter|
-НачалоМесяца|BegOfMonth|
-НачалоМинуты|BegOfMinute|
-НачалоНедели|BegOfWeek|
-НачалоЧаса|BegOfHour|
-КонецГода|EndOfYear|
-КонецДня|EndOfDay|
-КонецКвартала|EndOfQuarter|
-КонецМесяца|EndOfMonth|
-КонецМинуты|EndOfMinute|
-КонецНедели|EndOfWeek|
-КонецЧаса|EndOfHour|
-НеделяГода|WeekOfYear|
-ДеньГода|DayOfYear|
-ДеньНедели|WeekDay|
-ТекущаяДата|CurrentDate|
-ДобавитьМесяц|AddMonth
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции работы со значениями типа Тип
- name
- support.function.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Тип|Type|ТипЗнч|TypeOf)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции преобразования значений
- name
- support.function.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\s*(?=\())
-
-
- comment
- Глобальный контекст - процедуры и функции интерактивной работы
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПоказатьВопрос|ShowQueryBox|
-Вопрос|DoQueryBox|
-ПоказатьПредупреждение|ShowMessageBox|
-Предупреждение|DoMessageBox|
-Сообщить|Message|
-ОчиститьСообщения|ClearMessages|
-ОповеститьОбИзменении|NotifyChanged|
-Состояние|Status|
-Сигнал|Beep|
-ПоказатьЗначение|ShowValue|
-ОткрытьЗначение|OpenValue|
-Оповестить|Notify|
-ОбработкаПрерыванияПользователя|UserInterruptProcessing|
-ОткрытьСодержаниеСправки|OpenHelpContent|
-ОткрытьИндексСправки|OpenHelpIndex|
-ОткрытьСправку|OpenHelp|
-ПоказатьИнформациюОбОшибке|ShowErrorInfo|
-КраткоеПредставлениеОшибки|BriefErrorDescription|
-ПодробноеПредставлениеОшибки|DetailErrorDescription|
-ПолучитьФорму|GetForm|
-ЗакрытьСправку|CloseHelp|
-ПоказатьОповещениеПользователя|ShowUserNotification|
-ОткрытьФорму|OpenForm|
-ОткрытьФормуМодально|OpenFormModal|
-АктивноеОкно|ActiveWindow|
-ВыполнитьОбработкуОповещения|ExecuteNotifyProcessing
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции для вызова диалога ввода данных
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПоказатьВводЗначения|ShowInputValue|
-ВвестиЗначение|InputValue|
-ПоказатьВводЧисла|ShowInputNumber|
-ВвестиЧисло|InputNumber|
-ПоказатьВводСтроки|ShowInputString|
-ВвестиСтроку|InputString|
-ПоказатьВводДаты|ShowInputDate|
-ВвестиДату|InputDate
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции форматирования
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-Формат|Format|
-ЧислоПрописью|NumberInWords|
-НСтр|NStr|
-ПредставлениеПериода|PeriodPresentation|
-СтрШаблон|StrTemplate
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - функции обращения к конфигурации
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПолучитьОбщийМакет|GetCommonTemplate|
-ПолучитьОбщуюФорму|GetCommonForm|
-ПредопределенноеЗначение|PredefinedValue|
-ПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - процедуры и функции сеанса работы
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПолучитьЗаголовокСистемы|GetCaption|
-ПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|
-ПодключитьОбработчикОжидания|AttachIdleHandler|
-УстановитьЗаголовокСистемы|SetCaption|
-ОтключитьОбработчикОжидания|DetachIdleHandler|
-ИмяКомпьютера|ComputerName|
-ЗавершитьРаботуСистемы|Exit|
-ИмяПользователя|UserName|
-ПрекратитьРаботуСистемы|Terminate|
-ПолноеИмяПользователя|UserFullName|
-ЗаблокироватьРаботуПользователя|LockApplication|
-КаталогПрограммы|BinDir|
-КаталогВременныхФайлов|TempFilesDir|
-ПравоДоступа|AccessRight|
-РольДоступна|IsInRole|
-ТекущийЯзык|CurrentLanguage|
-ТекущийКодЛокализации|CurrentLocaleCode|
-СтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|
-ПодключитьОбработчикОповещения|AttachNotificationHandler|
-ОтключитьОбработчикОповещения|DetachNotificationHandler|
-ПолучитьСообщенияПользователю|GetUserMessages|
-ПараметрыДоступа|AccessParameters|
-ПредставлениеПриложения|ApplicationPresentation|
-ТекущийЯзыкСистемы|CurrentSystemLanguage|
-ЗапуститьСистему|RunSystem|
-ТекущийРежимЗапуска|CurrentRunMode|
-УстановитьЧасовойПоясСеанса|SetSessionTimeZone|
-ЧасовойПоясСеанса|SessionTimeZone|
-ТекущаяДатаСеанса|CurrentSessionDate|
-УстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|
-ПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|
-ПредставлениеПрава|RightPresentation|
-ВыполнитьПроверкуПравДоступа|VerifyAccessRights|
-РабочийКаталогДанныхПользователя|UserDataWorkDir|
-КаталогДокументов|DocumentsDir|
-ПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|
-ТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|
-ТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|
-УстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|
-ПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|
-НачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|
-НачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|
-НачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|
-ПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|
-ОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler|
-КаталогБиблиотекиМобильногоУстройства|MobileDeviceLibraryDir
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - процедуры и функции сохранения значений
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ЗначениеВСтрокуВнутр|ValueToStringInternal|
-ЗначениеИзСтрокиВнутр|ValueFromStringInternal|
-ЗначениеВФайл|ValueToFile|
-ЗначениеИзФайла|ValueFromFile
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с операционной системой
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-КомандаСистемы|System|
-ЗапуститьПриложение|RunApp|
-ПолучитьCOMОбъект|GetCOMObject|
-ПользователиОС|OSUsers|
-НачатьЗапускПриложения|BeginRunningApplication
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с внешними компонентами
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПодключитьВнешнююКомпоненту|AttachAddIn|
-НачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|
-УстановитьВнешнююКомпоненту|InstallAddIn|
-НачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с файлами
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-КопироватьФайл|FileCopy|
-ПереместитьФайл|MoveFile|
-УдалитьФайлы|DeleteFiles|
-НайтиФайлы|FindFiles|
-СоздатьКаталог|CreateDirectory|
-ПолучитьИмяВременногоФайла|GetTempFileName|
-РазделитьФайл|SplitFile|
-ОбъединитьФайлы|MergeFiles|
-ПолучитьФайл|GetFile|
-НачатьПомещениеФайла|BeginPutFile|
-ПоместитьФайл|PutFile|
-ЭтоАдресВременногоХранилища|IsTempStorageURL|
-УдалитьИзВременногоХранилища|DeleteFromTempStorage|
-ПолучитьИзВременногоХранилища|GetFromTempStorage|
-ПоместитьВоВременноеХранилище|PutToTempStorage|
-ПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|
-НачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|
-УстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|
-ПолучитьФайлы|GetFiles|
-ПоместитьФайлы|PutFiles|
-ЗапроситьРазрешениеПользователя|RequestUserPermission|
-ПолучитьМаскуВсеФайлы|GetAllFilesMask|
-ПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|
-ПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|
-ПолучитьРазделительПути|GetPathSeparator|
-ПолучитьРазделительПутиКлиента|GetClientPathSeparator|
-ПолучитьРазделительПутиСервера|GetServerPathSeparator|
-НачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|
-НачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|
-НачатьПоискФайлов|BeginFindingFiles|
-НачатьСозданиеКаталога|BeginCreatingDirectory|
-НачатьКопированиеФайла|BeginCopyingFile|
-НачатьПеремещениеФайла|BeginMovingFile|
-НачатьУдалениеФайлов|BeginDeletingFiles|
-НачатьПолучениеФайлов|BeginGettingFiles|
-НачатьПомещениеФайлов|BeginPuttingFiles|
-НачатьСозданиеДвоичныхДанныхИзФайла|BeginCreateBinaryDataFromFile
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с информационной базой
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-НачатьТранзакцию|BeginTransaction|
-ЗафиксироватьТранзакцию|CommitTransaction|
-ОтменитьТранзакцию|RollbackTransaction|
-УстановитьМонопольныйРежим|SetExclusiveMode|
-МонопольныйРежим|ExclusiveMode|
-ПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|
-ПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|
-НомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|
-КонфигурацияИзменена|ConfigurationChanged|
-КонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|
-УстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|
-ОбновитьНумерациюОбъектов|RefreshObjectsNumbering|
-ПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|
-КодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|
-УстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|
-ПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|
-ИнициализироватьПредопределенныеДанные|InitializePredefinedData|
-УдалитьДанныеИнформационнойБазы|EraseInfoBaseData|
-УстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|
-ПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|
-ПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|
-УстановитьПривилегированныйРежим|SetPrivilegedMode|
-ПривилегированныйРежим|PrivilegedMode|
-ТранзакцияАктивна|TransactionActive|
-НеобходимостьЗавершенияСоединения|ConnectionStopRequest|
-НомерСеансаИнформационнойБазы|InfoBaseSessionNumber|
-ПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|
-ЗаблокироватьДанныеДляРедактирования|LockDataForEdit|
-УстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|
-РазблокироватьДанныеДляРедактирования|UnlockDataForEdit|
-РазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|
-ПолучитьБлокировкуСеансов|GetSessionsLock|
-УстановитьБлокировкуСеансов|SetSessionsLock|
-ОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|
-УстановитьБезопасныйРежим|SetSafeMode|
-БезопасныйРежим|SafeMode|
-ПолучитьДанныеВыбора|GetChoiceData|
-УстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|
-ПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|
-ПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|
-УстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|
-БезопасныйРежимРазделенияДанных|DataSeparationSafeMode|
-УстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|
-ПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|
-УстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|
-ПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|
-ПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|
-ПолучитьИдентификаторКонфигурации|GetConfigurationID|
-УстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|
-ПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|
-ПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter|
-ПолучитьОтключениеБезопасногоРежима|GetSafeModeDisabled|
-УстановитьОтключениеБезопасногоРежима|SetSafeModeDisabled
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с данными информационной базы
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-НайтиПомеченныеНаУдаление|FindMarkedForDeletion|
-НайтиПоСсылкам|FindByRef|
-УдалитьОбъекты|DeleteObjects|
-УстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|
-ПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с XML
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-XMLСтрока|XMLString|
-XMLЗначение|XMLValue|
-XMLТип|XMLType|
-XMLТипЗнч|XMLTypeOf|
-ИзXMLТипа|FromXMLType|
-ВозможностьЧтенияXML|CanReadXML|
-ПолучитьXMLТип|GetXMLType|
-ПрочитатьXML|ReadXML|
-ЗаписатьXML|WriteXML|
-НайтиНедопустимыеСимволыXML|FindDisallowedXMLCharacters|
-ИмпортМоделиXDTO|ImportXDTOModel|
-СоздатьФабрикуXDTO|CreateXDTOFactory
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с JSON
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ЗаписатьJSON|WriteJSON|
-ПрочитатьJSON|ReadJSON|
-ПрочитатьДатуJSON|ReadJSONDate|
-ЗаписатьДатуJSON|WriteJSONDate
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с журналом регистрации
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ЗаписьЖурналаРегистрации|WriteLogEvent|
-ПолучитьИспользованиеЖурналаРегистрации|GetEventLogUsing|
-УстановитьИспользованиеЖурналаРегистрации|SetEventLogUsing|
-ПредставлениеСобытияЖурналаРегистрации|EventLogEventPresentation|
-ВыгрузитьЖурналРегистрации|UnloadEventLog|
-ПолучитьЗначенияОтбораЖурналаРегистрации|GetEventLogFilterValues|
-УстановитьИспользованиеСобытияЖурналаРегистрации|SetEventLogEventUse|
-ПолучитьИспользованиеСобытияЖурналаРегистрации|GetEventLogEventUse|
-СкопироватьЖурналРегистрации|CopyEventLog|
-ОчиститьЖурналРегистрации|ClearEventLog
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с универсальными объектами
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ЗначениеВДанныеФормы|ValueToFormData|
-ДанныеФормыВЗначение|FormDataToValue|
-КопироватьДанныеФормы|CopyFormData|
-УстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|
-ПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с функциональными опциями
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПолучитьФункциональнуюОпцию|GetFunctionalOption|
-ПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|
-УстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|
-ПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|
-ОбновитьИнтерфейс|RefreshInterface
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с криптографией
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-УстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|
-НачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|
-ПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|
-НачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-УстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|
-ПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Процедуры и функции работы с двоичными данными
- name
- support.function.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\s*(?=\())
-
-
- comment
- Глобальный контекст - Прочие процедуры и функции
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-Мин|Min|
-Макс|Max|
-ОписаниеОшибки|ErrorDescription|
-Вычислить|Eval|
-ИнформацияОбОшибке|ErrorInfo|
-Base64Значение|Base64Value|
-Base64Строка|Base64String|
-ЗаполнитьЗначенияСвойств|FillPropertyValues|
-ЗначениеЗаполнено|ValueIsFilled|
-ПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|
-НайтиОкноПоНавигационнойСсылке|FindWindowByURL|
-ПолучитьОкна|GetWindows|
-ПерейтиПоНавигационнойСсылке|GotoURL|
-ПолучитьНавигационнуюСсылку|GetURL|
-ПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|
-ПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|
-ПредставлениеКодаЛокализации|LocaleCodePresentation|
-ПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|
-ПредставлениеЧасовогоПояса|TimeZonePresentation|
-ТекущаяУниверсальнаяДата|CurrentUniversalDate|
-ТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|
-МестноеВремя|ToLocalTime|
-УниверсальноеВремя|ToUniversalTime|
-ЧасовойПояс|TimeZone|
-СмещениеЛетнегоВремени|DaylightTimeOffset|
-СмещениеСтандартногоВремени|StandardTimeOffset|
-КодироватьСтроку|EncodeString|
-РаскодироватьСтроку|DecodeString|
-Найти|Find|
-ПродолжитьВызов|ProceedWithCall
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - События приложения и сеанса
- name
- support.function.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ПередНачаломРаботыСистемы|BeforeStart|
-ПриНачалеРаботыСистемы|OnStart|
-ПередЗавершениемРаботыСистемы|BeforeExit|
-ПриЗавершенииРаботыСистемы|OnExit|
-ОбработкаВнешнегоСобытия|ExternEventProcessing|
-УстановкаПараметровСеанса|SessionParametersSetting|
-ПриИзмененииПараметровЭкрана|OnChangeDisplaySettings
-)\s*(?=\())
-
-
- comment
- Глобальный контекст - Свойства (классы)
- name
- support.class.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-WSСсылки|WSReferences|
-БиблиотекаКартинок|PictureLib|
-БиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|
-БиблиотекаСтилей|StyleLib|
-БизнесПроцессы|BusinessProcesses|
-ВнешниеИсточникиДанных|ExternalDataSources|
-ВнешниеОбработки|ExternalDataProcessors|
-ВнешниеОтчеты|ExternalReports|
-Документы|Documents|
-ДоставляемыеУведомления|DeliverableNotifications|
-ЖурналыДокументов|DocumentJournals|
-Задачи|Tasks|
-ИнформацияОбИнтернетСоединении|InternetConnectionInformation|
-ИспользованиеРабочейДаты|WorkingDateUse|
-ИсторияРаботыПользователя|UserWorkHistory|
-Константы|Constants|
-КритерииОтбора|FilterCriteria|
-Метаданные|Metadata|
-Обработки|DataProcessors|
-ОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|
-Отчеты|Reports|
-ПараметрыСеанса|SessionParameters|
-Перечисления|Enums|
-ПланыВидовРасчета|ChartsOfCalculationTypes|
-ПланыВидовХарактеристик|ChartsOfCharacteristicTypes|
-ПланыОбмена|ExchangePlans|
-ПланыСчетов|ChartsOfAccounts|
-ПолнотекстовыйПоиск|FullTextSearch|
-ПользователиИнформационнойБазы|InfoBaseUsers|
-Последовательности|Sequences|
-РасширенияКонфигурации|ConfigurationExtensions|
-РегистрыБухгалтерии|AccountingRegisters|
-РегистрыНакопления|AccumulationRegisters|
-РегистрыРасчета|CalculationRegisters|
-РегистрыСведений|InformationRegisters|
-РегламентныеЗадания|ScheduledJobs|
-СериализаторXDTO|XDTOSerializer|
-Справочники|Catalogs|
-СредстваГеопозиционирования|LocationTools|
-СредстваКриптографии|CryptoToolsManager|
-СредстваМультимедиа|MultimediaTools|
-СредстваОтображенияРекламы|AdvertisingPresentationTools|
-СредстваПочты|MailTools|
-СредстваТелефонии|TelephonyTools|
-ФабрикаXDTO|XDTOFactory|
-ФайловыеПотоки|FileStreams|
-ФоновыеЗадания|BackgroundJobs|
-ХранилищаНастроек|SettingsStorages|
-ВстроенныеПокупки|InAppPurchases|
-ОтображениеРекламы|AdRepresentation|
-ПанельЗадачОС|OSTaskbar|
-ПроверкаВстроенныхПокупок|InAppPurchasesValidation
-)(?=[^\wа-яё]|$))
-
-
- comment
- Глобальный контекст - Свойства (переменные)
- name
- support.variable.bsl
- match
- (?x)(?i:(?<=[^\wа-яё\.]|^)(
-ГлавныйИнтерфейс|MainInterface|
-ГлавныйСтиль|MainStyle|
-ПараметрЗапуска|LaunchParameter|
-РабочаяДата|WorkingDate|
-ХранилищеВариантовОтчетов|ReportsVariantsStorage|
-ХранилищеНастроекДанныхФорм|FormDataSettingsStorage|
-ХранилищеОбщихНастроек|CommonSettingsStorage|
-ХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|
-ХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|
-ХранилищеСистемныхНастроек|SystemSettingsStorage
-)(?=[^\wа-яё]|$))
-
-
-
- query
-
- begin
- (?i)(?<=[^\wа-яё\.]|^)(Выбрать|Select(\s+Разрешенные|\s+Allowed)?(\s+Различные|\s+Distinct)?(\s+Первые|\s+Top)?)(?=[^\wа-яё\.]|$)
- beginCaptures
-
- 1
-
- name
- keyword.control.sdbl
-
-
- end
- (?=\"[^\"])
- patterns
-
-
- name
- comment.line.double-slash.bsl
- begin
- ^\s*//
- end
- $
-
-
- name
- comment.line.double-slash.sdbl
- match
- (//((\"\")|[^\"])*)
-
-
- name
- string.quoted.double.sdbl
- match
- \"\"[^"]*\"\"
-
-
- include
- source.sdbl
-
-
-
- basic
-
- patterns
-
-
- name
- comment.line.double-slash.bsl
- begin
- //
- end
- $
-
-
- name
- string.quoted.double.bsl
- begin
- \"
- end
- \"(?![\"])
- patterns
-
-
- include
- #query
-
-
- name
- constant.character.escape.bsl
- match
- \"\"
-
-
- name
- comment.line.double-slash.bsl
- match
- (^\s*//.*$)
-
-
-
-
- name
- constant.language.bsl
- match
- (?i:(?<=[^\wа-яё\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\wа-яё\.]|$))
-
-
- name
- constant.numeric.bsl
- match
- (?<=[^\wа-яё\.]|^)(\d+\.?\d*)(?=[^\wа-яё\.]|$)
-
-
- name
- constant.other.date.bsl
- match
- \'((\d{4}[^\d\']*\d{2}[^\d\']*\d{2})([^\d\']*\d{2}[^\d\']*\d{2}([^\d\']*\d{2})?)?)\'
-
-
- name
- keyword.operator.bsl
- match
- (,)
-
-
- name
- punctuation.bracket.begin.bsl
- match
- (\()
-
-
- name
- punctuation.bracket.end.bsl
- match
- (\))
-
-
-
- annotations
-
- patterns
-
-
- comment
- Annotations with parameters
- begin
- (?i)(&([a-zа-яё0-9_]+))\s*(\()
- beginCaptures
-
- 1
-
- name
- storage.type.annotation.bsl
-
- 3
-
- name
- punctuation.bracket.begin.bsl
-
-
- end
- (\))
- endCaptures
-
- 1
-
- name
- punctuation.bracket.end.bsl
-
-
- patterns
-
-
- include
- #basic
-
-
- name
- keyword.operator.assignment.bsl
- match
- (=)
-
-
- name
- invalid.illegal.bsl
- match
- (?<=[^\wа-яё\.]|^)((?<==)(?i)[a-zа-яё0-9_]+)(?=[^\wа-яё\.]|$)
-
-
- name
- invalid.illegal.bsl
- match
- (?<=[^\wа-яё\.]|^)((?<==\s)\s*(?i)[a-zа-яё0-9_]+)(?=[^\wа-яё\.]|$)
-
-
- name
- variable.annotation.bsl
- match
- (?i)[a-zа-яё0-9_]+
-
-
-
-
- comment
- Annotations without parameters
- name
- storage.type.annotation.bsl
- match
- (?i)(&([a-zа-яё0-9_]+))
-
-
-
-
-
-
\ No newline at end of file
diff --git a/syntaxes/1c.tmLanguage.json b/syntaxes/1c.tmLanguage.json
new file mode 100644
index 0000000..2a436f5
--- /dev/null
+++ b/syntaxes/1c.tmLanguage.json
@@ -0,0 +1,518 @@
+{
+ "displayName": "1C (BSL)",
+ "name": "bsl",
+ "scopeName": "source.bsl",
+ "fileTypes": [
+ "bsl",
+ "os"
+ ],
+ "uuid": "cf0633ff-beee-424a-a2f7-3dce4093e139",
+ "patterns": [
+ {
+ "include": "#basic"
+ },
+ {
+ "include": "#miscellaneous"
+ },
+ {
+ "comment": "Proc and function definition",
+ "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*(\\())",
+ "beginCaptures": {
+ "1": {
+ "name": "storage.type.bsl"
+ },
+ "2": {
+ "name": "entity.name.function.bsl"
+ },
+ "3": {
+ "name": "punctuation.bracket.begin.bsl"
+ }
+ },
+ "end": "(?i:(\\))\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.bracket.end.bsl"
+ },
+ "2": {
+ "name": "storage.modifier.bsl"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#annotations"
+ },
+ {
+ "include": "#basic"
+ },
+ {
+ "name": "keyword.operator.assignment.bsl",
+ "match": "(=)"
+ },
+ {
+ "name": "storage.modifier.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Знач|Val)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "invalid.illegal.bsl",
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "invalid.illegal.bsl",
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "variable.parameter.bsl",
+ "match": "(?i:[a-zа-яё0-9_]+)"
+ }
+ ]
+ },
+ {
+ "comment": "Define of variable",
+ "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Перем|Var)\\s+([a-zа-яё0-9_]+)\\s*)",
+ "beginCaptures": {
+ "1": {
+ "name": "storage.type.var.bsl"
+ },
+ "2": {
+ "name": "variable.bsl"
+ }
+ },
+ "end": "(;)",
+ "endCaptures": {
+ "1": {
+ "name": "keyword.operator.bsl"
+ }
+ },
+ "patterns": [
+ {
+ "name": "keyword.operator.bsl",
+ "match": "(,)"
+ },
+ {
+ "name": "storage.modifier.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Экспорт|Export)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "variable.bsl",
+ "match": "(?i:[a-zа-яё0-9_]+)"
+ }
+ ]
+ },
+ {
+ "comment": "Conditional",
+ "name": "meta.conditional.bsl",
+ "begin": "(?i:(?<=;|^)\\s*(Если|If))",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.control.conditional.bsl"
+ }
+ },
+ "end": "(?i:(Тогда|Then))",
+ "endCaptures": {
+ "1": {
+ "name": "keyword.control.conditional.bsl"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#basic"
+ },
+ {
+ "include": "#miscellaneous"
+ }
+ ]
+ },
+ {
+ "comment": "Variable assignment",
+ "name": "meta.var-single-variable.bsl",
+ "begin": "(?i:(?<=;|^)\\s*([\\wа-яё]+))\\s*(=)",
+ "beginCaptures": {
+ "1": {
+ "name": "variable.assignment.bsl"
+ },
+ "2": {
+ "name": "keyword.operator.assignment.bsl"
+ }
+ },
+ "end": "(?i:(?=(;|Иначе|Конец|Els|End)))",
+ "patterns": [
+ {
+ "include": "#basic"
+ },
+ {
+ "include": "#miscellaneous"
+ }
+ ]
+ },
+ {
+ "name": "storage.type.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(КонецПроцедуры|EndProcedure|КонецФункции|EndFunction)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "keyword.control.import.bsl",
+ "match": "(?i)#(Использовать|Use)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "keyword.control.native.bsl",
+ "match": "(?i)#native"
+ },
+ {
+ "name": "keyword.control.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Прервать|Break|Продолжить|Continue|Возврат|Return)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "keyword.control.conditional.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Если|If|Иначе|Else|ИначеЕсли|ElsIf|Тогда|Then|КонецЕсли|EndIf)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "keyword.control.exception.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Попытка|Try|Исключение|Except|КонецПопытки|EndTry|ВызватьИсключение|Raise)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "keyword.control.repeat.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Пока|While|(Для|For)(\\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "storage.modifier.directive.bsl",
+ "match": "(?i:&(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"
+ },
+ {
+ "include": "#annotations"
+ },
+ {
+ "name": "keyword.other.preprocessor.bsl",
+ "match": "(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)"
+ },
+ {
+ "comment": "Region start",
+ "begin": "(?i)(#(Область|Region))(\\s+([\\wа-яё]+))?",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.other.section.bsl"
+ },
+ "4": {
+ "name": "entity.name.section.bsl"
+ }
+ },
+ "end": "$"
+ },
+ {
+ "comment": "Region end",
+ "name": "keyword.other.section.bsl",
+ "match": "(?i)#(КонецОбласти|EndRegion)"
+ },
+ {
+ "comment": "Delete start",
+ "name": "keyword.other.section.bsl",
+ "match": "(?i)#(Удаление|Delete)"
+ },
+ {
+ "comment": "Delete end",
+ "name": "keyword.other.section.bsl",
+ "match": "(?i)#(КонецУдаления|EndDelete)"
+ },
+ {
+ "comment": "Inster start",
+ "name": "keyword.other.section.bsl",
+ "match": "(?i)#(Вставка|Insert)"
+ },
+ {
+ "comment": "Insert end",
+ "name": "keyword.other.section.bsl",
+ "match": "(?i)#(КонецВставки|EndInsert)"
+ }
+ ],
+ "repository": {
+ "miscellaneous": {
+ "patterns": [
+ {
+ "name": "keyword.operator.logical.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "keyword.operator.comparison.bsl",
+ "match": "<=|>=|=|<|>"
+ },
+ {
+ "name": "keyword.operator.arithmetic.bsl",
+ "match": "(\\+|-|\\*|/|%)"
+ },
+ {
+ "name": "keyword.operator.bsl",
+ "match": "(;|\\?)"
+ },
+ {
+ "comment": "Functions w/o brackets",
+ "name": "support.function.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "comment": "Глобальный контекст - функции работы со значениями типа Строка",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nСтрДлина|StrLen|\nСокрЛ|TrimL|\nСокрП|TrimR|\nСокрЛП|TrimAll|\nЛев|Left|\nПрав|Right|\nСред|Mid|\nСтрНайти|StrFind|\nВРег|Upper|\nНРег|Lower|\nТРег|Title|\nСимвол|Char|\nКодСимвола|CharCode|\nПустаяСтрока|IsBlankString|\nСтрЗаменить|StrReplace|\nСтрЧислоСтрок|StrLineCount|\nСтрПолучитьСтроку|StrGetLine|\nСтрЧислоВхождений|StrOccurrenceCount|\nСтрСравнить|StrCompare|\nСтрНачинаетсяС|StrStartWith|\nСтрЗаканчиваетсяНа|StrEndsWith|\nСтрРазделить|StrSplit|\nСтрСоединить|StrConcat\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции работы со значениями типа Число",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЦел|Int|\nОкр|Round|\nACos|\nASin|\nATan|\nCos|\nExp|\nLog|\nLog10|\nPow|\nSin|\nSqrt|\nTan\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции работы со значениями типа Дата",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nГод|Year|\nМесяц|Month|\nДень|Day|\nЧас|Hour|\nМинута|Minute|\nСекунда|Second|\nНачалоГода|BegOfYear|\nНачалоДня|BegOfDay|\nНачалоКвартала|BegOfQuarter|\nНачалоМесяца|BegOfMonth|\nНачалоМинуты|BegOfMinute|\nНачалоНедели|BegOfWeek|\nНачалоЧаса|BegOfHour|\nКонецГода|EndOfYear|\nКонецДня|EndOfDay|\nКонецКвартала|EndOfQuarter|\nКонецМесяца|EndOfMonth|\nКонецМинуты|EndOfMinute|\nКонецНедели|EndOfWeek|\nКонецЧаса|EndOfHour|\nНеделяГода|WeekOfYear|\nДеньГода|DayOfYear|\nДеньНедели|WeekDay|\nТекущаяДата|CurrentDate|\nДобавитьМесяц|AddMonth\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции работы со значениями типа Тип",
+ "name": "support.function.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции преобразования значений",
+ "name": "support.function.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - процедуры и функции интерактивной работы",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПоказатьВопрос|ShowQueryBox|\nВопрос|DoQueryBox|\nПоказатьПредупреждение|ShowMessageBox|\nПредупреждение|DoMessageBox|\nСообщить|Message|\nОчиститьСообщения|ClearMessages|\nОповеститьОбИзменении|NotifyChanged|\nСостояние|Status|\nСигнал|Beep|\nПоказатьЗначение|ShowValue|\nОткрытьЗначение|OpenValue|\nОповестить|Notify|\nОбработкаПрерыванияПользователя|UserInterruptProcessing|\nОткрытьСодержаниеСправки|OpenHelpContent|\nОткрытьИндексСправки|OpenHelpIndex|\nОткрытьСправку|OpenHelp|\nПоказатьИнформациюОбОшибке|ShowErrorInfo|\nКраткоеПредставлениеОшибки|BriefErrorDescription|\nПодробноеПредставлениеОшибки|DetailErrorDescription|\nПолучитьФорму|GetForm|\nЗакрытьСправку|CloseHelp|\nПоказатьОповещениеПользователя|ShowUserNotification|\nОткрытьФорму|OpenForm|\nОткрытьФормуМодально|OpenFormModal|\nАктивноеОкно|ActiveWindow|\nВыполнитьОбработкуОповещения|ExecuteNotifyProcessing\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции для вызова диалога ввода данных",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПоказатьВводЗначения|ShowInputValue|\nВвестиЗначение|InputValue|\nПоказатьВводЧисла|ShowInputNumber|\nВвестиЧисло|InputNumber|\nПоказатьВводСтроки|ShowInputString|\nВвестиСтроку|InputString|\nПоказатьВводДаты|ShowInputDate|\nВвестиДату|InputDate\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции форматирования",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nФормат|Format|\nЧислоПрописью|NumberInWords|\nНСтр|NStr|\nПредставлениеПериода|PeriodPresentation|\nСтрШаблон|StrTemplate\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - функции обращения к конфигурации",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПолучитьОбщийМакет|GetCommonTemplate|\nПолучитьОбщуюФорму|GetCommonForm|\nПредопределенноеЗначение|PredefinedValue|\nПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - процедуры и функции сеанса работы",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПолучитьЗаголовокСистемы|GetCaption|\nПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|\nПодключитьОбработчикОжидания|AttachIdleHandler|\nУстановитьЗаголовокСистемы|SetCaption|\nОтключитьОбработчикОжидания|DetachIdleHandler|\nИмяКомпьютера|ComputerName|\nЗавершитьРаботуСистемы|Exit|\nИмяПользователя|UserName|\nПрекратитьРаботуСистемы|Terminate|\nПолноеИмяПользователя|UserFullName|\nЗаблокироватьРаботуПользователя|LockApplication|\nКаталогПрограммы|BinDir|\nКаталогВременныхФайлов|TempFilesDir|\nПравоДоступа|AccessRight|\nРольДоступна|IsInRole|\nТекущийЯзык|CurrentLanguage|\nТекущийКодЛокализации|CurrentLocaleCode|\nСтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|\nПодключитьОбработчикОповещения|AttachNotificationHandler|\nОтключитьОбработчикОповещения|DetachNotificationHandler|\nПолучитьСообщенияПользователю|GetUserMessages|\nПараметрыДоступа|AccessParameters|\nПредставлениеПриложения|ApplicationPresentation|\nТекущийЯзыкСистемы|CurrentSystemLanguage|\nЗапуститьСистему|RunSystem|\nТекущийРежимЗапуска|CurrentRunMode|\nУстановитьЧасовойПоясСеанса|SetSessionTimeZone|\nЧасовойПоясСеанса|SessionTimeZone|\nТекущаяДатаСеанса|CurrentSessionDate|\nУстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|\nПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|\nПредставлениеПрава|RightPresentation|\nВыполнитьПроверкуПравДоступа|VerifyAccessRights|\nРабочийКаталогДанныхПользователя|UserDataWorkDir|\nКаталогДокументов|DocumentsDir|\nПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|\nТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|\nТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|\nУстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|\nПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|\nНачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|\nНачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|\nНачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|\nПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|\nОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler|\nКаталогБиблиотекиМобильногоУстройства|MobileDeviceLibraryDir\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - процедуры и функции сохранения значений",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗначениеВСтрокуВнутр|ValueToStringInternal|\nЗначениеИзСтрокиВнутр|ValueFromStringInternal|\nЗначениеВФайл|ValueToFile|\nЗначениеИзФайла|ValueFromFile\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с операционной системой",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nКомандаСистемы|System|\nЗапуститьПриложение|RunApp|\nПолучитьCOMОбъект|GetCOMObject|\nПользователиОС|OSUsers|\nНачатьЗапускПриложения|BeginRunningApplication\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с внешними компонентами",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПодключитьВнешнююКомпоненту|AttachAddIn|\nНачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|\nУстановитьВнешнююКомпоненту|InstallAddIn|\nНачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с файлами",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nКопироватьФайл|FileCopy|\nПереместитьФайл|MoveFile|\nУдалитьФайлы|DeleteFiles|\nНайтиФайлы|FindFiles|\nСоздатьКаталог|CreateDirectory|\nПолучитьИмяВременногоФайла|GetTempFileName|\nРазделитьФайл|SplitFile|\nОбъединитьФайлы|MergeFiles|\nПолучитьФайл|GetFile|\nНачатьПомещениеФайла|BeginPutFile|\nПоместитьФайл|PutFile|\nЭтоАдресВременногоХранилища|IsTempStorageURL|\nУдалитьИзВременногоХранилища|DeleteFromTempStorage|\nПолучитьИзВременногоХранилища|GetFromTempStorage|\nПоместитьВоВременноеХранилище|PutToTempStorage|\nПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|\nНачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|\nУстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|\nПолучитьФайлы|GetFiles|\nПоместитьФайлы|PutFiles|\nЗапроситьРазрешениеПользователя|RequestUserPermission|\nПолучитьМаскуВсеФайлы|GetAllFilesMask|\nПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|\nПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|\nПолучитьРазделительПути|GetPathSeparator|\nПолучитьРазделительПутиКлиента|GetClientPathSeparator|\nПолучитьРазделительПутиСервера|GetServerPathSeparator|\nНачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|\nНачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|\nНачатьПоискФайлов|BeginFindingFiles|\nНачатьСозданиеКаталога|BeginCreatingDirectory|\nНачатьКопированиеФайла|BeginCopyingFile|\nНачатьПеремещениеФайла|BeginMovingFile|\nНачатьУдалениеФайлов|BeginDeletingFiles|\nНачатьПолучениеФайлов|BeginGettingFiles|\nНачатьПомещениеФайлов|BeginPuttingFiles|\nНачатьСозданиеДвоичныхДанныхИзФайла|BeginCreateBinaryDataFromFile\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с информационной базой",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nНачатьТранзакцию|BeginTransaction|\nЗафиксироватьТранзакцию|CommitTransaction|\nОтменитьТранзакцию|RollbackTransaction|\nУстановитьМонопольныйРежим|SetExclusiveMode|\nМонопольныйРежим|ExclusiveMode|\nПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|\nПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|\nНомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|\nКонфигурацияИзменена|ConfigurationChanged|\nКонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|\nУстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|\nОбновитьНумерациюОбъектов|RefreshObjectsNumbering|\nПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|\nКодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|\nУстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|\nПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|\nИнициализироватьПредопределенныеДанные|InitializePredefinedData|\nУдалитьДанныеИнформационнойБазы|EraseInfoBaseData|\nУстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|\nПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|\nПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|\nУстановитьПривилегированныйРежим|SetPrivilegedMode|\nПривилегированныйРежим|PrivilegedMode|\nТранзакцияАктивна|TransactionActive|\nНеобходимостьЗавершенияСоединения|ConnectionStopRequest|\nНомерСеансаИнформационнойБазы|InfoBaseSessionNumber|\nПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|\nЗаблокироватьДанныеДляРедактирования|LockDataForEdit|\nУстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|\nРазблокироватьДанныеДляРедактирования|UnlockDataForEdit|\nРазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|\nПолучитьБлокировкуСеансов|GetSessionsLock|\nУстановитьБлокировкуСеансов|SetSessionsLock|\nОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|\nУстановитьБезопасныйРежим|SetSafeMode|\nБезопасныйРежим|SafeMode|\nПолучитьДанныеВыбора|GetChoiceData|\nУстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|\nПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|\nПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|\nУстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|\nБезопасныйРежимРазделенияДанных|DataSeparationSafeMode|\nУстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|\nПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|\nУстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|\nПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|\nПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|\nПолучитьИдентификаторКонфигурации|GetConfigurationID|\nУстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|\nПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|\nПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter|\nПолучитьОтключениеБезопасногоРежима|GetSafeModeDisabled|\nУстановитьОтключениеБезопасногоРежима|SetSafeModeDisabled\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с данными информационной базы",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nНайтиПомеченныеНаУдаление|FindMarkedForDeletion|\nНайтиПоСсылкам|FindByRef|\nУдалитьОбъекты|DeleteObjects|\nУстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|\nПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с XML",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nXMLСтрока|XMLString|\nXMLЗначение|XMLValue|\nXMLТип|XMLType|\nXMLТипЗнч|XMLTypeOf|\nИзXMLТипа|FromXMLType|\nВозможностьЧтенияXML|CanReadXML|\nПолучитьXMLТип|GetXMLType|\nПрочитатьXML|ReadXML|\nЗаписатьXML|WriteXML|\nНайтиНедопустимыеСимволыXML|FindDisallowedXMLCharacters|\nИмпортМоделиXDTO|ImportXDTOModel|\nСоздатьФабрикуXDTO|CreateXDTOFactory\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с JSON",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗаписатьJSON|WriteJSON|\nПрочитатьJSON|ReadJSON|\nПрочитатьДатуJSON|ReadJSONDate|\nЗаписатьДатуJSON|WriteJSONDate\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с журналом регистрации",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗаписьЖурналаРегистрации|WriteLogEvent|\nПолучитьИспользованиеЖурналаРегистрации|GetEventLogUsing|\nУстановитьИспользованиеЖурналаРегистрации|SetEventLogUsing|\nПредставлениеСобытияЖурналаРегистрации|EventLogEventPresentation|\nВыгрузитьЖурналРегистрации|UnloadEventLog|\nПолучитьЗначенияОтбораЖурналаРегистрации|GetEventLogFilterValues|\nУстановитьИспользованиеСобытияЖурналаРегистрации|SetEventLogEventUse|\nПолучитьИспользованиеСобытияЖурналаРегистрации|GetEventLogEventUse|\nСкопироватьЖурналРегистрации|CopyEventLog|\nОчиститьЖурналРегистрации|ClearEventLog\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с универсальными объектами",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗначениеВДанныеФормы|ValueToFormData|\nДанныеФормыВЗначение|FormDataToValue|\nКопироватьДанныеФормы|CopyFormData|\nУстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|\nПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с функциональными опциями",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПолучитьФункциональнуюОпцию|GetFunctionalOption|\nПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|\nУстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|\nПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|\nОбновитьИнтерфейс|RefreshInterface\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с криптографией",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nУстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|\nНачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|\nПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|\nНачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nУстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|\nПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Процедуры и функции работы с двоичными данными",
+ "name": "support.function.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Прочие процедуры и функции",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nМин|Min|\nМакс|Max|\nОписаниеОшибки|ErrorDescription|\nВычислить|Eval|\nИнформацияОбОшибке|ErrorInfo|\nBase64Значение|Base64Value|\nBase64Строка|Base64String|\nЗаполнитьЗначенияСвойств|FillPropertyValues|\nЗначениеЗаполнено|ValueIsFilled|\nПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|\nНайтиОкноПоНавигационнойСсылке|FindWindowByURL|\nПолучитьОкна|GetWindows|\nПерейтиПоНавигационнойСсылке|GotoURL|\nПолучитьНавигационнуюСсылку|GetURL|\nПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|\nПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|\nПредставлениеКодаЛокализации|LocaleCodePresentation|\nПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|\nПредставлениеЧасовогоПояса|TimeZonePresentation|\nТекущаяУниверсальнаяДата|CurrentUniversalDate|\nТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|\nМестноеВремя|ToLocalTime|\nУниверсальноеВремя|ToUniversalTime|\nЧасовойПояс|TimeZone|\nСмещениеЛетнегоВремени|DaylightTimeOffset|\nСмещениеСтандартногоВремени|StandardTimeOffset|\nКодироватьСтроку|EncodeString|\nРаскодироватьСтроку|DecodeString|\nНайти|Find|\nПродолжитьВызов|ProceedWithCall\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - События приложения и сеанса",
+ "name": "support.function.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПередНачаломРаботыСистемы|BeforeStart|\nПриНачалеРаботыСистемы|OnStart|\nПередЗавершениемРаботыСистемы|BeforeExit|\nПриЗавершенииРаботыСистемы|OnExit|\nОбработкаВнешнегоСобытия|ExternEventProcessing|\nУстановкаПараметровСеанса|SessionParametersSetting|\nПриИзмененииПараметровЭкрана|OnChangeDisplaySettings\n)\\s*(?=\\())"
+ },
+ {
+ "comment": "Глобальный контекст - Свойства (классы)",
+ "name": "support.class.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nWSСсылки|WSReferences|\nБиблиотекаКартинок|PictureLib|\nБиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|\nБиблиотекаСтилей|StyleLib|\nБизнесПроцессы|BusinessProcesses|\nВнешниеИсточникиДанных|ExternalDataSources|\nВнешниеОбработки|ExternalDataProcessors|\nВнешниеОтчеты|ExternalReports|\nДокументы|Documents|\nДоставляемыеУведомления|DeliverableNotifications|\nЖурналыДокументов|DocumentJournals|\nЗадачи|Tasks|\nИнформацияОбИнтернетСоединении|InternetConnectionInformation|\nИспользованиеРабочейДаты|WorkingDateUse|\nИсторияРаботыПользователя|UserWorkHistory|\nКонстанты|Constants|\nКритерииОтбора|FilterCriteria|\nМетаданные|Metadata|\nОбработки|DataProcessors|\nОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|\nОтчеты|Reports|\nПараметрыСеанса|SessionParameters|\nПеречисления|Enums|\nПланыВидовРасчета|ChartsOfCalculationTypes|\nПланыВидовХарактеристик|ChartsOfCharacteristicTypes|\nПланыОбмена|ExchangePlans|\nПланыСчетов|ChartsOfAccounts|\nПолнотекстовыйПоиск|FullTextSearch|\nПользователиИнформационнойБазы|InfoBaseUsers|\nПоследовательности|Sequences|\nРасширенияКонфигурации|ConfigurationExtensions|\nРегистрыБухгалтерии|AccountingRegisters|\nРегистрыНакопления|AccumulationRegisters|\nРегистрыРасчета|CalculationRegisters|\nРегистрыСведений|InformationRegisters|\nРегламентныеЗадания|ScheduledJobs|\nСериализаторXDTO|XDTOSerializer|\nСправочники|Catalogs|\nСредстваГеопозиционирования|LocationTools|\nСредстваКриптографии|CryptoToolsManager|\nСредстваМультимедиа|MultimediaTools|\nСредстваОтображенияРекламы|AdvertisingPresentationTools|\nСредстваПочты|MailTools|\nСредстваТелефонии|TelephonyTools|\nФабрикаXDTO|XDTOFactory|\nФайловыеПотоки|FileStreams|\nФоновыеЗадания|BackgroundJobs|\nХранилищаНастроек|SettingsStorages|\nВстроенныеПокупки|InAppPurchases|\nОтображениеРекламы|AdRepresentation|\nПанельЗадачОС|OSTaskbar|\nПроверкаВстроенныхПокупок|InAppPurchasesValidation\n)(?=[^\\wа-яё]|$))"
+ },
+ {
+ "comment": "Глобальный контекст - Свойства (переменные)",
+ "name": "support.variable.bsl",
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nГлавныйИнтерфейс|MainInterface|\nГлавныйСтиль|MainStyle|\nПараметрЗапуска|LaunchParameter|\nРабочаяДата|WorkingDate|\nХранилищеВариантовОтчетов|ReportsVariantsStorage|\nХранилищеНастроекДанныхФорм|FormDataSettingsStorage|\nХранилищеОбщихНастроек|CommonSettingsStorage|\nХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|\nХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|\nХранилищеСистемныхНастроек|SystemSettingsStorage\n)(?=[^\\wа-яё]|$))"
+ }
+ ]
+ },
+ "query": {
+ "begin": "(?i)(?<=[^\\wа-яё\\.]|^)(Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?)(?=[^\\wа-яё\\.]|$)",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.control.sdbl"
+ }
+ },
+ "end": "(?=\\\"[^\\\"])",
+ "patterns": [
+ {
+ "name": "comment.line.double-slash.bsl",
+ "begin": "^\\s*//",
+ "end": "$"
+ },
+ {
+ "name": "comment.line.double-slash.sdbl",
+ "match": "(//((\\\"\\\")|[^\\\"])*)"
+ },
+ {
+ "name": "string.quoted.double.sdbl",
+ "match": "\\\"\\\"[^\"]*\\\"\\\""
+ },
+ {
+ "include": "source.sdbl"
+ }
+ ]
+ },
+ "basic": {
+ "patterns": [
+ {
+ "name": "comment.line.double-slash.bsl",
+ "begin": "//",
+ "end": "$"
+ },
+ {
+ "name": "string.quoted.double.bsl",
+ "begin": "\\\"",
+ "end": "\\\"(?![\\\"])",
+ "patterns": [
+ {
+ "include": "#query"
+ },
+ {
+ "name": "constant.character.escape.bsl",
+ "match": "\\\"\\\""
+ },
+ {
+ "name": "comment.line.double-slash.bsl",
+ "match": "(^\\s*//.*$)"
+ }
+ ]
+ },
+ {
+ "name": "constant.language.bsl",
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\wа-яё\\.]|$))"
+ },
+ {
+ "name": "constant.numeric.bsl",
+ "match": "(?<=[^\\wа-яё\\.]|^)(\\d+\\.?\\d*)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "constant.other.date.bsl",
+ "match": "\\'((\\d{4}[^\\d\\']*\\d{2}[^\\d\\']*\\d{2})([^\\d\\']*\\d{2}[^\\d\\']*\\d{2}([^\\d\\']*\\d{2})?)?)\\'"
+ },
+ {
+ "name": "keyword.operator.bsl",
+ "match": "(,)"
+ },
+ {
+ "name": "punctuation.bracket.begin.bsl",
+ "match": "(\\()"
+ },
+ {
+ "name": "punctuation.bracket.end.bsl",
+ "match": "(\\))"
+ }
+ ]
+ },
+ "annotations": {
+ "patterns": [
+ {
+ "comment": "Annotations with parameters",
+ "begin": "(?i)(&([a-zа-яё0-9_]+))\\s*(\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "storage.type.annotation.bsl"
+ },
+ "3": {
+ "name": "punctuation.bracket.begin.bsl"
+ }
+ },
+ "end": "(\\))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.bracket.end.bsl"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#basic"
+ },
+ {
+ "name": "keyword.operator.assignment.bsl",
+ "match": "(=)"
+ },
+ {
+ "name": "invalid.illegal.bsl",
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "invalid.illegal.bsl",
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
+ },
+ {
+ "name": "variable.annotation.bsl",
+ "match": "(?i)[a-zа-яё0-9_]+"
+ }
+ ]
+ },
+ {
+ "comment": "Annotations without parameters",
+ "name": "storage.type.annotation.bsl",
+ "match": "(?i)(&([a-zа-яё0-9_]+))"
+ }
+ ]
+ }
+ }
+}