tm-grammars 0.0.0

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 (181) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6565 -0
  3. package/README.md +211 -0
  4. package/grammars/abap.json +380 -0
  5. package/grammars/actionscript-3.json +951 -0
  6. package/grammars/ada.json +3874 -0
  7. package/grammars/apache.json +562 -0
  8. package/grammars/apex.json +3203 -0
  9. package/grammars/apl.json +1479 -0
  10. package/grammars/applescript.json +1406 -0
  11. package/grammars/ara.json +428 -0
  12. package/grammars/asm.json +1741 -0
  13. package/grammars/astro.json +776 -0
  14. package/grammars/awk.json +388 -0
  15. package/grammars/ballerina.json +3768 -0
  16. package/grammars/bat.json +783 -0
  17. package/grammars/beancount.json +831 -0
  18. package/grammars/berry.json +172 -0
  19. package/grammars/bibtex.json +315 -0
  20. package/grammars/bicep.json +239 -0
  21. package/grammars/blade.json +3870 -0
  22. package/grammars/c.json +3552 -0
  23. package/grammars/cadence.json +738 -0
  24. package/grammars/clarity.json +877 -0
  25. package/grammars/clojure.json +426 -0
  26. package/grammars/cmake.json +143 -0
  27. package/grammars/cobol.json +1124 -0
  28. package/grammars/codeql.json +1540 -0
  29. package/grammars/coffee.json +1311 -0
  30. package/grammars/cpp-macro.json +9498 -0
  31. package/grammars/cpp.json +16635 -0
  32. package/grammars/crystal.json +1866 -0
  33. package/grammars/csharp.json +5722 -0
  34. package/grammars/css.json +1860 -0
  35. package/grammars/csv.json +46 -0
  36. package/grammars/cue.json +1128 -0
  37. package/grammars/cypher.json +353 -0
  38. package/grammars/d.json +3185 -0
  39. package/grammars/dart.json +522 -0
  40. package/grammars/dax.json +185 -0
  41. package/grammars/diff.json +155 -0
  42. package/grammars/docker.json +97 -0
  43. package/grammars/dream-maker.json +640 -0
  44. package/grammars/elixir.json +1014 -0
  45. package/grammars/elm.json +751 -0
  46. package/grammars/erb.json +156 -0
  47. package/grammars/erlang.json +1757 -0
  48. package/grammars/fish.json +189 -0
  49. package/grammars/fsharp.json +1831 -0
  50. package/grammars/gdresource.json +290 -0
  51. package/grammars/gdscript.json +969 -0
  52. package/grammars/gdshader.json +405 -0
  53. package/grammars/gherkin.json +133 -0
  54. package/grammars/git-commit.json +85 -0
  55. package/grammars/git-rebase.json +56 -0
  56. package/grammars/glimmer-js.json +98 -0
  57. package/grammars/glimmer-ts.json +98 -0
  58. package/grammars/glsl.json +57 -0
  59. package/grammars/gnuplot.json +892 -0
  60. package/grammars/go.json +1012 -0
  61. package/grammars/graphql.json +1295 -0
  62. package/grammars/groovy.json +1378 -0
  63. package/grammars/hack.json +2650 -0
  64. package/grammars/haml.json +598 -0
  65. package/grammars/handlebars.json +848 -0
  66. package/grammars/haskell.json +2431 -0
  67. package/grammars/hcl.json +787 -0
  68. package/grammars/hjson.json +821 -0
  69. package/grammars/hlsl.json +212 -0
  70. package/grammars/html.json +93 -0
  71. package/grammars/imba.json +2696 -0
  72. package/grammars/ini.json +108 -0
  73. package/grammars/java.json +1885 -0
  74. package/grammars/javascript.json +5984 -0
  75. package/grammars/jinja-html.json +16 -0
  76. package/grammars/jinja.json +345 -0
  77. package/grammars/jison.json +715 -0
  78. package/grammars/jsdoc.json +21 -0
  79. package/grammars/json.json +208 -0
  80. package/grammars/json5.json +244 -0
  81. package/grammars/jsonc.json +208 -0
  82. package/grammars/jsonl.json +208 -0
  83. package/grammars/jsonnet.json +211 -0
  84. package/grammars/jssm.json +159 -0
  85. package/grammars/jsx.json +5984 -0
  86. package/grammars/julia.json +1061 -0
  87. package/grammars/kotlin.json +580 -0
  88. package/grammars/kusto.json +687 -0
  89. package/grammars/latex.json +2395 -0
  90. package/grammars/less.json +5012 -0
  91. package/grammars/liquid.json +990 -0
  92. package/grammars/lisp.json +121 -0
  93. package/grammars/logo.json +55 -0
  94. package/grammars/lua.json +956 -0
  95. package/grammars/make.json +629 -0
  96. package/grammars/markdown.json +3066 -0
  97. package/grammars/marko.json +1344 -0
  98. package/grammars/matlab.json +1131 -0
  99. package/grammars/mdc.json +571 -0
  100. package/grammars/mdx.json +5629 -0
  101. package/grammars/mermaid.json +1382 -0
  102. package/grammars/mojo.json +4153 -0
  103. package/grammars/narrat.json +227 -0
  104. package/grammars/nextflow.json +298 -0
  105. package/grammars/nginx.json +2121 -0
  106. package/grammars/nim.json +1522 -0
  107. package/grammars/nix.json +1200 -0
  108. package/grammars/nushell.json +1047 -0
  109. package/grammars/objective-c.json +3750 -0
  110. package/grammars/objective-cpp.json +7242 -0
  111. package/grammars/ocaml.json +2967 -0
  112. package/grammars/pascal.json +154 -0
  113. package/grammars/perl.json +2971 -0
  114. package/grammars/php.json +4024 -0
  115. package/grammars/plsql.json +241 -0
  116. package/grammars/postcss.json +377 -0
  117. package/grammars/powerquery.json +349 -0
  118. package/grammars/powershell.json +1024 -0
  119. package/grammars/prisma.json +443 -0
  120. package/grammars/prolog.json +298 -0
  121. package/grammars/proto.json +507 -0
  122. package/grammars/pug.json +1033 -0
  123. package/grammars/puppet.json +777 -0
  124. package/grammars/purescript.json +871 -0
  125. package/grammars/python.json +4208 -0
  126. package/grammars/r.json +637 -0
  127. package/grammars/raku.json +310 -0
  128. package/grammars/razor.json +1813 -0
  129. package/grammars/reg.json +136 -0
  130. package/grammars/rel.json +200 -0
  131. package/grammars/riscv.json +298 -0
  132. package/grammars/rst.json +734 -0
  133. package/grammars/ruby.json +2769 -0
  134. package/grammars/rust.json +1171 -0
  135. package/grammars/sas.json +302 -0
  136. package/grammars/sass.json +618 -0
  137. package/grammars/scala.json +1313 -0
  138. package/grammars/scheme.json +384 -0
  139. package/grammars/scss.json +1874 -0
  140. package/grammars/shaderlab.json +199 -0
  141. package/grammars/shellscript.json +2025 -0
  142. package/grammars/shellsession.json +33 -0
  143. package/grammars/smalltalk.json +235 -0
  144. package/grammars/solidity.json +1210 -0
  145. package/grammars/sparql.json +45 -0
  146. package/grammars/splunk.json +91 -0
  147. package/grammars/sql.json +631 -0
  148. package/grammars/ssh-config.json +88 -0
  149. package/grammars/stata.json +3050 -0
  150. package/grammars/stylus.json +1208 -0
  151. package/grammars/svelte.json +1171 -0
  152. package/grammars/swift.json +4203 -0
  153. package/grammars/system-verilog.json +1063 -0
  154. package/grammars/tasl.json +292 -0
  155. package/grammars/tcl.json +291 -0
  156. package/grammars/tex.json +281 -0
  157. package/grammars/toml.json +431 -0
  158. package/grammars/tsx.json +5984 -0
  159. package/grammars/turtle.json +261 -0
  160. package/grammars/twig.json +1394 -0
  161. package/grammars/typescript.json +5735 -0
  162. package/grammars/v.json +1001 -0
  163. package/grammars/vb.json +232 -0
  164. package/grammars/verilog.json +305 -0
  165. package/grammars/vhdl.json +1484 -0
  166. package/grammars/viml.json +445 -0
  167. package/grammars/vue-html.json +559 -0
  168. package/grammars/vue.json +1237 -0
  169. package/grammars/vyper.json +5415 -0
  170. package/grammars/wasm.json +831 -0
  171. package/grammars/wenyan.json +129 -0
  172. package/grammars/wgsl.json +391 -0
  173. package/grammars/wolfram.json +2370 -0
  174. package/grammars/xml.json +382 -0
  175. package/grammars/xsl.json +89 -0
  176. package/grammars/yaml.json +616 -0
  177. package/grammars/zenscript.json +257 -0
  178. package/grammars/zig.json +312 -0
  179. package/index.d.ts +18 -0
  180. package/index.js +2165 -0
  181. package/package.json +46 -0
