github-linguist 5.0.6 → 5.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/source.bsl.json +196 -162
  3. data/grammars/source.ceylon.json +43 -21
  4. data/grammars/source.coffee.json +46 -21
  5. data/grammars/source.cs.json +2 -2
  6. data/grammars/source.csound-score.json +41 -18
  7. data/grammars/source.csound.json +63 -7
  8. data/grammars/source.css.json +2 -2
  9. data/grammars/source.css.less.json +22 -91
  10. data/grammars/source.ditroff.json +114 -116
  11. data/grammars/source.gfm.clean.json +28 -0
  12. data/grammars/source.gfm.json +1 -0
  13. data/grammars/source.jison.json +678 -0
  14. data/grammars/source.jisonlex-injection.json +11 -0
  15. data/grammars/source.jisonlex.json +432 -0
  16. data/grammars/source.js.json +12 -67
  17. data/grammars/source.jsdoc.json +485 -0
  18. data/grammars/source.p4.json +15 -0
  19. data/grammars/source.perl6fe.json +37 -1
  20. data/grammars/source.puppet.json +1 -1
  21. data/grammars/source.python.json +6 -3
  22. data/grammars/source.quoting.perl6fe.json +101 -0
  23. data/grammars/source.rpm-spec.json +7 -3
  24. data/grammars/source.scad.json +152 -0
  25. data/grammars/source.shaderlab.json +42 -15
  26. data/grammars/source.terraform.json +18 -0
  27. data/grammars/source.yaml.json +57 -32
  28. data/grammars/text.html.php.blade.json +1 -1
  29. data/grammars/text.marko.json +1522 -0
  30. data/grammars/text.roff.json +9 -6
  31. data/lib/linguist.rb +2 -2
  32. data/lib/linguist/documentation.yml +4 -3
  33. data/lib/linguist/heuristics.rb +2 -0
  34. data/lib/linguist/languages.json +1 -1
  35. data/lib/linguist/languages.yml +33 -1
  36. data/lib/linguist/samples.json +423 -48
  37. data/lib/linguist/version.rb +1 -1
  38. metadata +13 -7
  39. data/grammars/module.ceylon.json +0 -54
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd9bab0fac26850563eb9b3856366a00cc992d95
4
- data.tar.gz: 4de5d12549d94e46d35cdf2aeede934455f9577a
3
+ metadata.gz: 258c41d0166cee8761e19fb484b868d5b2aabc41
4
+ data.tar.gz: cefad60e00f1ef8b0452697ab3fc29fcd748491a
5
5
  SHA512:
6
- metadata.gz: 19177e2bd1db6aac785e776df29556162d519802ebc7e85cccaf4eae614a2565852d19cd9393467b91641990153c24c5ca446b11cb70f57d32fd3d18a3612749
7
- data.tar.gz: c013a067b89d90ae663a8350d8d9c6fcff329426bfdab8df2a834caa8af3178f65ac3f48c92e3e339e6a4ecb378201585e06411cc5544ef9cb1dca57700bb11b
6
+ metadata.gz: bb3da82337628f3c4ad598f98f4caa6a3e8608e83f67ecf95f79ca5ea6ac04d6785852f7f66c029221c231c3b004d515bd2f00ec3090017f5792a1781416e3ec
7
+ data.tar.gz: 51365a13dbee1a43b06bb5d21d546b9ce5c0cb35de72c4ada4be72b98615c0cbe08204a57f4df415394c906042c76b5d3020b9fcee65047d594b880287f250af
@@ -10,6 +10,9 @@
10
10
  {
11
11
  "include": "#basic"
12
12
  },
13
+ {
14
+ "include": "#miscellaneous"
15
+ },
13
16
  {
14
17
  "comment": "Proc and function definition",
15
18
  "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*(\\())",
@@ -91,6 +94,30 @@
91
94
  }
92
95
  ]
93
96
  },
