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,734 @@
1
+ {
2
+ "name": "rst",
3
+ "patterns": [
4
+ {
5
+ "include": "#body"
6
+ }
7
+ ],
8
+ "repository": {
9
+ "anchor": {
10
+ "match": "^\\.{2}\\s+(_[^:]+:)\\s*",
11
+ "name": "entity.name.tag.anchor"
12
+ },
13
+ "block": {
14
+ "begin": "^(\\s*)(\\.{2}\\s+\\S+::)(.*)",
15
+ "beginCaptures": {
16
+ "2": {
17
+ "name": "keyword.control"
18
+ },
19
+ "3": {
20
+ "name": "variable"
21
+ }
22
+ },
23
+ "end": "^(?!\\1\\s|\\s*$)",
24
+ "patterns": [
25
+ {
26
+ "include": "#block-param"
27
+ },
28
+ {
29
+ "include": "#body"
30
+ }
31
+ ]
32
+ },
33
+ "block-comment": {
34
+ "begin": "^(\\s*)\\.{2}(\\s+|$)",
35
+ "end": "^(?=\\S)|^\\s*$",
36
+ "name": "comment.block",
37
+ "patterns": [
38
+ {
39
+ "begin": "^\\s{3,}(?=\\S)",
40
+ "name": "comment.block",
41
+ "while": "^\\s{3}.*|^\\s*$"
42
+ }
43
+ ]
44
+ },
45
+ "block-param": {
46
+ "patterns": [
47
+ {
48
+ "captures": {
49
+ "1": {
50
+ "name": "keyword.control"
51
+ },
52
+ "2": {
53
+ "name": "variable.parameter"
54
+ }
55
+ },
56
+ "match": "(:param\\s+(.+?):)(?:\\s|$)"
57
+ },
58
+ {
59
+ "captures": {
60
+ "1": {
61
+ "name": "keyword.control"
62
+ },
63
+ "2": {
64
+ "patterns": [
65
+ {
66
+ "match": "\\b(0x[a-fA-F\\d]+|\\d+)\\b",
67
+ "name": "constant.numeric"
68
+ },
69
+ {
70
+ "include": "#inline-markup"
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ "match": "(:.+?:)(?:$|\\s+(.*))"
76
+ }
77
+ ]
78
+ },
79
+ "blocks": {
80
+ "patterns": [
81
+ {
82
+ "include": "#domains"
83
+ },
84
+ {
85
+ "include": "#doctest"
86
+ },
87
+ {
88
+ "include": "#code-block-cpp"
89
+ },
90
+ {
91
+ "include": "#code-block-py"
92
+ },
93
+ {
94
+ "include": "#code-block-console"
95
+ },
96
+ {
97
+ "include": "#code-block-javascript"
98
+ },
99
+ {
100
+ "include": "#code-block-yaml"
101
+ },
102
+ {
103
+ "include": "#code-block-cmake"
104
+ },
105
+ {
106
+ "include": "#code-block-kconfig"
107
+ },
108
+ {
109
+ "include": "#code-block-ruby"
110
+ },
111
+ {
112
+ "include": "#code-block-dts"
113
+ },
114
+ {
115
+ "include": "#code-block"
116
+ },
117
+ {
118
+ "include": "#doctest-block"
119
+ },
120
+ {
121
+ "include": "#raw-html"
122
+ },
123
+ {
124
+ "include": "#block"
125
+ },
126
+ {
127
+ "include": "#literal-block"
128
+ },
129
+ {
130
+ "include": "#block-comment"
131
+ }
132
+ ]
133
+ },
134
+ "body": {
135
+ "patterns": [
136
+ {
137
+ "include": "#title"
138
+ },
139
+ {
140
+ "include": "#inline-markup"
141
+ },
142
+ {
143
+ "include": "#anchor"
144
+ },
145
+ {
146
+ "include": "#line-block"
147
+ },
148
+ {
149
+ "include": "#replace-include"
150
+ },
151
+ {
152
+ "include": "#footnote"
153
+ },
154
+ {
155
+ "include": "#substitution"
156
+ },
157
+ {
158
+ "include": "#blocks"
159
+ },
160
+ {
161
+ "include": "#table"
162
+ },
163
+ {
164
+ "include": "#simple-table"
165
+ },
166
+ {
167
+ "include": "#options-list"
168
+ }
169
+ ]
170
+ },
171
+ "bold": {
172
+ "begin": "(?<=[\\s\"'(\\[{<]|^)\\*{2}[^\\s*]",
173
+ "end": "\\*{2}|^\\s*$",
174
+ "name": "markup.bold"
175
+ },
176
+ "citation": {
177
+ "applyEndPatternLast": 0,
178
+ "begin": "(?<=[\\s\"'(\\[{<]|^)`[^\\s`]",
179
+ "end": "`_{,2}|^\\s*$",
180
+ "name": "entity.name.tag"
181
+ },
182
+ "code-block": {
183
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)",
184
+ "beginCaptures": {
185
+ "2": {
186
+ "name": "keyword.control"
187
+ }
188
+ },
189
+ "patterns": [
190
+ {
191
+ "include": "#block-param"
192
+ }
193
+ ],
194
+ "while": "^\\1(?=\\s)|^\\s*$"
195
+ },
196
+ "code-block-cmake": {
197
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(cmake)\\s*$",
198
+ "beginCaptures": {
199
+ "2": {
200
+ "name": "keyword.control"
201
+ },
202
+ "4": {
203
+ "name": "variable.parameter.codeblock.cmake"
204
+ }
205
+ },
206
+ "patterns": [
207
+ {
208
+ "include": "#block-param"
209
+ },
210
+ {
211
+ "include": "source.cmake"
212
+ }
213
+ ],
214
+ "while": "^\\1(?=\\s)|^\\s*$"
215
+ },
216
+ "code-block-console": {
217
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(console|shell|bash)\\s*$",
218
+ "beginCaptures": {
219
+ "2": {
220
+ "name": "keyword.control"
221
+ },
222
+ "4": {
223
+ "name": "variable.parameter.codeblock.console"
224
+ }
225
+ },
226
+ "patterns": [
227
+ {
228
+ "include": "#block-param"
229
+ },
230
+ {
231
+ "include": "source.shell"
232
+ }
233
+ ],
234
+ "while": "^\\1(?=\\s)|^\\s*$"
235
+ },
236
+ "code-block-cpp": {
237
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(c|c\\+\\+|cpp|C|C\\+\\+|CPP|Cpp)\\s*$",
238
+ "beginCaptures": {
239
+ "2": {
240
+ "name": "keyword.control"
241
+ },
242
+ "4": {
243
+ "name": "variable.parameter.codeblock.cpp"
244
+ }
245
+ },
246
+ "patterns": [
247
+ {
248
+ "include": "#block-param"
249
+ },
250
+ {
251
+ "include": "source.cpp"
252
+ }
253
+ ],
254
+ "while": "^\\1(?=\\s)|^\\s*$"
255
+ },
256
+ "code-block-dts": {
257
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(dts|DTS|devicetree)\\s*$",
258
+ "beginCaptures": {
259
+ "2": {
260
+ "name": "keyword.control"
261
+ },
262
+ "4": {
263
+ "name": "variable.parameter.codeblock.dts"
264
+ }
265
+ },
266
+ "patterns": [
267
+ {
268
+ "include": "#block-param"
269
+ },
270
+ {
271
+ "include": "source.dts"
272
+ }
273
+ ],
274
+ "while": "^\\1(?=\\s)|^\\s*$"
275
+ },
276
+ "code-block-javascript": {
277
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(javascript)\\s*$",
278
+ "beginCaptures": {
279
+ "2": {
280
+ "name": "keyword.control"
281
+ },
282
+ "4": {
283
+ "name": "variable.parameter.codeblock.js"
284
+ }
285
+ },
286
+ "patterns": [
287
+ {
288
+ "include": "#block-param"
289
+ },
290
+ {
291
+ "include": "source.js"
292
+ }
293
+ ],
294
+ "while": "^\\1(?=\\s)|^\\s*$"
295
+ },
296
+ "code-block-kconfig": {
297
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*([kK]config)\\s*$",
298
+ "beginCaptures": {
299
+ "2": {
300
+ "name": "keyword.control"
301
+ },
302
+ "4": {
303
+ "name": "variable.parameter.codeblock.kconfig"
304
+ }
305
+ },
306
+ "patterns": [
307
+ {
308
+ "include": "#block-param"
309
+ },
310
+ {
311
+ "include": "source.kconfig"
312
+ }
313
+ ],
314
+ "while": "^\\1(?=\\s)|^\\s*$"
315
+ },
316
+ "code-block-py": {
317
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(python)\\s*$",
318
+ "beginCaptures": {
319
+ "2": {
320
+ "name": "keyword.control"
321
+ },
322
+ "4": {
323
+ "name": "variable.parameter.codeblock.py"
324
+ }
325
+ },
326
+ "patterns": [
327
+ {
328
+ "include": "#block-param"
329
+ },
330
+ {
331
+ "include": "source.python"
332
+ }
333
+ ],
334
+ "while": "^\\1(?=\\s)|^\\s*$"
335
+ },
336
+ "code-block-ruby": {
337
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(ruby)\\s*$",
338
+ "beginCaptures": {
339
+ "2": {
340
+ "name": "keyword.control"
341
+ },
342
+ "4": {
343
+ "name": "variable.parameter.codeblock.ruby"
344
+ }
345
+ },
346
+ "patterns": [
347
+ {
348
+ "include": "#block-param"
349
+ },
350
+ {
351
+ "include": "source.ruby"
352
+ }
353
+ ],
354
+ "while": "^\\1(?=\\s)|^\\s*$"
355
+ },
356
+ "code-block-yaml": {
357
+ "begin": "^(\\s*)(\\.{2}\\s+(code|code-block)::)\\s*(ya?ml)\\s*$",
358
+ "beginCaptures": {
359
+ "2": {
360
+ "name": "keyword.control"
361
+ },
362
+ "4": {
363
+ "name": "variable.parameter.codeblock.yaml"
364
+ }
365
+ },
366
+ "patterns": [
367
+ {
368
+ "include": "#block-param"
369
+ },
370
+ {
371
+ "include": "source.yaml"
372
+ }
373
+ ],
374
+ "while": "^\\1(?=\\s)|^\\s*$"
375
+ },
376
+ "doctest": {
377
+ "begin": "^(>>>)\\s*(.*)",
378
+ "beginCaptures": {
379
+ "1": {
380
+ "name": "keyword.control"
381
+ },
382
+ "2": {
383
+ "patterns": [
384
+ {
385
+ "include": "source.python"
386
+ }
387
+ ]
388
+ }
389
+ },
390
+ "end": "^\\s*$"
391
+ },
392
+ "doctest-block": {
393
+ "begin": "^(\\s*)(\\.{2}\\s+doctest::)\\s*$",
394
+ "beginCaptures": {
395
+ "2": {
396
+ "name": "keyword.control"
397
+ }
398
+ },
399
+ "patterns": [
400
+ {
401
+ "include": "#block-param"
402
+ },
403
+ {
404
+ "include": "source.python"
405
+ }
406
+ ],
407
+ "while": "^\\1(?=\\s)|^\\s*$"
408
+ },
409
+ "domain-auto": {
410
+ "begin": "^(\\s*)(\\.{2}\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\s*(.*)",
411
+ "beginCaptures": {
412
+ "2": {
413
+ "name": "keyword.control.py"
414
+ },
415
+ "3": {
416
+ "patterns": [
417
+ {
418
+ "include": "source.python"
419
+ }
420
+ ]
421
+ }
422
+ },
423
+ "patterns": [
424
+ {
425
+ "include": "#block-param"
426
+ },
427
+ {
428
+ "include": "#body"
429
+ }
430
+ ],
431
+ "while": "^\\1(?=\\s)|^\\s*$"
432
+ },
433
+ "domain-cpp": {
434
+ "begin": "^(\\s*)(\\.{2}\\s+(?:cpp|c):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\s*(?:(@\\w+)|(.*))",
435
+ "beginCaptures": {
436
+ "2": {
437
+ "name": "keyword.control"
438
+ },
439
+ "3": {
440
+ "name": "entity.name.tag"
441
+ },
442
+ "4": {
443
+ "patterns": [
444
+ {
445
+ "include": "source.cpp"
446
+ }
447
+ ]
448
+ }
449
+ },
450
+ "patterns": [
451
+ {
452
+ "include": "#block-param"
453
+ },
454
+ {
455
+ "include": "#body"
456
+ }
457
+ ],
458
+ "while": "^\\1(?=\\s)|^\\s*$"
459
+ },
460
+ "domain-js": {
461
+ "begin": "^(\\s*)(\\.{2}\\s+js:\\w+::)\\s*(.*)",
462
+ "beginCaptures": {
463
+ "2": {
464
+ "name": "keyword.control"
465
+ },
466
+ "3": {
467
+ "patterns": [
468
+ {
469
+ "include": "source.js"
470
+ }
471
+ ]
472
+ }
473
+ },
474
+ "end": "^(?!\\1[ \\t]|$)",
475
+ "patterns": [
476
+ {
477
+ "include": "#block-param"
478
+ },
479
+ {
480
+ "include": "#body"
481
+ }
482
+ ]
483
+ },
484
+ "domain-py": {
485
+ "begin": "^(\\s*)(\\.{2}\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\s*(.*)",
486
+ "beginCaptures": {
487
+ "2": {
488
+ "name": "keyword.control"
489
+ },
490
+ "3": {
491
+ "patterns": [
492
+ {
493
+ "include": "source.python"
494
+ }
495
+ ]
496
+ }
497
+ },
498
+ "patterns": [
499
+ {
500
+ "include": "#block-param"
501
+ },
502
+ {
503
+ "include": "#body"
504
+ }
505
+ ],
506
+ "while": "^\\1(?=\\s)|^\\s*$"
507
+ },
508
+ "domains": {
509
+ "patterns": [
510
+ {
511
+ "include": "#domain-cpp"
512
+ },
513
+ {
514
+ "include": "#domain-py"
515
+ },
516
+ {
517
+ "include": "#domain-auto"
518
+ },
519
+ {
520
+ "include": "#domain-js"
521
+ }
522
+ ]
523
+ },
524
+ "escaped": {
525
+ "match": "\\\\.",
526
+ "name": "constant.character.escape"
527
+ },
528
+ "footnote": {
529
+ "match": "^\\s*\\.{2}\\s+\\[(?:[\\w\\.-]+|[#*]|#\\w+)\\]\\s+",
530
+ "name": "entity.name.tag"
531
+ },
532
+ "footnote-ref": {
533
+ "match": "\\[(?:[\\w\\.-]+|[#*])\\]_",
534
+ "name": "entity.name.tag"
535
+ },
536
+ "ignore": {
537
+ "patterns": [
538
+ {
539
+ "match": "'[`*]+'"
540
+ },
541
+ {
542
+ "match": "<[`*]+>"
543
+ },
544
+ {
545
+ "match": "{[`*]+}"
546
+ },
547
+ {
548
+ "match": "\\([`*]+\\)"
549
+ },
550
+ {
551
+ "match": "\\[[`*]+\\]"
552
+ },
553
+ {
554
+ "match": "\"[`*]+\""
555
+ }
556
+ ]
557
+ },
558
+ "inline-markup": {
559
+ "patterns": [
560
+ {
561
+ "include": "#escaped"
562
+ },
563
+ {
564
+ "include": "#ignore"
565
+ },
566
+ {
567
+ "include": "#ref"
568
+ },
569
+ {
570
+ "include": "#literal"
571
+ },
572
+ {
573
+ "include": "#monospaced"
574
+ },
575
+ {
576
+ "include": "#citation"
577
+ },
578
+ {
579
+ "include": "#bold"
580
+ },
581
+ {
582
+ "include": "#italic"
583
+ },
584
+ {
585
+ "include": "#list"
586
+ },
587
+ {
588
+ "include": "#macro"
589
+ },
590
+ {
591
+ "include": "#reference"
592
+ },
593
+ {
594
+ "include": "#footnote-ref"
595
+ }
596
+ ]
597
+ },
598
+ "italic": {
599
+ "begin": "(?<=[\\s\"'(\\[{<]|^)\\*[^\\s*]",
600
+ "end": "\\*|^\\s*$",
601
+ "name": "markup.italic"
602
+ },
603
+ "line-block": {
604
+ "match": "^\\|\\s+",
605
+ "name": "keyword.control"
606
+ },
607
+ "list": {
608
+ "match": "^\\s*(\\d+\\.|\\* -|[a-zA-Z#]\\.|[iIvVxXmMcC]+\\.|\\(\\d+\\)|\\d+\\)|[*+-])\\s+",
609
+ "name": "keyword.control"
610
+ },
611
+ "literal": {
612
+ "captures": {
613
+ "1": {
614
+ "name": "keyword.control"
615
+ },
616
+ "2": {
617
+ "name": "entity.name.tag"
618
+ }
619
+ },
620
+ "match": "(:\\S+:)(`.*?`\\\\?)"
621
+ },
622
+ "literal-block": {
623
+ "begin": "^(\\s*)(.*)(::)\\s*$",
624
+ "beginCaptures": {
625
+ "2": {
626
+ "patterns": [
627
+ {
628
+ "include": "#inline-markup"
629
+ }
630
+ ]
631
+ },
632
+ "3": {
633
+ "name": "keyword.control"
634
+ }
635
+ },
636
+ "while": "^\\1(?=\\s)|^\\s*$"
637
+ },
638
+ "macro": {
639
+ "match": "\\|[^\\|]+\\|",
640
+ "name": "entity.name.tag"
641
+ },
642
+ "monospaced": {
643
+ "begin": "(?<=[\\s\"'(\\[{<]|^)``[^\\s`]",
644
+ "end": "``|^\\s*$",
645
+ "name": "string.interpolated"
646
+ },
647
+ "options-list": {
648
+ "match": "(?:(?:^|,\\s+)(?:[-+]\\w|--?[a-zA-Z][\\w-]+|/\\w+)(?:[ =](?:\\w+|<[^<>]+?>))?)+(?= |\\t|$)",
649
+ "name": "variable.parameter"
650
+ },
651
+ "raw-html": {
652
+ "begin": "^(\\s*)(\\.{2}\\s+raw\\s*::)\\s+(html)\\s*$",
653
+ "beginCaptures": {
654
+ "2": {
655
+ "name": "keyword.control"
656
+ },
657
+ "3": {
658
+ "name": "variable.parameter.html"
659
+ }
660
+ },
661
+ "patterns": [
662
+ {
663
+ "include": "#block-param"
664
+ },
665
+ {
666
+ "include": "text.html.derivative"
667
+ }
668
+ ],
669
+ "while": "^\\1(?=\\s)|^\\s*$"
670
+ },
671
+ "ref": {
672
+ "begin": "(:ref:)`",
673
+ "beginCaptures": {
674
+ "1": {
675
+ "name": "keyword.control"
676
+ }
677
+ },
678
+ "end": "`|^\\s*$",
679
+ "name": "entity.name.tag",
680
+ "patterns": [
681
+ {
682
+ "match": "<.*?>",
683
+ "name": "markup.underline.link"
684
+ }
685
+ ]
686
+ },
687
+ "reference": {
688
+ "match": "[\\w-]*[a-zA-Z\\d-]__?\\b",
689
+ "name": "entity.name.tag"
690
+ },
691
+ "replace-include": {
692
+ "captures": {
693
+ "1": {
694
+ "name": "keyword.control"
695
+ },
696
+ "2": {
697
+ "name": "entity.name.tag"
698
+ },
699
+ "3": {
700
+ "name": "keyword.control"
701
+ }
702
+ },
703
+ "match": "^\\s*(\\.{2})\\s+(\\|[^\\|]+\\|)\\s+(replace::)"
704
+ },
705
+ "simple-table": {
706
+ "match": "^[=\\s]+$",
707
+ "name": "keyword.control.table"
708
+ },
709
+ "substitution": {
710
+ "match": "^\\.{2}\\s*\\|([^|]+)\\|",
711
+ "name": "entity.name.tag"
712
+ },
713
+ "table": {
714
+ "begin": "^\\s*\\+[=+-]+\\+\\s*$",
715
+ "beginCaptures": {
716
+ "0": {
717
+ "name": "keyword.control.table"
718
+ }
719
+ },
720
+ "end": "^(?![+|])",
721
+ "patterns": [
722
+ {
723
+ "match": "[=+|-]",
724
+ "name": "keyword.control.table"
725
+ }
726
+ ]
727
+ },
728
+ "title": {
729
+ "match": "^(\\*{3,}|#{3,}|\\={3,}|~{3,}|\\+{3,}|-{3,}|`{3,}|\\^{3,}|:{3,}|\"{3,}|_{3,}|'{3,})$",
730
+ "name": "markup.heading"
731
+ }
732
+ },
733
+ "scopeName": "source.rst"
734
+ }