@hpcc-js/markdown-it-plugins 1.5.10 → 1.5.12

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.
@@ -1,348 +1,348 @@
1
- {
2
- "scopeName": "source.ecl",
3
- "fileTypes": [
4
- "ecl"
5
- ],
6
- "name": "ECL",
7
- "patterns": [
8
- {
9
- "include": "#expression"
10
- },
11
- {
12
- "name": "support.class.ecl",
13
- "match": "\\b(?i:(std).(file|date|str|math|metaphone|metaphone3|uni|audit|blas|system.(debug|email|job|log|thorlib|util|workunit)))\\b"
14
- }
15
- ],
16
- "repository": {
17
- "expression": {
18
- "name": "meta.expression.ecl",
19
- "patterns": [
20
- {
21
- "include": "#comment"
22
- },
23
- {
24
- "include": "#special-structures"
25
- },
26
- {
27
- "include": "#embedded-single"
28
- },
29
- {
30
- "include": "#embedded-any"
31
- },
32
- {
33
- "include": "#embedded-cpp"
34
- },
35
- {
36
- "include": "#function-call"
37
- },
38
- {
39
- "include": "#operators"
40
- },
41
- {
42
- "include": "#logicals"
43
- },
44
- {
45
- "include": "#types"
46
- },
47
- {
48
- "include": "#keywords-pound"
49
- },
50
- {
51
- "include": "#keywords-workflow"
52
- },
53
- {
54
- "include": "#keywords"
55
- },
56
- {
57
- "include": "#digital-signature"
58
- },
59
- {
60
- "include": "#string"
61
- },
62
- {
63
- "include": "#literal"
64
- }
65
- ]
66
- },
67
- "operators": {
68
- "name": "keyword.operator.ecl",
69
- "match": "(>|>=|<|<=|<>|/|\\|+|-|=)"
70
- },
71
- "logicals": {
72
- "match": "\\b(?i:(and|in|not|or))\\b",
73
- "name": "keyword.other.ecl"
74
- },
75
- "special-structures": {
76
- "match": "\\b(?i:(endmacro|function|functionmacro|interface|macro|module|record|transform))\\b",
77
- "name": "entity.name.function.ecl"
78
- },
79
- "types": {
80
- "name": "entity.name.type.ecl",
81
- "patterns": [
82
- {
83
- "include": "#real"
84
- },
85
- {
86
- "include": "#decimal"
87
- },
88
- {
89
- "include": "#unicode"
90
- },
91
- {
92
- "include": "#integer"
93
- },
94
- {
95
- "include": "#type-number"
96
- },
97
- {
98
- "include": "#type-rest"
99
- }
100
- ]
101
- },
102
- "real": {
103
- "name": "entity.name.type.ecl",
104
- "match": "\\b(?i)real(?-i)(4|8)\\b"
105
- },
106
- "decimal": {
107
- "name": "entity.name.type.ecl",
108
- "match": "\\b(?i)(u?)decimal(\\d+(_\\d+)?)\\b"
109
- },
110
- "unicode": {
111
- "name": "entity.name.type.ecl",
112
- "match": "\\b(?i:(d|u|q|v|x))(8)?(?='.*')"
113
- },
114
- "integer": {
115
- "name": "entity.name.type.ecl",
116
- "match": "\\b(?i:(integer|unsigned))[1-8]\\b"
117
- },
118
- "type-number": {
119
- "name": "entity.name.type.ecl",
120
- "match": "\\b(?i:(data|string|qstring|varstring|varunicode|unicode|utf8))\\d+\\b"
121
- },
122
- "type-rest": {
123
- "name": "entity.name.type.ecl",
124
- "match": "\\b(?i:(ascii|big_endian|boolean|data|decimal|ebcdic|grouped|integer|linkcounted|pattern|qstring|real|rule|set of|streamed|string|token|udecimal|unicode|utf8|unsigned|varstring|varunicode))\\b"
125
- },
126
- "function-call": {
127
- "match": "([#A-Za-z_0-9]+)\\s*(\\()",
128
- "captures": {
129
- "1": {
130
- "patterns": [
131
- {
132
- "include": "#functions"
133
- },
134
- {
135
- "include": "#functions-pound"
136
- },
137
- {
138
- "include": "#functions-hash"
139
- },
140
- {
141
- "include": "#functions-hash2"
142
- },
143
- {
144
- "include": "#functions-action"
145
- },
146
- {
147
- "include": "#functions-workflow"
148
- }
149
- ]
150
- }
151
- }
152
- },
153
- "functions": {
154
- "name": "entity.name.function.ecl",
155
- "match": "\\b(?i:(abs|acos|aggregate|allnodes|apply|apply|ascii|asin|assert|asstring|atan|atan2|ave|build|buildindex|case|catch|choose|choosen|choosesets|clustersize|combine|correlation|cos|cosh|count|covariance|cron|dataset|dedup|define|denormalize|deprecated|dictionary|distribute|distributed|distribution|ebcdic|enth|evaluate|evaluate|event|eventextra|eventname|exists|exp|fail|failcode|failmessage|fetch|fromunicode|fromxml|getenv|getisvalid|graph|group|hashcrc|hashmd5|having|httpcall|httpheader|if|iff|index|interface|intformat|isvalid|iterate|join|keydiff|keypatch|keyunicode|length|library|limit|ln|loadxml|local|log|loop|map|matched|matchlength|matchposition|matchtext|matchunicode|max|merge|mergejoin|min|nofold|nolocal|nonempty|normalize|nothor|notify|opt|output|parse|pattern|penalty|pipe|power|preload|process|project|pull|random|range|rank|ranked|realformat|record|recordof|regexfind|regexfindset|regexreplace|regroup|rejected|rollup|round|roundup|row|rowdiff|rule|sample|sequential|sin|sinh|sizeof|soapcall|sort|sorted|sqrt|stepped|stored|sum|table|tan|tanh|thisnode|topn|tounicode|toxml|transfer|transform|trim|truncate|typeof|ungroup|unicodeorder|use|validate|variance|wait|when|which|xmldecode|xmlencode|xmltext|xmlunicode))\\b"
156
- },
157
- "functions-pound": {
158
- "name": "keyword.other.ecl",
159
- "match": "#(?i:(append|constant|declare|demangle|end|else|elseif|error|expand|export|exportXML|for|getdatatype|if|inmodule|mangle|onwarning|option|set|stored|text|uniquename|warning|webservice|workunit))\\b"
160
- },
161
- "functions-hash": {
162
- "name": "entity.name.function.ecl",
163
- "match": "\\b(?i:hash(32|64|crc)?)\\b"
164
- },
165
- "functions-hash2": {
166
- "name": "entity.name.function.ecl",
167
- "match": "\\b(?i:hashmd(5))\\b"
168
- },
169
- "functions-action": {
170
- "name": "keyword.other.ecl",
171
- "match": "\\b(?i:(algorithm|cluster|escape|encrypt|expire|heading|keyed|maxlength|module|named|ordered|parallel|quote|terminator|threshold|timelimit|timeout|separator|set|skew|virtual|wild))\\b"
172
- },
173
- "functions-workflow": {
174
- "name": "keyword.control.ecl",
175
- "match": "\\b(?i:(checkpoint|deprecated|failmessage|failure|global|onwarning|persist|priority|recovery|stored|success|when))\\b"
176
- },
177
- "keywords-workflow": {
178
- "name": "keyword.control.ecl",
179
- "match": "\\b(?i:(global|independent|once))\\b"
180
- },
181
- "keywords-pound": {
182
- "name": "keyword.other.ecl",
183
- "match": "#(?i:(break|else|end|loop))\\b"
184
- },
185
- "keywords": {
186
- "name": "keyword.other.ecl",
187
- "match": "\\b(?i:(after|all|andor|any|as|atmost|before|best|between|case|compressed|compression|const|counter|csv|default|descend|distributed|encoding|end|endmacro|enum|error|except|exclusive|expand|export|exportxml|extend|fail|failcode|few|fileposition|first|flat|for|forward|from|full|group|grouped|hole|if|ifblock|import|inmodule|inner|internal|joined|keep|keyed|last|left|limit|linkcounted|literal|little_endian|load|local|locale|lookup|lzw|mangle|many|maxcount|maxlength|min skew|mofn|multiple|named|namespace|nocase|noroot|noscan|nosort|noxpath|of|onfail|only|opt|option|outer|overwrite|packed|partition|physicallength|pipe|prefetch|repeat|retry|return|right|right1|right2|rows|rowset|scan|scope|self|service|set|shared|skip|smart|soapaction|sql|stable|store|stored|success|thor|token|trim|type|unicodeorder|uniquename|unordered|unsorted|unstable|update|virtual|warning|whole|width|within|wnotrim|xml|xpath|__compressed_))\\b"
188
- },
189
- "embedded-single": {
190
- "match": "(?i:(embed))\\s*(\\([^\\)]+\\));",
191
- "captures": {
192
- "1": {
193
- "name": "entity.name.function.ecl"
194
- }
195
- }
196
- },
197
- "embedded-any": {
198
- "begin": "((?i:(embed)))\\s*(\\()",
199
- "end": "(?i:(endembed))",
200
- "beginCaptures": {
201
- "0": {
202
- "name": "entity.name.function.ecl"
203
- }
204
- },
205
- "endCaptures": {
206
- "0": {
207
- "name": "entity.name.function.ecl"
208
- }
209
- },
210
- "name": "entity.other.ecl"
211
- },
212
- "embedded-cpp": {
213
- "begin": "(?i:(beginc))\\+\\+",
214
- "end": "(?i:(endc))\\+\\+",
215
- "beginCaptures": {
216
- "0": {
217
- "name": "entity.name.function.ecl"
218
- }
219
- },
220
- "endCaptures": {
221
- "0": {
222
- "name": "entity.name.function.ecl"
223
- }
224
- },
225
- "name": "entity.other.ecl"
226
- },
227
- "comment": {
228
- "name": "comment.ecl",
229
- "patterns": [
230
- {
231
- "include": "#comment-block-doc"
232
- },
233
- {
234
- "include": "#comment-block"
235
- },
236
- {
237
- "include": "#comment-line"
238
- }
239
- ]
240
- },
241
- "comment-block": {
242
- "begin": "/\\*",
243
- "end": "\\*/",
244
- "name": "comment.block.ecl"
245
- },
246
- "comment-block-doc": {
247
- "begin": "/\\*\\*(?!/)",
248
- "end": "\\*/",
249
- "name": "comment.block.documentation.ecl"
250
- },
251
- "comment-line": {
252
- "match": "(//).*$\\n?",
253
- "name": "comment.line.ecl"
254
- },
255
- "digital-signature": {
256
- "name": "digital-signature.ecl",
257
- "patterns": [
258
- {
259
- "include": "#digital-signature-header"
260
- },
261
- {
262
- "include": "#digital-signature-footer"
263
- }
264
- ]
265
- },
266
- "digital-signature-header": {
267
- "begin": "-----BEGIN PGP SIGNED MESSAGE-----",
268
- "end": "Hash: SHA512",
269
- "name": "keyword.control.ecl"
270
- },
271
- "digital-signature-footer": {
272
- "begin": "-----BEGIN PGP SIGNATURE-----",
273
- "end": "-----END PGP SIGNATURE-----",
274
- "name": "keyword.control.ecl"
275
- },
276
- "string": {
277
- "name": "string.ecl",
278
- "patterns": [
279
- {
280
- "include": "#qstring-single"
281
- }
282
- ]
283
- },
284
- "qstring-single": {
285
- "begin": "'",
286
- "end": "\\'|(?:[^\\\\\\n]$)",
287
- "name": "string.single.ecl",
288
- "patterns": [
289
- {
290
- "include": "#string-character-escape"
291
- }
292
- ]
293
- },
294
- "string-character-escape": {
295
- "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)",
296
- "name": "constant.character.escape.ecl"
297
- },
298
- "literal": {
299
- "name": "literal.ecl",
300
- "patterns": [
301
- {
302
- "include": "#numeric-literal"
303
- },
304
- {
305
- "include": "#boolean-literal"
306
- },
307
- {
308
- "include": "#array-literal"
309
- },
310
- {
311
- "include": "#self-literal"
312
- }
313
- ]
314
- },
315
- "numeric-literal": {
316
- "match": "\\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|([0-9a-fA-F]+(x|X))|(0(o|O)[0-7]+)|(0(b|B)(0|1)+)|((0|1)+(b|B))|(([0-9]+(\\.[0-9]+)?))([eE]([+-]?)[0-9]+(\\.[0-9]+)?)?)\\b",
317
- "name": "constant.numeric.ecl"
318
- },
319
- "boolean-literal": {
320
- "match": "\\b(?i:(false|true))\\b",
321
- "name": "constant.language.boolean.ecl"
322
- },
323
- "self-literal": {
324
- "match": "\\b(?i:(self))\\b",
325
- "name": "constant.language.this.ecl"
326
- },
327
- "array-literal": {
328
- "begin": "\\[",
329
- "beginCaptures": {
330
- "0": {
331
- "name": "meta.brace.square.ecl"
332
- }
333
- },
334
- "end": "\\]",
335
- "endCaptures": {
336
- "0": {
337
- "name": "meta.brace.square.ecl"
338
- }
339
- },
340
- "name": "meta.array.literal.ecl",
341
- "patterns": [
342
- {
343
- "include": "#expression"
344
- }
345
- ]
346
- }
347
- }
1
+ {
2
+ "scopeName": "source.ecl",
3
+ "fileTypes": [
4
+ "ecl"
5
+ ],
6
+ "name": "ECL",
7
+ "patterns": [
8
+ {
9
+ "include": "#expression"
10
+ },
11
+ {
12
+ "name": "support.class.ecl",
13
+ "match": "\\b(?i:(std).(file|date|str|math|metaphone|metaphone3|uni|audit|blas|system.(debug|email|job|log|thorlib|util|workunit)))\\b"
14
+ }
15
+ ],
16
+ "repository": {
17
+ "expression": {
18
+ "name": "meta.expression.ecl",
19
+ "patterns": [
20
+ {
21
+ "include": "#comment"
22
+ },
23
+ {
24
+ "include": "#special-structures"
25
+ },
26
+ {
27
+ "include": "#embedded-single"
28
+ },
29
+ {
30
+ "include": "#embedded-any"
31
+ },
32
+ {
33
+ "include": "#embedded-cpp"
34
+ },
35
+ {
36
+ "include": "#function-call"
37
+ },
38
+ {
39
+ "include": "#operators"
40
+ },
41
+ {
42
+ "include": "#logicals"
43
+ },
44
+ {
45
+ "include": "#types"
46
+ },
47
+ {
48
+ "include": "#keywords-pound"
49
+ },
50
+ {
51
+ "include": "#keywords-workflow"
52
+ },
53
+ {
54
+ "include": "#keywords"
55
+ },
56
+ {
57
+ "include": "#digital-signature"
58
+ },
59
+ {
60
+ "include": "#string"
61
+ },
62
+ {
63
+ "include": "#literal"
64
+ }
65
+ ]
66
+ },
67
+ "operators": {
68
+ "name": "keyword.operator.ecl",
69
+ "match": "(>|>=|<|<=|<>|/|\\|+|-|=)"
70
+ },
71
+ "logicals": {
72
+ "match": "\\b(?i:(and|in|not|or))\\b",
73
+ "name": "keyword.other.ecl"
74
+ },
75
+ "special-structures": {
76
+ "match": "\\b(?i:(endmacro|function|functionmacro|interface|macro|module|record|transform))\\b",
77
+ "name": "entity.name.function.ecl"
78
+ },
79
+ "types": {
80
+ "name": "entity.name.type.ecl",
81
+ "patterns": [
82
+ {
83
+ "include": "#real"
84
+ },
85
+ {
86
+ "include": "#decimal"
87
+ },
88
+ {
89
+ "include": "#unicode"
90
+ },
91
+ {
92
+ "include": "#integer"
93
+ },
94
+ {
95
+ "include": "#type-number"
96
+ },
97
+ {
98
+ "include": "#type-rest"
99
+ }
100
+ ]
101
+ },
102
+ "real": {
103
+ "name": "entity.name.type.ecl",
104
+ "match": "\\b(?i)real(?-i)(4|8)\\b"
105
+ },
106
+ "decimal": {
107
+ "name": "entity.name.type.ecl",
108
+ "match": "\\b(?i)(u?)decimal(\\d+(_\\d+)?)\\b"
109
+ },
110
+ "unicode": {
111
+ "name": "entity.name.type.ecl",
112
+ "match": "\\b(?i:(d|u|q|v|x))(8)?(?='.*')"
113
+ },
114
+ "integer": {
115
+ "name": "entity.name.type.ecl",
116
+ "match": "\\b(?i:(integer|unsigned))[1-8]\\b"
117
+ },
118
+ "type-number": {
119
+ "name": "entity.name.type.ecl",
120
+ "match": "\\b(?i:(data|string|qstring|varstring|varunicode|unicode|utf8))\\d+\\b"
121
+ },
122
+ "type-rest": {
123
+ "name": "entity.name.type.ecl",
124
+ "match": "\\b(?i:(ascii|big_endian|boolean|data|decimal|ebcdic|grouped|integer|linkcounted|pattern|qstring|real|rule|set of|streamed|string|token|udecimal|unicode|utf8|unsigned|varstring|varunicode))\\b"
125
+ },
126
+ "function-call": {
127
+ "match": "([#A-Za-z_0-9]+)\\s*(\\()",
128
+ "captures": {
129
+ "1": {
130
+ "patterns": [
131
+ {
132
+ "include": "#functions"
133
+ },
134
+ {
135
+ "include": "#functions-pound"
136
+ },
137
+ {
138
+ "include": "#functions-hash"
139
+ },
140
+ {
141
+ "include": "#functions-hash2"
142
+ },
143
+ {
144
+ "include": "#functions-action"
145
+ },
146
+ {
147
+ "include": "#functions-workflow"
148
+ }
149
+ ]
150
+ }
151
+ }
152
+ },
153
+ "functions": {
154
+ "name": "entity.name.function.ecl",
155
+ "match": "\\b(?i:(abs|acos|aggregate|allnodes|apply|apply|ascii|asin|assert|asstring|atan|atan2|ave|build|buildindex|case|catch|choose|choosen|choosesets|clustersize|combine|correlation|cos|cosh|count|covariance|cron|dataset|dedup|define|denormalize|deprecated|dictionary|distribute|distributed|distribution|ebcdic|enth|evaluate|evaluate|event|eventextra|eventname|exists|exp|fail|failcode|failmessage|fetch|fromunicode|fromxml|getenv|getisvalid|graph|group|hashcrc|hashmd5|having|httpcall|httpheader|if|iff|index|interface|intformat|isvalid|iterate|join|keydiff|keypatch|keyunicode|length|library|limit|ln|loadxml|local|log|loop|map|matched|matchlength|matchposition|matchtext|matchunicode|max|merge|mergejoin|min|nofold|nolocal|nonempty|normalize|nothor|notify|opt|output|parse|pattern|penalty|pipe|power|preload|process|project|pull|random|range|rank|ranked|realformat|record|recordof|regexfind|regexfindset|regexreplace|regroup|rejected|rollup|round|roundup|row|rowdiff|rule|sample|sequential|sin|sinh|sizeof|soapcall|sort|sorted|sqrt|stepped|stored|sum|table|tan|tanh|thisnode|topn|tounicode|toxml|transfer|transform|trim|truncate|typeof|ungroup|unicodeorder|use|validate|variance|wait|when|which|xmldecode|xmlencode|xmltext|xmlunicode))\\b"
156
+ },
157
+ "functions-pound": {
158
+ "name": "keyword.other.ecl",
159
+ "match": "#(?i:(append|constant|declare|demangle|end|else|elseif|error|expand|export|exportXML|for|getdatatype|if|inmodule|mangle|onwarning|option|set|stored|text|uniquename|warning|webservice|workunit))\\b"
160
+ },
161
+ "functions-hash": {
162
+ "name": "entity.name.function.ecl",
163
+ "match": "\\b(?i:hash(32|64|crc)?)\\b"
164
+ },
165
+ "functions-hash2": {
166
+ "name": "entity.name.function.ecl",
167
+ "match": "\\b(?i:hashmd(5))\\b"
168
+ },
169
+ "functions-action": {
170
+ "name": "keyword.other.ecl",
171
+ "match": "\\b(?i:(algorithm|cluster|escape|encrypt|expire|heading|keyed|maxlength|module|named|ordered|parallel|quote|terminator|threshold|timelimit|timeout|separator|set|skew|virtual|wild))\\b"
172
+ },
173
+ "functions-workflow": {
174
+ "name": "keyword.control.ecl",
175
+ "match": "\\b(?i:(checkpoint|deprecated|failmessage|failure|global|onwarning|persist|priority|recovery|stored|success|when))\\b"
176
+ },
177
+ "keywords-workflow": {
178
+ "name": "keyword.control.ecl",
179
+ "match": "\\b(?i:(global|independent|once))\\b"
180
+ },
181
+ "keywords-pound": {
182
+ "name": "keyword.other.ecl",
183
+ "match": "#(?i:(break|else|end|loop))\\b"
184
+ },
185
+ "keywords": {
186
+ "name": "keyword.other.ecl",
187
+ "match": "\\b(?i:(after|all|andor|any|as|atmost|before|best|between|case|compressed|compression|const|counter|csv|default|descend|distributed|encoding|end|endmacro|enum|error|except|exclusive|expand|export|exportxml|extend|fail|failcode|few|fileposition|first|flat|for|forward|from|full|group|grouped|hole|if|ifblock|import|inmodule|inner|internal|joined|keep|keyed|last|left|limit|linkcounted|literal|little_endian|load|local|locale|lookup|lzw|mangle|many|maxcount|maxlength|min skew|mofn|multiple|named|namespace|nocase|noroot|noscan|nosort|noxpath|of|onfail|only|opt|option|outer|overwrite|packed|partition|physicallength|pipe|prefetch|repeat|retry|return|right|right1|right2|rows|rowset|scan|scope|self|service|set|shared|skip|smart|soapaction|sql|stable|store|stored|success|thor|token|trim|type|unicodeorder|uniquename|unordered|unsorted|unstable|update|virtual|warning|whole|width|within|wnotrim|xml|xpath|__compressed_))\\b"
188
+ },
189
+ "embedded-single": {
190
+ "match": "(?i:(embed))\\s*(\\([^\\)]+\\));",
191
+ "captures": {
192
+ "1": {
193
+ "name": "entity.name.function.ecl"
194
+ }
195
+ }
196
+ },
197
+ "embedded-any": {
198
+ "begin": "((?i:(embed)))\\s*(\\()",
199
+ "end": "(?i:(endembed))",
200
+ "beginCaptures": {
201
+ "0": {
202
+ "name": "entity.name.function.ecl"
203
+ }
204
+ },
205
+ "endCaptures": {
206
+ "0": {
207
+ "name": "entity.name.function.ecl"
208
+ }
209
+ },
210
+ "name": "entity.other.ecl"
211
+ },
212
+ "embedded-cpp": {
213
+ "begin": "(?i:(beginc))\\+\\+",
214
+ "end": "(?i:(endc))\\+\\+",
215
+ "beginCaptures": {
216
+ "0": {
217
+ "name": "entity.name.function.ecl"
218
+ }
219
+ },
220
+ "endCaptures": {
221
+ "0": {
222
+ "name": "entity.name.function.ecl"
223
+ }
224
+ },
225
+ "name": "entity.other.ecl"
226
+ },
227
+ "comment": {
228
+ "name": "comment.ecl",
229
+ "patterns": [
230
+ {
231
+ "include": "#comment-block-doc"
232
+ },
233
+ {
234
+ "include": "#comment-block"
235
+ },
236
+ {
237
+ "include": "#comment-line"
238
+ }
239
+ ]
240
+ },
241
+ "comment-block": {
242
+ "begin": "/\\*",
243
+ "end": "\\*/",
244
+ "name": "comment.block.ecl"
245
+ },
246
+ "comment-block-doc": {
247
+ "begin": "/\\*\\*(?!/)",
248
+ "end": "\\*/",
249
+ "name": "comment.block.documentation.ecl"
250
+ },
251
+ "comment-line": {
252
+ "match": "(//).*$\\n?",
253
+ "name": "comment.line.ecl"
254
+ },
255
+ "digital-signature": {
256
+ "name": "digital-signature.ecl",
257
+ "patterns": [
258
+ {
259
+ "include": "#digital-signature-header"
260
+ },
261
+ {
262
+ "include": "#digital-signature-footer"
263
+ }
264
+ ]
265
+ },
266
+ "digital-signature-header": {
267
+ "begin": "-----BEGIN PGP SIGNED MESSAGE-----",
268
+ "end": "Hash: SHA512",
269
+ "name": "keyword.control.ecl"
270
+ },
271
+ "digital-signature-footer": {
272
+ "begin": "-----BEGIN PGP SIGNATURE-----",
273
+ "end": "-----END PGP SIGNATURE-----",
274
+ "name": "keyword.control.ecl"
275
+ },
276
+ "string": {
277
+ "name": "string.ecl",
278
+ "patterns": [
279
+ {
280
+ "include": "#qstring-single"
281
+ }
282
+ ]
283
+ },
284
+ "qstring-single": {
285
+ "begin": "'",
286
+ "end": "\\'|(?:[^\\\\\\n]$)",
287
+ "name": "string.single.ecl",
288
+ "patterns": [
289
+ {
290
+ "include": "#string-character-escape"
291
+ }
292
+ ]
293
+ },
294
+ "string-character-escape": {
295
+ "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)",
296
+ "name": "constant.character.escape.ecl"
297
+ },
298
+ "literal": {
299
+ "name": "literal.ecl",
300
+ "patterns": [
301
+ {
302
+ "include": "#numeric-literal"
303
+ },
304
+ {
305
+ "include": "#boolean-literal"
306
+ },
307
+ {
308
+ "include": "#array-literal"
309
+ },
310
+ {
311
+ "include": "#self-literal"
312
+ }
313
+ ]
314
+ },
315
+ "numeric-literal": {
316
+ "match": "\\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|([0-9a-fA-F]+(x|X))|(0(o|O)[0-7]+)|(0(b|B)(0|1)+)|((0|1)+(b|B))|(([0-9]+(\\.[0-9]+)?))([eE]([+-]?)[0-9]+(\\.[0-9]+)?)?)\\b",
317
+ "name": "constant.numeric.ecl"
318
+ },
319
+ "boolean-literal": {
320
+ "match": "\\b(?i:(false|true))\\b",
321
+ "name": "constant.language.boolean.ecl"
322
+ },
323
+ "self-literal": {
324
+ "match": "\\b(?i:(self))\\b",
325
+ "name": "constant.language.this.ecl"
326
+ },
327
+ "array-literal": {
328
+ "begin": "\\[",
329
+ "beginCaptures": {
330
+ "0": {
331
+ "name": "meta.brace.square.ecl"
332
+ }
333
+ },
334
+ "end": "\\]",
335
+ "endCaptures": {
336
+ "0": {
337
+ "name": "meta.brace.square.ecl"
338
+ }
339
+ },
340
+ "name": "meta.array.literal.ecl",
341
+ "patterns": [
342
+ {
343
+ "include": "#expression"
344
+ }
345
+ ]
346
+ }
347
+ }
348
348
  }