97
+ {
98
+ "comment": "Conditional",
99
+ "name": "meta.conditional.bsl",
100
+ "begin": "(?i:(?<=;|^)\\s*(Если|If))",
101
+ "beginCaptures": {
102
+ "1": {
103
+ "name": "keyword.control.conditional.bsl"
104
+ }
105
+ },
106
+ "end": "(?i:(Тогда|Then))",
107
+ "endCaptures": {
108
+ "1": {
109
+ "name": "keyword.control.conditional.bsl"
110
+ }
111
+ },
112
+ "patterns": [
113
+ {
114
+ "include": "#basic"
115
+ },
116
+ {
117
+ "include": "#miscellaneous"
118
+ }
119
+ ]
120
+ },
94
121
  {
95
122
  "comment": "Variable assignment",
96
123
  "name": "meta.var-single-variable.bsl",
@@ -106,7 +133,10 @@
106
133
  "end": "(?=;)",
107
134
  "patterns": [
108
135
  {
109
- "include": "$self"
136
+ "include": "#basic"
137
+ },
138
+ {
139
+ "include": "#miscellaneous"
110
140
  }
111
141
  ]
112
142
  },
@@ -134,167 +164,6 @@
134
164
  "name": "keyword.control.repeat.bsl",
135
165
  "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Пока|While|(Для|For)(\\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\\wа-яё\\.]|$))"
136
166
  },
