github-linguist 4.8.8 → 4.8.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/hint.haskell.json +1123 -0
  3. data/grammars/hint.message.haskell.json +1147 -0
  4. data/grammars/hint.type.haskell.json +1120 -0
  5. data/grammars/source.asn.json +59 -0
  6. data/grammars/source.blitzmax.json +0 -2
  7. data/grammars/source.bsl.json +372 -0
  8. data/grammars/source.c++.json +67 -0
  9. data/grammars/source.c2hs.json +27 -0
  10. data/grammars/source.cabal.json +66 -0
  11. data/grammars/source.coffee.json +6 -5
  12. data/grammars/source.crystal.json +0 -11
  13. data/grammars/source.csound-score.json +3 -3
  14. data/grammars/source.csound.json +51 -15
  15. data/grammars/source.css.json +1 -1
  16. data/grammars/source.css.less.json +9 -5
  17. data/grammars/source.cython.json +42 -193
  18. data/grammars/source.d.json +7 -7
  19. data/grammars/source.elixir.json +2 -2
  20. data/grammars/source.forth.json +0 -2
  21. data/grammars/source.graphql.json +8 -2
  22. data/grammars/source.haskell.json +1089 -323
  23. data/grammars/source.hsc2hs.json +12 -0
  24. data/grammars/source.ideal.json +356 -0
  25. data/grammars/source.java.json +3 -0
  26. data/grammars/source.js.json +262 -131
  27. data/grammars/source.js.jsx.json +848 -256
  28. data/grammars/source.lsl.json +51 -103
  29. data/grammars/source.objc.json +1 -1
  30. data/grammars/source.parrot.pir.json +49 -15
  31. data/grammars/source.pic.json +868 -0
  32. data/grammars/source.purescript.json +114 -90
  33. data/grammars/source.python.json +11 -9
  34. data/grammars/source.regexp.babel.json +1 -1
  35. data/grammars/source.renpy.json +7 -7
  36. data/grammars/source.rexx.json +59 -0
  37. data/grammars/source.sas.json +8 -75
  38. data/grammars/source.sdbl.json +97 -0
  39. data/grammars/source.shell.json +1 -0
  40. data/grammars/source.smali.json +2 -2
  41. data/grammars/source.sqf.json +11 -11
  42. data/grammars/source.stan.json +60 -25
  43. data/grammars/source.tla.json +18 -6
  44. data/grammars/source.toc.json +5 -1
  45. data/grammars/source.ts.json +134 -31
  46. data/grammars/source.tsx.json +134 -31
  47. data/grammars/source.vhdl.json +150 -117
  48. data/grammars/source.viml.json +4 -4
  49. data/grammars/source.xquery.json +23 -5
  50. data/grammars/source.yaml.json +35 -19
  51. data/grammars/text.html.handlebars.json +2 -2
  52. data/grammars/text.html.php.blade.json +1 -1
  53. data/grammars/text.html.twig.json +1 -4
  54. data/grammars/text.html.vue.json +41 -1
  55. data/grammars/text.restructuredtext.json +56 -1
  56. data/grammars/text.roff.json +5089 -0
  57. data/grammars/text.runoff.json +321 -0
  58. data/grammars/text.slim.json +126 -105
  59. data/grammars/text.tex.latex.haskell.json +1335 -21
  60. data/lib/linguist/heuristics.rb +8 -0
  61. data/lib/linguist/languages.json +1 -1
  62. data/lib/linguist/languages.yml +58 -3
  63. data/lib/linguist/samples.json +5257 -76
  64. data/lib/linguist/version.rb +1 -1
  65. metadata +16 -4
  66. data/grammars/source.man.json +0 -53
  67. data/grammars/text.groff.json +0 -113
