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.
- checksums.yaml +4 -4
- data/grammars/hint.haskell.json +1123 -0
- data/grammars/hint.message.haskell.json +1147 -0
- data/grammars/hint.type.haskell.json +1120 -0
- data/grammars/source.asn.json +59 -0
- data/grammars/source.blitzmax.json +0 -2
- data/grammars/source.bsl.json +372 -0
- data/grammars/source.c++.json +67 -0
- data/grammars/source.c2hs.json +27 -0
- data/grammars/source.cabal.json +66 -0
- data/grammars/source.coffee.json +6 -5
- data/grammars/source.crystal.json +0 -11
- data/grammars/source.csound-score.json +3 -3
- data/grammars/source.csound.json +51 -15
- data/grammars/source.css.json +1 -1
- data/grammars/source.css.less.json +9 -5
- data/grammars/source.cython.json +42 -193
- data/grammars/source.d.json +7 -7
- data/grammars/source.elixir.json +2 -2
- data/grammars/source.forth.json +0 -2
- data/grammars/source.graphql.json +8 -2
- data/grammars/source.haskell.json +1089 -323
- data/grammars/source.hsc2hs.json +12 -0
- data/grammars/source.ideal.json +356 -0
- data/grammars/source.java.json +3 -0
- data/grammars/source.js.json +262 -131
- data/grammars/source.js.jsx.json +848 -256
- data/grammars/source.lsl.json +51 -103
- data/grammars/source.objc.json +1 -1
- data/grammars/source.parrot.pir.json +49 -15
- data/grammars/source.pic.json +868 -0
- data/grammars/source.purescript.json +114 -90
- data/grammars/source.python.json +11 -9
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.renpy.json +7 -7
- data/grammars/source.rexx.json +59 -0
- data/grammars/source.sas.json +8 -75
- data/grammars/source.sdbl.json +97 -0
- data/grammars/source.shell.json +1 -0
- data/grammars/source.smali.json +2 -2
- data/grammars/source.sqf.json +11 -11
- data/grammars/source.stan.json +60 -25
- data/grammars/source.tla.json +18 -6
- data/grammars/source.toc.json +5 -1
- data/grammars/source.ts.json +134 -31
- data/grammars/source.tsx.json +134 -31
- data/grammars/source.vhdl.json +150 -117
- data/grammars/source.viml.json +4 -4
- data/grammars/source.xquery.json +23 -5
- data/grammars/source.yaml.json +35 -19
- data/grammars/text.html.handlebars.json +2 -2
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.twig.json +1 -4
- data/grammars/text.html.vue.json +41 -1
- data/grammars/text.restructuredtext.json +56 -1
- data/grammars/text.roff.json +5089 -0
- data/grammars/text.runoff.json +321 -0
- data/grammars/text.slim.json +126 -105
- data/grammars/text.tex.latex.haskell.json +1335 -21
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +58 -3
- data/lib/linguist/samples.json +5257 -76
- data/lib/linguist/version.rb +1 -1
- metadata +16 -4
- data/grammars/source.man.json +0 -53
- 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
|
+
}
|
data/grammars/source.c++.json
CHANGED
@@ -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++",
|