137
- {
138
- "name": "keyword.operator.logical.bsl",
139
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"
140
- },
141
- {
142
- "name": "keyword.operator.comparison.bsl",
143
- "match": "<=|>=|=|<|>"
144
- },
145
- {
146
- "name": "keyword.operator.arithmetic.bsl",
147
- "match": "(\\+|-|\\*|/|%)"
148
- },
149
- {
150
- "name": "keyword.operator.bsl",
151
- "match": "(;|\\?)"
152
- },
153
- {
154
- "name": "support.function.bsl",
155
- "comment": "Functions w/o brackets",
156
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"
157
- },
158
- {
159
- "comment": "Глобальный контекст - функции работы со значениями типа Строка",
160
- "name": "support.function.bsl",
161
- "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*(?=\\())"
162
- },
163
- {
164
- "comment": "Глобальный контекст - функции работы со значениями типа Число",
165
- "name": "support.function.bsl",
166
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n Цел|Int|\n Окр|Round|\n ACos|\n ASin|\n ATan|\n Cos|\n Exp|\n Log|\n Log10|\n Pow|\n Sin|\n Sqrt|\n Tan\n)\\s*(?=\\())"
167
- },
168
- {
169
- "comment": "Глобальный контекст - функции работы со значениями типа Дата",
170
- "name": "support.function.bsl",
171
- "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*(?=\\())"
172
- },
173
- {
174
- "comment": "Глобальный контекст - функции работы со значениями типа Тип",
175
- "name": "support.function.bsl",
176
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"
177
- },
178
- {
179
- "comment": "Глобальный контекст - функции преобразования значений",
180
- "name": "support.function.bsl",
181
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"
182
- },
183
- {
184
- "comment": "Глобальный контекст - процедуры и функции интерактивной работы",
185
- "name": "support.function.bsl",
186
- "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*(?=\\())"
187
- },
188
- {
189
- "comment": "Глобальный контекст - функции для вызова диалога ввода данных",
190
- "name": "support.function.bsl",
191
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ПоказатьВводЗначения|ShowInputValue|\n ВвестиЗначение|InputValue|\n ПоказатьВводЧисла|ShowInputNumber|\n ВвестиЧисло|InputNumber|\n ПоказатьВводСтроки|ShowInputString|\n ВвестиСтроку|InputString|\n ПоказатьВводДаты|ShowInputDate|\n ВвестиДату|InputDate\n)\\s*(?=\\())"
192
- },
193
- {
194
- "comment": "Глобальный контекст - функции форматирования",
195
- "name": "support.function.bsl",
196
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n Формат|Format|\n ЧислоПрописью|NumberInWords|\n НСтр|NStr|\n ПредставлениеПериода|PeriodPresentation|\n СтрШаблон|StrTemplate\n)\\s*(?=\\())"
197
- },
198
- {
199
- "comment": "Глобальный контекст - функции обращения к конфигурации",
200
- "name": "support.function.bsl",
201
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ПолучитьОбщийМакет|GetCommonTemplate|\n ПолучитьОбщуюФорму|GetCommonForm|\n ПредопределенноеЗначение|PredefinedValue|\n ПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName\n)\\s*(?=\\())"
202
- },
203
- {
204
- "comment": "Глобальный контекст - процедуры и функции сеанса работы",
205
- "name": "support.function.bsl",
206
- "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*(?=\\())"
207
- },
208
- {
209
- "comment": "Глобальный контекст - процедуры и функции сохранения значений",
210
- "name": "support.function.bsl",
211
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ЗначениеВСтрокуВнутр|ValueToStringInternal|\n ЗначениеИзСтрокиВнутр|ValueFromStringInternal|\n ЗначениеВФайл|ValueToFile|\n ЗначениеИзФайла|ValueFromFile\n)\\s*(?=\\())"
212
- },
213
- {
214
- "comment": "Глобальный контекст - Процедуры и функции работы с операционной системой",
215
- "name": "support.function.bsl",
216
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n КомандаСистемы|System|\n ЗапуститьПриложение|RunApp|\n ПолучитьCOMОбъект|GetCOMObject|\n ПользователиОС|OSUsers|\n НачатьЗапускПриложения|BeginRunningApplication\n)\\s*(?=\\())"
217
- },
218
- {
219
- "comment": "Глобальный контекст - Процедуры и функции работы с внешними компонентами",
220
- "name": "support.function.bsl",
221
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ПодключитьВнешнююКомпоненту|AttachAddIn|\n НачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|\n УстановитьВнешнююКомпоненту|InstallAddIn|\n НачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn\n)\\s*(?=\\())"
222
- },
223
- {
224
- "comment": "Глобальный контекст - Процедуры и функции работы с файлами",
225
- "name": "support.function.bsl",
226
- "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*(?=\\())"
227
- },
228
- {
229
- "comment": "Глобальный контекст - Процедуры и функции работы с информационной базой",
230
- "name": "support.function.bsl",
231
- "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*(?=\\())"
232
- },
233
- {
234
- "comment": "Глобальный контекст - Процедуры и функции работы с данными информационной базы",
235
- "name": "support.function.bsl",
236
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n НайтиПомеченныеНаУдаление|FindMarkedForDeletion|\n НайтиПоСсылкам|FindByRef|\n УдалитьОбъекты|DeleteObjects|\n УстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|\n ПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData\n)\\s*(?=\\())"
237
- },
238
- {
239
- "comment": "Глобальный контекст - Процедуры и функции работы с XML",
240
- "name": "support.function.bsl",
241
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n XMLСтрока|XMLString|\n XMLЗначение|XMLValue|\n XMLТип|XMLType|\n XMLТипЗнч|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*(?=\\())"
242
- },
243
- {
244
- "comment": "Глобальный контекст - Процедуры и функции работы с JSON",
245
- "name": "support.function.bsl",
246
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ЗаписатьJSON|WriteJSON|\n ПрочитатьJSON|ReadJSON|\n ПрочитатьДатуJSON|ReadJSONDate|\n ЗаписатьДатуJSON|WriteJSONDate\n)\\s*(?=\\())"
247
- },
248
- {
249
- "comment": "Глобальный контекст - Процедуры и функции работы с журналом регистрации",
250
- "name": "support.function.bsl",
251
- "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*(?=\\())"
252
- },
253
- {
254
- "comment": "Глобальный контекст - Процедуры и функции работы с универсальными объектами",
255
- "name": "support.function.bsl",
256
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ЗначениеВДанныеФормы|ValueToFormData|\n ДанныеФормыВЗначение|FormDataToValue|\n КопироватьДанныеФормы|CopyFormData|\n УстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|\n ПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity\n)\\s*(?=\\())"
257
- },
258
- {
259
- "comment": "Глобальный контекст - Процедуры и функции работы с функциональными опциями",
260
- "name": "support.function.bsl",
261
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ПолучитьФункциональнуюОпцию|GetFunctionalOption|\n ПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|\n УстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|\n ПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|\n ОбновитьИнтерфейс|RefreshInterface\n)\\s*(?=\\())"
262
- },
263
- {
264
- "comment": "Глобальный контекст - Процедуры и функции работы с криптографией",
265
- "name": "support.function.bsl",
266
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n УстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|\n НачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|\n ПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|\n НачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension\n)\\s*(?=\\())"
267
- },
268
- {
269
- "comment": "Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData",
270
- "name": "support.function.bsl",
271
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n УстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|\n ПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent\n)\\s*(?=\\())"
272
- },
273
- {
274
- "comment": "Глобальный контекст - Процедуры и функции работы с двоичными данными",
275
- "name": "support.function.bsl",
276
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"
277
- },
278
- {
279
- "comment": "Глобальный контекст - Прочие процедуры и функции",
280
- "name": "support.function.bsl",
281
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n Мин|Min|\n Макс|Max|\n ОписаниеОшибки|ErrorDescription|\n Вычислить|Eval|\n ИнформацияОбОшибке|ErrorInfo|\n Base64Значение|Base64Value|\n Base64Строка|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*(?=\\())"
282
- },
283
- {
284
- "comment": "Глобальный контекст - События приложения и сеанса",
285
- "name": "support.function.bsl",
286
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n ПередНачаломРаботыСистемы|BeforeStart|\n ПриНачалеРаботыСистемы|OnStart|\n ПередЗавершениемРаботыСистемы|BeforeExit|\n ПриЗавершенииРаботыСистемы|OnExit|\n ОбработкаВнешнегоСобытия|ExternEventProcessing|\n УстановкаПараметровСеанса|SessionParametersSetting|\n ПриИзмененииПараметровЭкрана|OnChangeDisplaySettings\n)\\s*(?=\\())"
287
- },
288
- {
289
- "comment": "Глобальный контекст - Свойства (классы)",
290
- "name": "support.class.bsl",
291
- "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\n WSСсылки|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а-яё]|$))"
292
- },
293
- {
294
- "comment": "Глобальный контекст - Свойства (переменные)",
295
- "name": "support.variable.bsl",
296
- "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а-яё]|$))"
297
- },
298
167
  {
299
168
  "name": "storage.modifier.directive.bsl",
300
169
  "match": "(?i:&(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"
@@ -336,6 +205,171 @@
336
205
  }