@@ -0,0 +1,59 @@
1
+ {
2
+ "fileTypes": [
3
+ "asn",
4
+ "asn1"
5
+ ],
6
+ "name": "Abstract Syntax Notation",
7
+ "patterns": [
8
+ {
9
+ "match": "--.*$",
10
+ "name": "comment.line.asn"
11
+ },
12
+ {
13
+ "match": "::=",
14
+ "name": "keyword.operator.asn"
15
+ },
16
+ {
17
+ "match": "\\|",
18
+ "name": "keyword.operator.asn"
19
+ },
20
+ {
21
+ "match": "\\.\\.",
22
+ "name": "keyword.operator.asn"
23
+ },
24
+ {
25
+ "match": "(SEQUENCE|SET|CLASS|CHOICE|OF)",
26
+ "name": "storage.type.asn"
27
+ },
28
+ {
29
+ "match": "(BOOLEAN|INTEGER|ENUMERATED|REAL|(BIT|OCTET) STRING|NULL|OBJECT IDENTIFIER|ANY|DATE|DATE-TIME|(Numeric|Printable|Teletex|IA5|Visible|Graphic|General)String|(Generalized|UTC)Time|EXTERNAL|Object Descriptor)",
30
+ "name": "variable.other.asn"
31
+ },
32
+ {
33
+ "match": "[-+]?[0-9]+|[-+]?\\.[0-9]+",
34
+ "name": "constant.numeric.float.asn"
35
+ },
36
+ {
37
+ "begin": "\"",
38
+ "end": "\"",
39
+ "name": "string.quoted.double.turing"
40
+ },
41
+ {
42
+ "match": "OPTIONAL|SIZE|\\^ FROM",
43
+ "name": "storage.modifier.asn"
44
+ },
45
+ {
46
+ "match": "DEFINITIONS|AUTOMATIC TAGS|BEGIN|END",
47
+ "name": "keyword.control.asn"
48
+ },
49
+ {
50
+ "match": "IMPORTS|FROM",
51
+ "name": "support.constant.asn"
52
+ },
53
+ {
54
+ "match": "(IM|EX)PLICIT",
55
+ "name": "constant.language.asn"
56
+ }
57
+ ],
58
+ "scopeName": "source.asn"
59
+ }
@@ -2,8 +2,6 @@
2
2
  "fileTypes": [
3
3
  "bmx"
4
4
  ],
5
- "foldingStartMarker": "(?xi)\n\t^\\s*(\n\t\t(?<!end|end\\s)(function|method|type|select|while|extern|try|if|rem) |\n\t\tfor | repeat | '\\#region\n\t)\\b",
6
- "foldingStopMarker": "(?xi)\n\t^\\s*(\n\t# end <keyword>\n\t\tend\\s*(function|method|type|select|while|extern|if|try|rem) |\n\t\twend | until | forever | next | '\\#end\\s?region\n\t)\\b",
7
5
  "keyEquivalent": "^~B",
8
6
  "name": "BlitzMax",