@@ -0,0 +1,715 @@
1
+ {
2
+ "displayName": "Jison",
3
+ "fileTypes": [
4
+ "jison"
5
+ ],
6
+ "injections": {
7
+ "L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)": {
8
+ "patterns": [
9
+ {
10
+ "match": "\\${2}",
11
+ "name": "variable.language.semantic-value.jison"
12
+ },
13
+ {
14
+ "match": "@\\$",
15
+ "name": "variable.language.result-location.jison"
16
+ },
17
+ {
18
+ "match": "##\\$|\\byysp\\b",
19
+ "name": "variable.language.stack-index-0.jison"
20
+ },
21
+ {
22
+ "match": "#\\S+#",
23
+ "name": "support.variable.token-reference.jison"
24
+ },
25
+ {
26
+ "match": "#\\$",
27
+ "name": "variable.language.result-id.jison"
28
+ },
29
+ {
30
+ "match": "\\$(?:-?\\d+|[[:alpha:]_](?:[\\w-]*\\w)?)",
31
+ "name": "support.variable.token-value.jison"
32
+ },
33
+ {
34
+ "match": "@(?:-?\\d+|[[:alpha:]_](?:[\\w-]*\\w)?)",
35
+ "name": "support.variable.token-location.jison"
36
+ },
37
+ {
38
+ "match": "##(?:-?\\d+|[[:alpha:]_](?:[\\w-]*\\w)?)",
39
+ "name": "support.variable.stack-index.jison"
40
+ },
41
+ {
42
+ "match": "#(?:-?\\d+|[[:alpha:]_](?:[\\w-]*\\w)?)",
43
+ "name": "support.variable.token-id.jison"
44
+ },
45
+ {
46
+ "match": "\\byy(?:l(?:eng|ineno|oc|stack)|rulelength|s(?:tate|s?tack)|text|vstack)\\b",
47
+ "name": "variable.language.jison"
48
+ },
49
+ {
50
+ "match": "\\byy(?:clearin|erro[kr])\\b",
51
+ "name": "keyword.other.jison"
52
+ }
53
+ ]
54
+ }
55
+ },
56
+ "name": "jison",
57
+ "patterns": [
58
+ {
59
+ "begin": "%%",
60
+ "beginCaptures": {
61
+ "0": {
62
+ "name": "meta.separator.section.jison"
63
+ }
64
+ },
65
+ "end": "\\z",
66
+ "patterns": [
67
+ {
68
+ "begin": "%%",
69
+ "beginCaptures": {
70
+ "0": {
71
+ "name": "meta.separator.section.jison"
72
+ }
73
+ },
74
+ "end": "\\z",
75
+ "patterns": [
76
+ {
77
+ "begin": "\\G",
78
+ "contentName": "source.js.embedded.jison",
79
+ "end": "\\z",
80
+ "name": "meta.section.epilogue.jison",
81
+ "patterns": [
82
+ {
83
+ "include": "#epilogue_section"
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "begin": "\\G",
91
+ "end": "(?=%%)",
92
+ "name": "meta.section.rules.jison",
93
+ "patterns": [
94
+ {
95
+ "include": "#rules_section"
96
+ }
97
+ ]
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ "begin": "^",
103
+ "end": "(?=%%)",
104
+ "name": "meta.section.declarations.jison",
105
+ "patterns": [
106
+ {
107
+ "include": "#declarations_section"
108
+ }
109
+ ]
110
+ }
111
+ ],
112
+ "repository": {
113
+ "actions": {
114
+ "patterns": [
115
+ {
116
+ "begin": "\\{\\{",
117
+ "beginCaptures": {
118
+ "0": {
119
+ "name": "punctuation.definition.action.begin.jison"
120
+ }
121
+ },
122
+ "contentName": "source.js.embedded.jison",
123
+ "end": "\\}\\}",
124
+ "endCaptures": {
125
+ "0": {
126
+ "name": "punctuation.definition.action.end.jison"
127
+ }
128
+ },
129
+ "name": "meta.action.jison",
130
+ "patterns": [
131
+ {
132
+ "include": "source.js"
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "begin": "(?=%\\{)",
138
+ "end": "(?<=%\\})",
139
+ "name": "meta.action.jison",
140
+ "patterns": [
141
+ {
142
+ "include": "#user_code_blocks"
143
+ }
144
+ ]
145
+ }
146
+ ]
147
+ },
148
+ "comments": {
149
+ "patterns": [
150
+ {
151
+ "begin": "//",
152
+ "beginCaptures": {
153
+ "0": {
154
+ "name": "punctuation.definition.comment.jison"
155
+ }
156
+ },
157
+ "end": "$",
158
+ "name": "comment.line.double-slash.jison"
159
+ },
160
+ {
161
+ "begin": "/\\*",
162
+ "beginCaptures": {
163
+ "0": {
164
+ "name": "punctuation.definition.comment.begin.jison"
165
+ }
166
+ },
167
+ "end": "\\*/",
168
+ "endCaptures": {
169
+ "0": {
170
+ "name": "punctuation.definition.comment.end.jison"
171
+ }
172
+ },
173
+ "name": "comment.block.jison"
174
+ }
175
+ ]
176
+ },
177
+ "declarations_section": {
178
+ "patterns": [
179
+ {
180
+ "include": "#comments"
181
+ },
182
+ {
183
+ "begin": "^\\s*(%lex)\\s*$",
184
+ "beginCaptures": {
185
+ "1": {
186
+ "name": "entity.name.tag.lexer.begin.jison"
187
+ }
188
+ },
189
+ "end": "^\\s*(/lex)\\b",
190
+ "endCaptures": {
191
+ "1": {
192
+ "name": "entity.name.tag.lexer.end.jison"
193
+ }
194
+ },
195
+ "patterns": [
196
+ {
197
+ "begin": "%%",
198
+ "beginCaptures": {
199
+ "0": {
200
+ "name": "meta.separator.section.jisonlex"
201
+ }
202
+ },
203
+ "end": "(?=/lex)",
204
+ "patterns": [
205
+ {
206
+ "begin": "^%%",
207
+ "beginCaptures": {
208
+ "0": {
209
+ "name": "meta.separator.section.jisonlex"
210
+ }
211
+ },
212
+ "end": "(?=/lex)",
213
+ "patterns": [
214
+ {
215
+ "begin": "\\G",
216
+ "contentName": "source.js.embedded.jisonlex",
217
+ "end": "(?=/lex)",
218
+ "name": "meta.section.user-code.jisonlex",
219
+ "patterns": [
220
+ {
221
+ "include": "source.jisonlex#user_code_section"
222
+ }
223
+ ]
224
+ }
225
+ ]
226
+ },
227
+ {
228
+ "begin": "\\G",
229
+ "end": "^(?=%%|/lex)",
230
+ "name": "meta.section.rules.jisonlex",
231
+ "patterns": [
232
+ {
233
+ "include": "source.jisonlex#rules_section"
234
+ }
235
+ ]
236
+ }
237
+ ]
238
+ },
239
+ {
240
+ "begin": "^",
241
+ "end": "(?=%%|/lex)",
242
+ "name": "meta.section.definitions.jisonlex",
243
+ "patterns": [
244
+ {
245
+ "include": "source.jisonlex#definitions_section"
246
+ }
247
+ ]
248
+ }
249
+ ]
250
+ },
251
+ {
252
+ "begin": "(?=%\\{)",
253
+ "end": "(?<=%\\})",
254
+ "name": "meta.section.prologue.jison",
255
+ "patterns": [
256
+ {
257
+ "include": "#user_code_blocks"
258
+ }
259
+ ]
260
+ },
261
+ {
262
+ "include": "#options_declarations"
263
+ },
264
+ {
265
+ "match": "%(ebnf|left|nonassoc|parse-param|right|start)\\b",
266
+ "name": "keyword.other.declaration.$1.jison"
267
+ },
268
+ {
269
+ "include": "#include_declarations"
270
+ },
271
+ {
272
+ "begin": "%(code)\\b",
273
+ "beginCaptures": {
274
+ "0": {
275
+ "name": "keyword.other.declaration.$1.jison"
276
+ }
277
+ },
278
+ "end": "$",
279
+ "name": "meta.code.jison",
280
+ "patterns": [
281
+ {
282
+ "include": "#comments"
283
+ },
284
+ {
285
+ "include": "#rule_actions"
286
+ },
287
+ {
288
+ "match": "(init|required)",
289
+ "name": "keyword.other.code-qualifier.$1.jison"
290
+ },
291
+ {
292
+ "include": "#quoted_strings"
293
+ },
294
+ {
295
+ "match": "\\b[[:alpha:]_](?:[\\w-]*\\w)?\\b",
296
+ "name": "string.unquoted.jison"
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "begin": "%(parser-type)\\b",
302
+ "beginCaptures": {
303
+ "0": {
304
+ "name": "keyword.other.declaration.$1.jison"
305
+ }
306
+ },
307
+ "end": "$",
308
+ "name": "meta.parser-type.jison",
309
+ "patterns": [
310
+ {
311
+ "include": "#comments"
312
+ },
313
+ {
314
+ "include": "#quoted_strings"
315
+ },
316
+ {
317
+ "match": "\\b[[:alpha:]_](?:[\\w-]*\\w)?\\b",
318
+ "name": "string.unquoted.jison"
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "begin": "%(token)\\b",
324
+ "beginCaptures": {
325
+ "0": {
326
+ "name": "keyword.other.declaration.$1.jison"
327
+ }
328
+ },
329
+ "end": "$|(%%|;)",
330
+ "endCaptures": {
331
+ "1": {
332
+ "name": "punctuation.terminator.declaration.token.jison"
333
+ }
334
+ },
335
+ "name": "meta.token.jison",
336
+ "patterns": [
337
+ {
338
+ "include": "#comments"
339
+ },
340
+ {
341
+ "include": "#numbers"
342
+ },
343
+ {
344
+ "include": "#quoted_strings"
345
+ },
346
+ {
347
+ "match": "<[[:alpha:]_](?:[\\w-]*\\w)?>",
348
+ "name": "invalid.unimplemented.jison"
349
+ },
350
+ {
351
+ "match": "\\S+",
352
+ "name": "entity.other.token.jison"
353
+ }
354
+ ]
355
+ },
356
+ {
357
+ "match": "%(debug|import)\\b",
358
+ "name": "keyword.other.declaration.$1.jison"
359
+ },
360
+ {
361
+ "match": "%prec\\b",
362
+ "name": "invalid.illegal.jison"
363
+ },
364
+ {
365
+ "match": "%[[:alpha:]_](?:[\\w-]*\\w)?\\b",
366
+ "name": "invalid.unimplemented.jison"
367
+ },
368
+ {
369
+ "include": "#numbers"
370
+ },
371
+ {
372
+ "include": "#quoted_strings"
373
+ }
374
+ ]
375
+ },
376
+ "epilogue_section": {
377
+ "patterns": [
378
+ {
379
+ "include": "#user_code_include_declarations"
380
+ },
381
+ {
382
+ "include": "source.js"
383
+ }
384
+ ]
385
+ },
386
+ "include_declarations": {
387
+ "patterns": [
388
+ {
389
+ "begin": "(%(include))\\s*",
390
+ "beginCaptures": {
391
+ "1": {
392
+ "name": "keyword.other.declaration.$2.jison"
393
+ }
394
+ },
395
+ "end": "(?<=['\"])|(?=\\s)",
396
+ "name": "meta.include.jison",
397
+ "patterns": [
398
+ {
399
+ "include": "#include_paths"
400
+ }
401
+ ]
402
+ }
403
+ ]
404
+ },
405
+ "include_paths": {
406
+ "patterns": [
407
+ {
408
+ "include": "#quoted_strings"
409
+ },
410
+ {
411
+ "begin": "(?=\\S)",
412
+ "end": "(?=\\s)",
413
+ "name": "string.unquoted.jison",
414
+ "patterns": [
415
+ {
416
+ "include": "source.js#string_escapes"
417
+ }
418
+ ]
419
+ }
420
+ ]
421
+ },
422
+ "numbers": {
423
+ "patterns": [
424
+ {
425
+ "captures": {
426
+ "1": {
427
+ "name": "storage.type.number.jison"
428
+ },
429
+ "2": {
430
+ "name": "constant.numeric.integer.hexadecimal.jison"
431
+ }
432
+ },
433
+ "match": "(0[Xx])([0-9A-Fa-f]+)"
434
+ },
435
+ {
436
+ "match": "\\d+",
437
+ "name": "constant.numeric.integer.decimal.jison"
438
+ }
439
+ ]
440
+ },
441
+ "options_declarations": {
442
+ "patterns": [
443
+ {
444
+ "begin": "%options\\b",
445
+ "beginCaptures": {
446
+ "0": {
447
+ "name": "keyword.other.options.jison"
448
+ }
449
+ },
450
+ "end": "^(?=\\S|\\s*$)",
451
+ "name": "meta.options.jison",
452
+ "patterns": [
453
+ {
454
+ "include": "#comments"
455
+ },
456
+ {
457
+ "match": "\\b[[:alpha:]_](?:[\\w-]*\\w)?\\b",
458
+ "name": "entity.name.constant.jison"
459
+ },
460
+ {
461
+ "begin": "(=)\\s*",
462
+ "beginCaptures": {
463
+ "1": {
464
+ "name": "keyword.operator.option.assignment.jison"
465
+ }
466
+ },
467
+ "end": "(?<=['\"])|(?=\\s)",
468
+ "patterns": [
469
+ {
470
+ "include": "#comments"
471
+ },
472
+ {
473
+ "match": "\\b(true|false)\\b",
474
+ "name": "constant.language.boolean.$1.jison"
475
+ },
476
+ {
477
+ "include": "#numbers"
478
+ },
479
+ {
480
+ "include": "#quoted_strings"
481
+ },
482
+ {
483
+ "match": "\\S+",
484
+ "name": "string.unquoted.jison"
485
+ }
486
+ ]
487
+ },
488
+ {
489
+ "include": "#quoted_strings"
490
+ }
491
+ ]
492
+ }
493
+ ]
494
+ },
495
+ "quoted_strings": {
496
+ "patterns": [
497
+ {
498
+ "begin": "\"",
499
+ "end": "\"",
500
+ "name": "string.quoted.double.jison",
501
+ "patterns": [
502
+ {
503
+ "include": "source.js#string_escapes"
504
+ }
505
+ ]
506
+ },
507
+ {
508
+ "begin": "'",
509
+ "end": "'",
510
+ "name": "string.quoted.single.jison",
511
+ "patterns": [
512
+ {
513
+ "include": "source.js#string_escapes"
514
+ }
515
+ ]
516
+ }
517
+ ]
518
+ },
519
+ "rule_actions": {
520
+ "patterns": [
521
+ {
522
+ "include": "#actions"
523
+ },
524
+ {
525
+ "begin": "\\{",
526
+ "beginCaptures": {
527
+ "0": {
528
+ "name": "punctuation.definition.action.begin.jison"
529
+ }
530
+ },
531
+ "contentName": "source.js.embedded.jison",
532
+ "end": "\\}",
533
+ "endCaptures": {
534
+ "0": {
535
+ "name": "punctuation.definition.action.end.jison"
536
+ }
537
+ },
538
+ "name": "meta.action.jison",
539
+ "patterns": [
540
+ {
541
+ "include": "source.js"
542
+ }
543
+ ]
544
+ },
545
+ {
546
+ "include": "#include_declarations"
547
+ },
548
+ {
549
+ "begin": "->|→",
550
+ "beginCaptures": {
551
+ "0": {
552
+ "name": "punctuation.definition.action.arrow.jison"
553
+ }
554
+ },
555
+ "contentName": "source.js.embedded.jison",
556
+ "end": "$",
557
+ "name": "meta.action.jison",
558
+ "patterns": [
559
+ {
560
+ "include": "source.js"
561
+ }
562
+ ]
563
+ }
564
+ ]
565
+ },
566
+ "rules_section": {
567
+ "patterns": [
568
+ {
569
+ "include": "#comments"
570
+ },
571
+ {
572
+ "include": "#actions"
573
+ },
574
+ {
575
+ "include": "#include_declarations"
576
+ },
577
+ {
578
+ "begin": "\\b[[:alpha:]_](?:[\\w-]*\\w)?\\b",
579
+ "beginCaptures": {
580
+ "0": {
581
+ "name": "entity.name.constant.rule-result.jison"
582
+ }
583
+ },
584
+ "end": ";",
585
+ "endCaptures": {
586
+ "0": {
587
+ "name": "punctuation.terminator.rule.jison"
588
+ }
589
+ },
590
+ "name": "meta.rule.jison",
591
+ "patterns": [
592
+ {
593
+ "include": "#comments"
594
+ },
595
+ {
596
+ "begin": ":",
597
+ "beginCaptures": {
598
+ "0": {
599
+ "name": "keyword.operator.rule-components.assignment.jison"
600
+ }
601
+ },
602
+ "end": "(?=;)",
603
+ "name": "meta.rule-components.jison",
604
+ "patterns": [
605
+ {
606
+ "include": "#comments"
607
+ },
608
+ {
609
+ "include": "#quoted_strings"
610
+ },
611
+ {
612
+ "captures": {
613
+ "1": {
614
+ "name": "punctuation.definition.named-reference.begin.jison"
615
+ },
616
+ "2": {
617
+ "name": "entity.name.other.reference.jison"
618
+ },
619
+ "3": {
620
+ "name": "punctuation.definition.named-reference.end.jison"
621
+ }
622
+ },
623
+ "match": "(\\[)([[:alpha:]_](?:[\\w-]*\\w)?)(\\])"
624
+ },
625
+ {
626
+ "begin": "(%(prec))\\s*",
627
+ "beginCaptures": {
628
+ "1": {
629
+ "name": "keyword.other.$2.jison"
630
+ }
631
+ },
632
+ "end": "(?<=['\"])|(?=\\s)",
633
+ "name": "meta.prec.jison",
634
+ "patterns": [
635
+ {
636
+ "include": "#comments"
637
+ },
638
+ {
639
+ "include": "#quoted_strings"
640
+ },
641
+ {
642
+ "begin": "(?=\\S)",
643
+ "end": "(?=\\s)",
644
+ "name": "constant.other.token.jison"
645
+ }
646
+ ]
647
+ },
648
+ {
649
+ "match": "\\|",
650
+ "name": "keyword.operator.rule-components.separator.jison"
651
+ },
652
+ {
653
+ "match": "\\b(?:EOF|error)\\b",
654
+ "name": "keyword.other.$0.jison"
655
+ },
656
+ {
657
+ "match": "(?:%(?:e(?:mpty|psilon))|\\b[Ɛɛεϵ])\\b",
658
+ "name": "keyword.other.empty.jison"
659
+ },
660
+ {
661
+ "include": "#rule_actions"
662
+ }
663
+ ]
664
+ }
665
+ ]
666
+ }
667
+ ]
668
+ },
669
+ "user_code_blocks": {
670
+ "patterns": [
671
+ {
672
+ "begin": "%\\{",
673
+ "beginCaptures": {
674
+ "0": {
675
+ "name": "punctuation.definition.user-code-block.begin.jison"
676
+ }
677
+ },
678
+ "contentName": "source.js.embedded.jison",
679
+ "end": "%\\}",
680
+ "endCaptures": {
681
+ "0": {
682
+ "name": "punctuation.definition.user-code-block.end.jison"
683
+ }
684
+ },
685
+ "name": "meta.user-code-block.jison",
686
+ "patterns": [
687
+ {
688
+ "include": "source.js"
689
+ }
690
+ ]
691
+ }
692
+ ]
693
+ },
694
+ "user_code_include_declarations": {
695
+ "patterns": [
696
+ {
697
+ "begin": "^(%(include))\\s*",
698
+ "beginCaptures": {
699
+ "1": {
700
+ "name": "keyword.other.declaration.$2.jison"
701
+ }
702
+ },
703
+ "end": "(?<=['\"])|(?=\\s)",
704
+ "name": "meta.include.jison",
705
+ "patterns": [
706
+ {
707
+ "include": "#include_paths"
708
+ }
709
+ ]
710
+ }
711
+ ]
712
+ }
713
+ },
714
+ "scopeName": "source.jison"
715
+ }