337
206
  ],
338
207
  "repository": {
208
+ "miscellaneous": {
209
+ "patterns": [
210
+ {
211
+ "name": "keyword.operator.logical.bsl",
212
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"
213
+ },
214
+ {
215
+ "name": "keyword.operator.comparison.bsl",
216
+ "match": "<=|>=|=|<|>"
217
+ },
218
+ {
219
+ "name": "keyword.operator.arithmetic.bsl",
220
+ "match": "(\\+|-|\\*|/|%)"
221
+ },
222
+ {
223
+ "name": "keyword.operator.bsl",
224
+ "match": "(;|\\?)"
225
+ },
226
+ {
227
+ "comment": "Functions w/o brackets",
228
+ "name": "support.function.bsl",
229
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"
230
+ },
231
+ {
232
+ "comment": "Глобальный контекст - функции работы со значениями типа Строка",
233
+ "name": "support.function.bsl",
234
+ "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*(?=\\())"
235
+ },
236
+ {
237
+ "comment": "Глобальный контекст - функции работы со значениями типа Число",
238
+ "name": "support.function.bsl",
239
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЦел|Int|\nОкр|Round|\nACos|\nASin|\nATan|\nCos|\nExp|\nLog|\nLog10|\nPow|\nSin|\nSqrt|\nTan\n)\\s*(?=\\())"
240
+ },
241
+ {
242
+ "comment": "Глобальный контекст - функции работы со значениями типа Дата",
243
+ "name": "support.function.bsl",
244
+ "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*(?=\\())"
245
+ },
246
+ {
247
+ "comment": "Глобальный контекст - функции работы со значениями типа Тип",
248
+ "name": "support.function.bsl",
249
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"
250
+ },
251
+ {
252
+ "comment": "Глобальный контекст - функции преобразования значений",
253
+ "name": "support.function.bsl",
254
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"
255
+ },
256
+ {
257
+ "comment": "Глобальный контекст - процедуры и функции интерактивной работы",
258
+ "name": "support.function.bsl",
259
+ "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*(?=\\())"
260
+ },
261
+ {
262
+ "comment": "Глобальный контекст - функции для вызова диалога ввода данных",
263
+ "name": "support.function.bsl",
264
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПоказатьВводЗначения|ShowInputValue|\nВвестиЗначение|InputValue|\nПоказатьВводЧисла|ShowInputNumber|\nВвестиЧисло|InputNumber|\nПоказатьВводСтроки|ShowInputString|\nВвестиСтроку|InputString|\nПоказатьВводДаты|ShowInputDate|\nВвестиДату|InputDate\n)\\s*(?=\\())"
265
+ },
266
+ {
267
+ "comment": "Глобальный контекст - функции форматирования",
268
+ "name": "support.function.bsl",
269
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nФормат|Format|\nЧислоПрописью|NumberInWords|\nНСтр|NStr|\nПредставлениеПериода|PeriodPresentation|\nСтрШаблон|StrTemplate\n)\\s*(?=\\())"
270
+ },
271
+ {
272
+ "comment": "Глобальный контекст - функции обращения к конфигурации",
273
+ "name": "support.function.bsl",
274
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПолучитьОбщийМакет|GetCommonTemplate|\nПолучитьОбщуюФорму|GetCommonForm|\nПредопределенноеЗначение|PredefinedValue|\nПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName\n)\\s*(?=\\())"
275
+ },
276
+ {
277
+ "comment": "Глобальный контекст - процедуры и функции сеанса работы",
278
+ "name": "support.function.bsl",
279
+ "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*(?=\\())"
280
+ },
281
+ {
282
+ "comment": "Глобальный контекст - процедуры и функции сохранения значений",
283
+ "name": "support.function.bsl",
284
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗначениеВСтрокуВнутр|ValueToStringInternal|\nЗначениеИзСтрокиВнутр|ValueFromStringInternal|\nЗначениеВФайл|ValueToFile|\nЗначениеИзФайла|ValueFromFile\n)\\s*(?=\\())"
285
+ },
286
+ {
287
+ "comment": "Глобальный контекст - Процедуры и функции работы с операционной системой",
288
+ "name": "support.function.bsl",
289
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nКомандаСистемы|System|\nЗапуститьПриложение|RunApp|\nПолучитьCOMОбъект|GetCOMObject|\nПользователиОС|OSUsers|\nНачатьЗапускПриложения|BeginRunningApplication\n)\\s*(?=\\())"
290
+ },
291
+ {
292
+ "comment": "Глобальный контекст - Процедуры и функции работы с внешними компонентами",
293
+ "name": "support.function.bsl",
294
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПодключитьВнешнююКомпоненту|AttachAddIn|\nНачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|\nУстановитьВнешнююКомпоненту|InstallAddIn|\nНачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn\n)\\s*(?=\\())"
295
+ },
296
+ {
297
+ "comment": "Глобальный контекст - Процедуры и функции работы с файлами",
298
+ "name": "support.function.bsl",
299
+ "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*(?=\\())"
300
+ },
301
+ {
302
+ "comment": "Глобальный контекст - Процедуры и функции работы с информационной базой",
303
+ "name": "support.function.bsl",
304
+ "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*(?=\\())"
305
+ },
306
+ {
307
+ "comment": "Глобальный контекст - Процедуры и функции работы с данными информационной базы",
308
+ "name": "support.function.bsl",
309
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nНайтиПомеченныеНаУдаление|FindMarkedForDeletion|\nНайтиПоСсылкам|FindByRef|\nУдалитьОбъекты|DeleteObjects|\nУстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|\nПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData\n)\\s*(?=\\())"
310
+ },
311
+ {
312
+ "comment": "Глобальный контекст - Процедуры и функции работы с XML",
313
+ "name": "support.function.bsl",
314
+ "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*(?=\\())"
315
+ },
316
+ {
317
+ "comment": "Глобальный контекст - Процедуры и функции работы с JSON",
318
+ "name": "support.function.bsl",
319
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗаписатьJSON|WriteJSON|\nПрочитатьJSON|ReadJSON|\nПрочитатьДатуJSON|ReadJSONDate|\nЗаписатьДатуJSON|WriteJSONDate\n)\\s*(?=\\())"
320
+ },
321
+ {
322
+ "comment": "Глобальный контекст - Процедуры и функции работы с журналом регистрации",
323
+ "name": "support.function.bsl",
324
+ "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*(?=\\())"
325
+ },
326
+ {
327
+ "comment": "Глобальный контекст - Процедуры и функции работы с универсальными объектами",
328
+ "name": "support.function.bsl",
329
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nЗначениеВДанныеФормы|ValueToFormData|\nДанныеФормыВЗначение|FormDataToValue|\nКопироватьДанныеФормы|CopyFormData|\nУстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|\nПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity\n)\\s*(?=\\())"
330
+ },
331
+ {
332
+ "comment": "Глобальный контекст - Процедуры и функции работы с функциональными опциями",
333
+ "name": "support.function.bsl",
334
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПолучитьФункциональнуюОпцию|GetFunctionalOption|\nПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|\nУстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|\nПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|\nОбновитьИнтерфейс|RefreshInterface\n)\\s*(?=\\())"
335
+ },
336
+ {
337
+ "comment": "Глобальный контекст - Процедуры и функции работы с криптографией",
338
+ "name": "support.function.bsl",
339
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nУстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|\nНачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|\nПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|\nНачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension\n)\\s*(?=\\())"
340
+ },
341
+ {
342
+ "comment": "Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData",
343
+ "name": "support.function.bsl",
344
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nУстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|\nПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent\n)\\s*(?=\\())"
345
+ },
346
+ {
347
+ "comment": "Глобальный контекст - Процедуры и функции работы с двоичными данными",
348
+ "name": "support.function.bsl",
349
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"
350
+ },
351
+ {
352
+ "comment": "Глобальный контекст - Прочие процедуры и функции",
353
+ "name": "support.function.bsl",
354
+ "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*(?=\\())"
355
+ },
356
+ {
357
+ "comment": "Глобальный контекст - События приложения и сеанса",
358
+ "name": "support.function.bsl",
359
+ "match": "(?x)(?i:(?<=[^\\wа-яё\\.]|^)(\nПередНачаломРаботыСистемы|BeforeStart|\nПриНачалеРаботыСистемы|OnStart|\nПередЗавершениемРаботыСистемы|BeforeExit|\nПриЗавершенииРаботыСистемы|OnExit|\nОбработкаВнешнегоСобытия|ExternEventProcessing|\nУстановкаПараметровСеанса|SessionParametersSetting|\nПриИзмененииПараметровЭкрана|OnChangeDisplaySettings\n)\\s*(?=\\())"
360
+ },
361
+ {
362
+ "comment": "Глобальный контекст - Свойства (классы)",
363
+ "name": "support.class.bsl",
364
+ "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а-яё]|$))"
365
+ },
366
+ {
367
+ "comment": "Глобальный контекст - Свойства (переменные)",
368
+ "name": "support.variable.bsl",
369
+ "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а-яё]|$))"
370
+ }
371
+ ]
372
+ },
339
373
  "query": {
340
374
  "begin": "(?i)(?<=[^\\wа-яё\\.]|^)(Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?)(?=[^\\wа-яё\\.]|$)",
341
375
  "beginCaptures": {
@@ -6,11 +6,21 @@
6
6
  "foldingStopMarker": "^\\s*(\\}|// \\}\\}\\}$)",
7
7
  "keyEquivalent": "^~C",
8
8
  "name": "Ceylon",
9
- "patterns": [
10
- {
9
+ "repository": {
10
+ "comments": {
11
11
  "begin": "/\\*",
12
12
  "end": "\\*/",
13
+ "patterns": [
14
+ {
15
+ "include": "#comments"
16
+ }
17
+ ],
13
18
  "name": "comment.multiline.ceylon"
19
+ }
20
+ },
21
+ "patterns": [
22
+ {
23
+ "include": "#comments"
14
24
  },
15
25
  {
16
26
  "match": "//.*$",
@@ -20,27 +30,12 @@
20
30
  "match": "^#!/.*$",
21
31
  "name": "comment.shebang.ceylon"
22
32
  },
23
- {
24
- "begin": "^\\s*(import)",
25
- "end": "\\{",
26
- "beginCaptures": {
27
- "1": {
28
- "name": "keyword.control.ceylon"
29
- }
30
- },
31
- "endCaptures": {
32
- "0": {
33
- "name": "pontuation.import.ceylon"
34
- }
35
- },
36
- "contentName": "variable.parameter.package.ceylon"
37
- },
38
33
  {
39
34
  "match": "\\b(assembly|module|package|import|alias|class|interface|object|given|value|assign|void|function|new|of|extends|satisfies|adapts|abstracts|in|out|return|break|continue|throw|assert|dynamic|if|else|switch|case|for|while|try|catch|finally|then|let|this|outer|super|is|exists|nonempty)\\b",
40
35
  "name": "keyword.control.ceylon"
41
36
  },
42
37
  {
43
- "match": "\\b(doc|by|license|see|throws|tagged|shared|abstract|formal|default|actual|variable|late|native|deprecated|final|sealed|annotation|suppressWarnings)\\b",
38
+ "match": "\\b(doc|by|license|see|throws|tagged|shared|abstract|formal|default|actual|variable|late|native|deprecated|final|sealed|annotation|suppressWarnings|static)\\b",
44
39
  "name": "keyword.other.ceylon"
45
40
  },
46
41
  {
@@ -52,9 +47,36 @@
52
47
  "name": "variable.other.ceylon"
53
48
  },
54
49
  {
55
- "begin": "(\"\"\"|\"|')",
56
- "end": "\\1",
57
- "name": "string.ceylon"
50
+ "begin": "\"\"\"",
51
+ "end": "\"\"\"",
52
+ "name": "string.verbatim.ceylon"
53
+ },
54
+ {
55
+ "begin": "'",
56
+ "end": "'",
57
+ "name": "string.ceylon",
58
+ "patterns": [
59
+ {
60
+ "match": "\\\\.",
61
+ "name": "constant.character.escape.ceylon"
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "begin": "\"",
67
+ "end": "\"|(``)",
68
+ "name": "string.template.head.ceylon",
69
+ "patterns": [
70
+ {
71
+ "match": "\\\\.",
72
+ "name": "constant.character.escape.ceylon"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "begin": "``",
78
+ "end": "\"|``",
79
+ "name": "string.template.midOrtail.ceylon"
58
80
  },
59
81
  {
60
82
  "match": "\\$(([01]+(_[01]+)+)|[01]+)",