9
7
  "patterns": [
@@ -0,0 +1,372 @@
1
+ {
2
+ "name": "1C (BSL)",
3
+ "scopeName": "source.bsl",
4
+ "fileTypes": [
5
+ "bsl",
6
+ "os"
7
+ ],
8
+ "uuid": "cf0633ff-beee-424a-a2f7-3dce4093e139",
9
+ "patterns": [
10
+ {
11
+ "include": "#basic"
12
+ },
13
+ {
14
+ "comment": "Proc and function definition",
15
+ "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*\\()",
16
+ "beginCaptures": {
17
+ "1": {
18
+ "name": "storage.type.bsl"
19
+ },
20
+ "2": {
21
+ "name": "entity.name.function.bsl"
22
+ }
23
+ },
24
+ "end": "(?i:\\)\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)",
25
+ "endCaptures": {
26
+ "1": {
27
+ "name": "storage.modifier.bsl"
28
+ }
29
+ },
30
+ "patterns": [
31
+ {
32
+ "include": "#basic"
33
+ },
34
+ {
35
+ "name": "keyword.operator.assignment.bsl",
36
+ "match": "(=)"
37
+ },
38
+ {
39
+ "name": "storage.modifier.bsl",
40
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Знач|Val)(?=[^\\wа-яё\\.]|$))"
41
+ },
42
+ {
43
+ "name": "invalid.illegal.bsl",
44
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
45
+ },
46
+ {
47
+ "name": "invalid.illegal.bsl",
48
+ "match": "(?<=[^\\wа-яё\\.]|^)((?<==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"
49
+ },
50
+ {
51
+ "name": "variable.parameter.bsl",
52
+ "match": "(?i:[a-zа-яё0-9_]+)"
53
+ }
54
+ ]
55
+ },
56
+ {
57
+ "comment": "Define of variable",
58
+ "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Перем|Var)\\s+([a-zа-яё0-9_]+)\\s*)",
59
+ "beginCaptures": {
60
+ "1": {
61
+ "name": "storage.type.var.bsl"
62
+ },
63
+ "2": {
64
+ "name": "variable.bsl"
65
+ }
66
+ },
67
+ "end": "(?i:(Экспорт|Export)?)",
68
+ "endCaptures": {
69
+ "1": {
70
+ "name": "storage.modifier.bsl"
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "comment": "Variable assignment",
76
+ "name": "meta.var-single-variable.bsl",
77
+ "begin": "(?i:(?<=;|^)\\s*([\\wа-яё]+))\\s*(=)",
78
+ "beginCaptures": {
79
+ "1": {
80
+ "name": "variable.assignment.bsl"
81
+ },
82
+ "2": {
83
+ "name": "keyword.operator.assignment.bsl"
84
+ }
85
+ },
86
+ "end": "(?=;)",
87
+ "patterns": [
88
+ {
89
+ "include": "$self"
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "name": "storage.type.bsl",
95
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(КонецПроцедуры|EndProcedure|КонецФункции|EndFunction)(?=[^\\wа-яё\\.]|$))"
96
+ },
97
+ {
98
+ "name": "keyword.control.import.bsl",
99
+ "match": "(?i)#(Использовать|Use)(?=[^\\wа-яё\\.]|$)"
100
+ },
101
+ {
102
+ "name": "keyword.control.bsl",
103
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Прервать|Break|Продолжить|Continue|Возврат|Return)(?=[^\\wа-яё\\.]|$))"
104
+ },
105
+ {
106
+ "name": "keyword.control.conditional.bsl",
107
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Если|If|Иначе|Else|ИначеЕсли|ElsIf|Тогда|Then|КонецЕсли|EndIf)(?=[^\\wа-яё\\.]|$))"
108
+ },
109
+ {
110
+ "name": "keyword.control.exception.bsl",
111
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Попытка|Try|Исключение|Except|КонецПопытки|EndTry|ВызватьИсключение|Raise)(?=[^\\wа-яё\\.]|$))"
112
+ },
113
+ {
114
+ "name": "keyword.control.repeat.bsl",
115
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Пока|While|(Для|For)(\\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\\wа-яё\\.]|$))"
116
+ },
117
+ {
118
+ "name": "keyword.operator.logical.bsl",
119
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"
120
+ },
121
+ {
122
+ "name": "keyword.operator.comparison.bsl",
123
+ "match": "<=|>=|=|<|>"
124
+ },
125
+ {
126
+ "name": "keyword.operator.arithmetic.bsl",
127
+ "match": "(\\+|-|\\*|/|%)"
128
+ },
129
+ {
130
+ "name": "keyword.operator.bsl",
131
+ "match": "(;|\\?)"
132
+ },
133
+ {
134
+ "name": "support.function.bsl",
135
+ "comment": "Functions w/o brackets",
136
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"
137
+ },
138
+ {
139
+ "comment": "Глобальный контекст - функции работы со значениями типа Строка",
140
+ "name": "support.function.bsl",
141
+ "match": "(?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*(?=\\())"
142
+ },
143
+ {
144
+ "comment": "Глобальный контекст - функции работы со значениями типа Число",
145
+ "name": "support.function.bsl",
146
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Цел|Int|Окр|Round|ACos|ACos|ASin|ASin|ATan|ATan|Cos|Cos|Exp|Exp|Log|Log|Log10|Log10|Pow|Pow|Sin|Sin|Sqrt|Sqrt|Tan|Tan)\\s*(?=\\())"
147
+ },
148
+ {
149
+ "comment": "Глобальный контекст - функции работы со значениями типа Дата",
150
+ "name": "support.function.bsl",
151
+ "match": "(?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*(?=\\())"
152
+ },
153
+ {
154
+ "comment": "Глобальный контекст - функции работы со значениями типа Тип",
155
+ "name": "support.function.bsl",
156
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"
157
+ },
158
+ {
159
+ "comment": "Глобальный контекст - функции преобразования значений",
160
+ "name": "support.function.bsl",
161
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"
162
+ },
163
+ {
164
+ "comment": "Глобальный контекст - процедуры и функции интерактивной работы",
165
+ "name": "support.function.bsl",
166
+ "match": "(?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*(?=\\())"
167
+ },
168
+ {
169
+ "comment": "Глобальный контекст - функции для вызова диалога ввода данных",
170
+ "name": "support.function.bsl",
171
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПоказатьВводЗначения|ShowInputValue|ВвестиЗначение|InputValue|ПоказатьВводЧисла|ShowInputNumber|ВвестиЧисло|InputNumber|ПоказатьВводСтроки|ShowInputString|ВвестиСтроку|InputString|ПоказатьВводДаты|ShowInputDate|ВвестиДату|InputDate)\\s*(?=\\())"
172
+ },
173
+ {
174
+ "comment": "Глобальный контекст - функции форматирования",
175
+ "name": "support.function.bsl",
176
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Формат|Format|ЧислоПрописью|NumberInWords|НСтр|NStr|ПредставлениеПериода|PeriodPresentation|СтрШаблон|StrTemplate)\\s*(?=\\())"
177
+ },
178
+ {
179
+ "comment": "Глобальный контекст - функции обращения к конфигурации",
180
+ "name": "support.function.bsl",
181
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПолучитьОбщийМакет|GetCommonTemplate|ПолучитьОбщуюФорму|GetCommonForm|ПредопределенноеЗначение|PredefinedValue|ПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName)\\s*(?=\\())"
182
+ },
183
+ {
184
+ "comment": "Глобальный контекст - процедуры и функции сеанса работы",
185
+ "name": "support.function.bsl",
186
+ "match": "(?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)\\s*(?=\\())"
187
+ },
188
+ {
189
+ "comment": "Глобальный контекст - процедуры и функции сохранения значений",
190
+ "name": "support.function.bsl",
191
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ЗначениеВСтрокуВнутр|ValueToStringInternal|ЗначениеИзСтрокиВнутр|ValueFromStringInternal|ЗначениеВФайл|ValueToFile|ЗначениеИзФайла|ValueFromFile)\\s*(?=\\())"
192
+ },
193
+ {
194
+ "comment": "Глобальный контекст - Процедуры и функции работы с операционной системой",
195
+ "name": "support.function.bsl",
196
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(КомандаСистемы|System|ЗапуститьПриложение|RunApp|ПолучитьCOMОбъект|GetCOMObject|ПользователиОС|OSUsers|НачатьЗапускПриложения|BeginRunningApplication)\\s*(?=\\())"
197
+ },
198
+ {
199
+ "comment": "Глобальный контекст - Процедуры и функции работы с внешними компонентами",
200
+ "name": "support.function.bsl",
201
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПодключитьВнешнююКомпоненту|AttachAddIn|НачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|УстановитьВнешнююКомпоненту|InstallAddIn|НачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn)\\s*(?=\\())"
202
+ },
203
+ {
204
+ "comment": "Глобальный контекст - Процедуры и функции работы с файлами",
205
+ "name": "support.function.bsl",
206
+ "match": "(?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)\\s*(?=\\())"
207
+ },
208
+ {
209
+ "comment": "Глобальный контекст - Процедуры и функции работы с информационной базой",
210
+ "name": "support.function.bsl",
211
+ "match": "(?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)\\s*(?=\\())"
212
+ },
213
+ {
214
+ "comment": "Глобальный контекст - Процедуры и функции работы с данными информационной базы",
215
+ "name": "support.function.bsl",
216
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НайтиПомеченныеНаУдаление|FindMarkedForDeletion|НайтиПоСсылкам|FindByRef|УдалитьОбъекты|DeleteObjects|УстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|ПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData)\\s*(?=\\())"
217
+ },
218
+ {
219
+ "comment": "Глобальный контекст - Процедуры и функции работы с XML",
220
+ "name": "support.function.bsl",
221
+ "match": "(?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*(?=\\())"
222
+ },
223
+ {
224
+ "comment": "Глобальный контекст - Процедуры и функции работы с JSON",
225
+ "name": "support.function.bsl",
226
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ЗаписатьJSON|WriteJSON|ПрочитатьJSON|ReadJSON|ПрочитатьДатуJSON|ReadJSONDate|ЗаписатьДатуJSON|WriteJSONDate)\\s*(?=\\())"
227
+ },
228
+ {
229
+ "comment": "Глобальный контекст - Процедуры и функции работы с журналом регистрации",
230
+ "name": "support.function.bsl",
231
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ЗаписьЖурналаРегистрации|WriteLogEvent|ПолучитьИспользованиеЖурналаРегистрации|GetEventLogUsing|УстановитьИспользованиеЖурналаРегистрации|SetEventLogUsing|ПредставлениеСобытияЖурналаРегистрации|EventLogEventPresentation|ВыгрузитьЖурналРегистрации|UnloadEventLog|ПолучитьЗначенияОтбораЖурналаРегистрации|GetEventLogFilterValues|УстановитьИспользованиеСобытияЖурналаРегистрации|SetEventLogEventUse|ПолучитьИспользованиеСобытияЖурналаРегистрации|GetEventLogEventUse|СкопироватьЖурналРегистрации|CopyEventLog|ОчиститьЖурналРегистрации|ClearEventLog)\\s*(?=\\())"
232
+ },
233
+ {
234
+ "comment": "Глобальный контекст - Процедуры и функции работы с универсальными объектами",
235
+ "name": "support.function.bsl",
236
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ЗначениеВДанныеФормы|ValueToFormData|ДанныеФормыВЗначение|FormDataToValue|КопироватьДанныеФормы|CopyFormData|УстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|ПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity)\\s*(?=\\())"
237
+ },
238
+ {
239
+ "comment": "Глобальный контекст - Процедуры и функции работы с функциональными опциями",
240
+ "name": "support.function.bsl",
241
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПолучитьФункциональнуюОпцию|GetFunctionalOption|ПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|УстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|ПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|ОбновитьИнтерфейс|RefreshInterface)\\s*(?=\\())"
242
+ },
243
+ {
244
+ "comment": "Глобальный контекст - Процедуры и функции работы с криптографией",
245
+ "name": "support.function.bsl",
246
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(УстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|НачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|ПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|НачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension)\\s*(?=\\())"
247
+ },
248
+ {
249
+ "comment": "Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData",
250
+ "name": "support.function.bsl",
251
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(УстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|ПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent)\\s*(?=\\())"
252
+ },
253
+ {
254
+ "comment": "Глобальный контекст - Прочие процедуры и функции",
255
+ "name": "support.function.bsl",
256
+ "match": "(?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)\\s*(?=\\())"
257
+ },
258
+ {
259
+ "comment": "Глобальный контекст - События приложения и сеанса",
260
+ "name": "support.function.bsl",
261
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПередНачаломРаботыСистемы|BeforeStart|ПриНачалеРаботыСистемы|OnStart|ПередЗавершениемРаботыСистемы|BeforeExit|ПриЗавершенииРаботыСистемы|OnExit|ОбработкаВнешнегоСобытия|ExternEventProcessing|УстановкаПараметровСеанса|SessionParametersSetting|ПриИзмененииПараметровЭкрана|OnChangeDisplaySettings)\\s*(?=\\())"
262
+ },
263
+ {
264
+ "comment": "Глобальный контекст - Свойства (классы)",
265
+ "name": "support.class.bsl",
266
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(WSСсылки|WSReferences|БиблиотекаКартинок|PictureLib|БиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|БиблиотекаСтилей|StyleLib|БизнесПроцессы|BusinessProcesses|ВнешниеИсточникиДанных|ExternalDataSources|ВнешниеОбработки|ExternalDataProcessors|ВнешниеОтчеты|ExternalReports|Документы|Documents|ДоставляемыеУведомления|DeliverableNotifications|ЖурналыДокументов|DocumentJournals|Задачи|Tasks|ИспользованиеРабочейДаты|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|СредстваПочты|MailTools|СредстваТелефонии|TelephonyTools|ФабрикаXDTO|XDTOFactory|ФоновыеЗадания|BackgroundJobs|ХранилищаНастроек|SettingsStorages|ВстроенныеПокупки|InAppPurchases|ОтображениеРекламы|AdRepresentationПанельЗадачОС|OSTaskbar|ПроверкаВстроенныхПокупок|InAppPurchasesValidation)(?=[^\\wа-яё]|$))"
267
+ },
268
+ {
269
+ "comment": "Глобальный контекст - Свойства (переменные)",
270
+ "name": "support.variable.bsl",
271
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ГлавныйИнтерфейс|MainInterface|ГлавныйСтиль|MainStyle|ПараметрЗапуска|LaunchParameter|РабочаяДата|WorkingDate|ХранилищеВариантовОтчетов|ReportsVariantsStorage|ХранилищеНастроекДанныхФорм|FormDataSettingsStorage|ХранилищеОбщихНастроек|CommonSettingsStorage|ХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|ХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|ХранилищеСистемныхНастроек|SystemSettingsStorage)(?=[^\\wа-яё]|$))"
272
+ },
273
+ {
274
+ "name": "storage.modifier.bsl",
275
+ "match": "(?i:&(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"
276
+ },
277
+ {
278
+ "name": "keyword.other.preprocessor.bsl",
279
+ "match": "(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)"
280
+ },
281
+ {
282
+ "comment": "Region start",
283
+ "begin": "(?i)(#(Область|Region))(\\s+([\\wа-яё]+))?",
284
+ "beginCaptures": {
285
+ "1": {
286
+ "name": "keyword.other.section.bsl"
287
+ },
288
+ "4": {
289
+ "name": "entity.name.section.bsl"
290
+ }
291
+ },
292
+ "end": "$"
293
+ },
294
+ {
295
+ "comment": "Region end",
296
+ "name": "keyword.other.section.bsl",
297
+ "match": "(?i)#(КонецОбласти|EndRegion)"
298
+ }
299
+ ],
300
+ "repository": {
301
+ "query": {
302
+ "begin": "(?i)(?<=[^\\wа-яё\\.]|^)(Выбрать|Select(\\s+Разрешенные|Allowed)?(\\s+Различные|Distinct)?(\\s+Первые|Top)?)(?=[^\\wа-яё\\.]|$)",
303
+ "beginCaptures": {
304
+ "1": {
305
+ "name": "keyword.control.sdbl"
306
+ }
307
+ },
308
+ "end": "(?=\\\"[^\\\"])",
309
+ "patterns": [
310
+ {
311
+ "name": "comment.line.double-slash.bsl",
312
+ "begin": "^\\s*//",
313
+ "end": "$"
314
+ },
315
+ {
316
+ "name": "comment.line.double-slash.sdbl",
317
+ "match": "(//((\\\"\\\")|[^\\\"])*)"
318
+ },
319
+ {
320
+ "name": "string.quoted.double.sdbl",
321
+ "match": "\\\"\\\"[^\"]*\\\"\\\""
322
+ },
323
+ {
324
+ "include": "source.sdbl"
325
+ }
326
+ ]
327
+ },
328
+ "basic": {
329
+ "patterns": [
330
+ {
331
+ "name": "comment.line.double-slash.bsl",
332
+ "begin": "//",
333
+ "end": "$"
334
+ },
335
+ {
336
+ "name": "string.quoted.double.bsl",
337
+ "begin": "\\\"",
338
+ "end": "\\\"(?![\\\"])",
339
+ "patterns": [
340
+ {
341
+ "include": "#query"
342
+ },
343
+ {
344
+ "name": "constant.character.escape.bsl",
345
+ "match": "\\\"\\\""
346
+ },
347
+ {
348
+ "name": "comment.line.double-slash.bsl",
349
+ "match": "(^\\s*//.*$)"
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "name": "constant.language.bsl",
355
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\wа-яё\\.]|$))"
356
+ },
357
+ {
358
+ "name": "constant.numeric.bsl",
359
+ "match": "\\b((\\h{8}-(\\h{4}-){3}\\h{12})|\\d+\\.?\\d*)\\b"
360
+ },
361
+ {
362
+ "name": "constant.other.date.bsl",
363
+ "match": "\\'((\\d{4}[^\\d\\']*\\d{2}[^\\d\\']*\\d{2})([^\\d\\']*\\d{2}[^\\d\\']*\\d{2}([^\\d\\']*\\d{2})?)?)\\'"
364
+ },
365
+ {
366
+ "name": "keyword.operator.bsl",
367
+ "match": "(,)"
368
+ }
369
+ ]
370
+ }
371
+ }
372
+ }
@@ -19,6 +19,9 @@
19
19
  {
20
20
  "include": "#special_block"
21
21
  },
