github-linguist 4.8.8 → 4.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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++",