22
+ {
23
+ "include": "#strings"
24
+ },
22
25
  {
23
26
  "include": "source.c"
24
27
  },
@@ -357,6 +360,70 @@
357
360
  ]
358
361
  }
359
362
  ]
363
+ },
364
+ "strings": {
365
+ "patterns": [
366
+ {
367
+ "begin": "(u|u8|U|L)?\"",
368
+ "beginCaptures": {
369
+ "0": {
370
+ "name": "punctuation.definition.string.begin.c++"
371
+ },
372
+ "1": {
373
+ "name": "meta.encoding.c++"
374
+ }
375
+ },
376
+ "end": "\"",
377
+ "endCaptures": {
378
+ "0": {
379
+ "name": "punctuation.definition.string.end.c++"
380
+ }
381
+ },
382
+ "name": "string.quoted.double.c++",
383
+ "patterns": [
384
+ {
385
+ "match": "\\\\u\\h{4}|\\\\U\\h{8}",
386
+ "name": "constant.character.escape.c++"
387
+ },
388
+ {
389
+ "match": "\\\\['\"?\\\\abfnrtv]",
390
+ "name": "constant.character.escape.c++"
391
+ },
392
+ {
393
+ "match": "\\\\[0-7]{1,3}",
394
+ "name": "constant.character.escape.c++"
395
+ },
396
+ {
397
+ "match": "\\\\x\\h+",
398
+ "name": "constant.character.escape.c++"
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "begin": "(u|u8|U|L)?R\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
404
+ "beginCaptures": {
405
+ "0": {
406
+ "name": "punctuation.definition.string.begin.c++"
407
+ },
408
+ "1": {
409
+ "name": "meta.encoding.c++"
410
+ },
411
+ "3": {
412
+ "name": "invalid.illegal.delimiter-too-long.c++"
413
+ }
414
+ },
415
+ "end": "\\)\\2(\\3)\"",
416
+ "endCaptures": {
417
+ "0": {
418
+ "name": "punctuation.definition.string.end.c++"
419
+ },
420
+ "1": {
421
+ "name": "invalid.illegal.delimiter-too-long.c++"
422
+ }
423
+ },
424
+ "name": "string.quoted.double.raw.c++"
425
+ }
426
+ ]
360
427
  }
361
428
  },
362
429
  "scopeName": "source.c++",