lean4monaco 1.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 (87) hide show
  1. package/README.md +79 -0
  2. package/dist/editor.d.ts +10 -0
  3. package/dist/editor.js +31 -0
  4. package/dist/importmetaurl.d.ts +2 -0
  5. package/dist/importmetaurl.js +26 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +2 -0
  8. package/dist/infowebview.d.ts +21 -0
  9. package/dist/infowebview.js +80 -0
  10. package/dist/leanmonaco.d.ts +26 -0
  11. package/dist/leanmonaco.js +205 -0
  12. package/dist/monaco-lean4/lean4-infoview/package.json +59 -0
  13. package/dist/monaco-lean4/lean4-infoview/src/infoview/index.css +272 -0
  14. package/dist/monaco-lean4/lean4-infoview/test/tsconfig.json +7 -0
  15. package/dist/monaco-lean4/lean4-infoview/tsconfig.json +34 -0
  16. package/dist/monaco-lean4/lean4-infoview-api/package.json +20 -0
  17. package/dist/monaco-lean4/lean4-infoview-api/tsconfig.json +29 -0
  18. package/dist/monaco-lean4/lean4-unicode-input/package.json +19 -0
  19. package/dist/monaco-lean4/lean4-unicode-input/src/abbreviations.json +1836 -0
  20. package/dist/monaco-lean4/lean4-unicode-input/tsconfig.json +18 -0
  21. package/dist/monaco-lean4/lean4-unicode-input-component/package.json +22 -0
  22. package/dist/monaco-lean4/lean4-unicode-input-component/tsconfig.json +18 -0
  23. package/dist/monaco-lean4/lerna.json +4 -0
  24. package/dist/monaco-lean4/package-lock.json +14153 -0
  25. package/dist/monaco-lean4/package.json +39 -0
  26. package/dist/monaco-lean4/vscode-lean4/abbreviationview/tsconfig.json +10 -0
  27. package/dist/monaco-lean4/vscode-lean4/language-configuration.json +157 -0
  28. package/dist/monaco-lean4/vscode-lean4/loogleview/static/index.css +94 -0
  29. package/dist/monaco-lean4/vscode-lean4/loogleview/tsconfig.json +10 -0
  30. package/dist/monaco-lean4/vscode-lean4/package.json +944 -0
  31. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature.d.ts +8 -0
  32. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature.js +20 -0
  33. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationHoverProvider.d.ts +12 -0
  34. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationHoverProvider.js +40 -0
  35. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationRewriterFeature.d.ts +19 -0
  36. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationRewriterFeature.js +77 -0
  37. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationConfig.d.ts +13 -0
  38. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationConfig.js +29 -0
  39. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationRewriter.d.ts +27 -0
  40. package/dist/monaco-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationRewriter.js +122 -0
  41. package/dist/monaco-lean4/vscode-lean4/src/config.d.ts +33 -0
  42. package/dist/monaco-lean4/vscode-lean4/src/config.js +119 -0
  43. package/dist/monaco-lean4/vscode-lean4/src/diagnostics/setupNotifs.d.ts +27 -0
  44. package/dist/monaco-lean4/vscode-lean4/src/diagnostics/setupNotifs.js +133 -0
  45. package/dist/monaco-lean4/vscode-lean4/src/infoview.d.ts +69 -0
  46. package/dist/monaco-lean4/vscode-lean4/src/infoview.js +711 -0
  47. package/dist/monaco-lean4/vscode-lean4/src/leanclient.d.ts +67 -0
  48. package/dist/monaco-lean4/vscode-lean4/src/leanclient.js +443 -0
  49. package/dist/monaco-lean4/vscode-lean4/src/rpc.d.ts +16 -0
  50. package/dist/monaco-lean4/vscode-lean4/src/rpc.js +102 -0
  51. package/dist/monaco-lean4/vscode-lean4/src/taskgutter.d.ts +11 -0
  52. package/dist/monaco-lean4/vscode-lean4/src/taskgutter.js +130 -0
  53. package/dist/monaco-lean4/vscode-lean4/src/utils/batch.d.ts +37 -0
  54. package/dist/monaco-lean4/vscode-lean4/src/utils/batch.js +203 -0
  55. package/dist/monaco-lean4/vscode-lean4/src/utils/clientProvider.d.ts +41 -0
  56. package/dist/monaco-lean4/vscode-lean4/src/utils/clientProvider.js +205 -0
  57. package/dist/monaco-lean4/vscode-lean4/src/utils/converters.d.ts +16 -0
  58. package/dist/monaco-lean4/vscode-lean4/src/utils/converters.js +129 -0
  59. package/dist/monaco-lean4/vscode-lean4/src/utils/elan.d.ts +3 -0
  60. package/dist/monaco-lean4/vscode-lean4/src/utils/elan.js +4 -0
  61. package/dist/monaco-lean4/vscode-lean4/src/utils/envPath.d.ts +21 -0
  62. package/dist/monaco-lean4/vscode-lean4/src/utils/envPath.js +53 -0
  63. package/dist/monaco-lean4/vscode-lean4/src/utils/exturi.d.ts +35 -0
  64. package/dist/monaco-lean4/vscode-lean4/src/utils/exturi.js +136 -0
  65. package/dist/monaco-lean4/vscode-lean4/src/utils/fsHelper.d.ts +17 -0
  66. package/dist/monaco-lean4/vscode-lean4/src/utils/fsHelper.js +36 -0
  67. package/dist/monaco-lean4/vscode-lean4/src/utils/leanInstaller.d.ts +37 -0
  68. package/dist/monaco-lean4/vscode-lean4/src/utils/leanInstaller.js +210 -0
  69. package/dist/monaco-lean4/vscode-lean4/src/utils/logger.d.ts +7 -0
  70. package/dist/monaco-lean4/vscode-lean4/src/utils/logger.js +20 -0
  71. package/dist/monaco-lean4/vscode-lean4/src/utils/notifs.d.ts +24 -0
  72. package/dist/monaco-lean4/vscode-lean4/src/utils/notifs.js +110 -0
  73. package/dist/monaco-lean4/vscode-lean4/src/utils/projectInfo.d.ts +9 -0
  74. package/dist/monaco-lean4/vscode-lean4/src/utils/projectInfo.js +125 -0
  75. package/dist/monaco-lean4/vscode-lean4/syntaxes/codeblock.json +45 -0
  76. package/dist/monaco-lean4/vscode-lean4/syntaxes/lean4-markdown.json +2637 -0
  77. package/dist/monaco-lean4/vscode-lean4/syntaxes/lean4.json +127 -0
  78. package/dist/monaco-lean4/vscode-lean4/tsconfig.json +18 -0
  79. package/dist/monaco-lean4/vscode-lean4/webview/tsconfig.json +11 -0
  80. package/dist/monacoleanclient.d.ts +4 -0
  81. package/dist/monacoleanclient.js +17 -0
  82. package/dist/preconditions.d.ts +4 -0
  83. package/dist/preconditions.js +3 -0
  84. package/dist/vscode.css +408 -0
  85. package/dist/webview.d.ts +1 -0
  86. package/dist/webview.js +9 -0
  87. package/package.json +45 -0
@@ -0,0 +1,2637 @@
1
+ {
2
+ "information_for_contributors": [
3
+ "This file has been adapted from https://github.com/microsoft/vscode/blob/master/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json",
4
+ "We've mainly changed it so that the productions do not consume the final -/ of a doc string"
5
+ ],
6
+ "version": "https://github.com/microsoft/vscode/blob/df3ae4adefbb780f5f686e58ac6a8d305a8c86dc/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json",
7
+ "name": "Markdown",
8
+ "scopeName": "source.lean4.markdown",
9
+ "patterns": [
10
+ {
11
+ "include": "#frontMatter"
12
+ },
13
+ {
14
+ "include": "#block"
15
+ }
16
+ ],
17
+ "repository": {
18
+ "block": {
19
+ "patterns": [
20
+ {
21
+ "include": "#separator"
22
+ },
23
+ {
24
+ "include": "#heading"
25
+ },
26
+ {
27
+ "include": "#blockquote"
28
+ },
29
+ {
30
+ "include": "#lists"
31
+ },
32
+ {
33
+ "include": "#fenced_code_block"
34
+ },
35
+ {
36
+ "include": "#raw_block"
37
+ },
38
+ {
39
+ "include": "#link-def"
40
+ },
41
+ {
42
+ "include": "#html"
43
+ },
44
+ {
45
+ "include": "#inline"
46
+ },
47
+ {
48
+ "include": "text.html.derivative"
49
+ },
50
+ {
51
+ "include": "#heading-setext"
52
+ },
53
+ {
54
+ "include": "#paragraphb"
55
+ }
56
+ ]
57
+ },
58
+ "blockquote": {
59
+ "begin": "(^)[ ]{0,3}(>) ?",
60
+ "captures": {
61
+ "2": {
62
+ "name": "punctuation.definition.quote.begin.markdown"
63
+ }
64
+ },
65
+ "name": "markup.quote.markdown",
66
+ "patterns": [
67
+ {
68
+ "include": "#block"
69
+ }
70
+ ],
71
+ "while": "(^|\\G)\\s*(>) ?"
72
+ },
73
+ "fenced_code_block_css": {
74
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(css|css.erb)((\\s+|:|\\{)[^`~]*)?$)",
75
+ "name": "markup.fenced_code.block.markdown",
76
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
77
+ "beginCaptures": {
78
+ "3": {
79
+ "name": "punctuation.definition.markdown"
80
+ },
81
+ "4": {
82
+ "name": "fenced_code.block.language.markdown"
83
+ },
84
+ "5": {
85
+ "name": "fenced_code.block.language.attributes.markdown"
86
+ }
87
+ },
88
+ "endCaptures": {
89
+ "3": {
90
+ "name": "punctuation.definition.markdown"
91
+ }
92
+ },
93
+ "patterns": [
94
+ {
95
+ "begin": "(^|\\G)(\\s*)(.*)",
96
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
97
+ "contentName": "meta.embedded.block.css",
98
+ "patterns": [
99
+ {
100
+ "include": "source.css"
101
+ }
102
+ ]
103
+ }
104
+ ]
105
+ },
106
+ "fenced_code_block_basic": {
107
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(html|htm|shtml|xhtml|inc|tmpl|tpl)((\\s+|:|\\{)[^`~]*)?$)",
108
+ "name": "markup.fenced_code.block.markdown",
109
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
110
+ "beginCaptures": {
111
+ "3": {
112
+ "name": "punctuation.definition.markdown"
113
+ },
114
+ "4": {
115
+ "name": "fenced_code.block.language.markdown"
116
+ },
117
+ "5": {
118
+ "name": "fenced_code.block.language.attributes.markdown"
119
+ }
120
+ },
121
+ "endCaptures": {
122
+ "3": {
123
+ "name": "punctuation.definition.markdown"
124
+ }
125
+ },
126
+ "patterns": [
127
+ {
128
+ "begin": "(^|\\G)(\\s*)(.*)",
129
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
130
+ "contentName": "meta.embedded.block.html",
131
+ "patterns": [
132
+ {
133
+ "include": "text.html.basic"
134
+ }
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ "fenced_code_block_ini": {
140
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|:|\\{)[^`~]*)?$)",
141
+ "name": "markup.fenced_code.block.markdown",
142
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
143
+ "beginCaptures": {
144
+ "3": {
145
+ "name": "punctuation.definition.markdown"
146
+ },
147
+ "4": {
148
+ "name": "fenced_code.block.language.markdown"
149
+ },
150
+ "5": {
151
+ "name": "fenced_code.block.language.attributes.markdown"
152
+ }
153
+ },
154
+ "endCaptures": {
155
+ "3": {
156
+ "name": "punctuation.definition.markdown"
157
+ }
158
+ },
159
+ "patterns": [
160
+ {
161
+ "begin": "(^|\\G)(\\s*)(.*)",
162
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
163
+ "contentName": "meta.embedded.block.ini",
164
+ "patterns": [
165
+ {
166
+ "include": "source.ini"
167
+ }
168
+ ]
169
+ }
170
+ ]
171
+ },
172
+ "fenced_code_block_java": {
173
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|:|\\{)[^`~]*)?$)",
174
+ "name": "markup.fenced_code.block.markdown",
175
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
176
+ "beginCaptures": {
177
+ "3": {
178
+ "name": "punctuation.definition.markdown"
179
+ },
180
+ "4": {
181
+ "name": "fenced_code.block.language.markdown"
182
+ },
183
+ "5": {
184
+ "name": "fenced_code.block.language.attributes.markdown"
185
+ }
186
+ },
187
+ "endCaptures": {
188
+ "3": {
189
+ "name": "punctuation.definition.markdown"
190
+ }
191
+ },
192
+ "patterns": [
193
+ {
194
+ "begin": "(^|\\G)(\\s*)(.*)",
195
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
196
+ "contentName": "meta.embedded.block.java",
197
+ "patterns": [
198
+ {
199
+ "include": "source.java"
200
+ }
201
+ ]
202
+ }
203
+ ]
204
+ },
205
+ "fenced_code_block_lua": {
206
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|:|\\{)[^`~]*)?$)",
207
+ "name": "markup.fenced_code.block.markdown",
208
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
209
+ "beginCaptures": {
210
+ "3": {
211
+ "name": "punctuation.definition.markdown"
212
+ },
213
+ "4": {
214
+ "name": "fenced_code.block.language.markdown"
215
+ },
216
+ "5": {
217
+ "name": "fenced_code.block.language.attributes.markdown"
218
+ }
219
+ },
220
+ "endCaptures": {
221
+ "3": {
222
+ "name": "punctuation.definition.markdown"
223
+ }
224
+ },
225
+ "patterns": [
226
+ {
227
+ "begin": "(^|\\G)(\\s*)(.*)",
228
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
229
+ "contentName": "meta.embedded.block.lua",
230
+ "patterns": [
231
+ {
232
+ "include": "source.lua"
233
+ }
234
+ ]
235
+ }
236
+ ]
237
+ },
238
+ "fenced_code_block_makefile": {
239
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(Makefile|makefile|GNUmakefile|OCamlMakefile)((\\s+|:|\\{)[^`~]*)?$)",
240
+ "name": "markup.fenced_code.block.markdown",
241
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
242
+ "beginCaptures": {
243
+ "3": {
244
+ "name": "punctuation.definition.markdown"
245
+ },
246
+ "4": {
247
+ "name": "fenced_code.block.language.markdown"
248
+ },
249
+ "5": {
250
+ "name": "fenced_code.block.language.attributes.markdown"
251
+ }
252
+ },
253
+ "endCaptures": {
254
+ "3": {
255
+ "name": "punctuation.definition.markdown"
256
+ }
257
+ },
258
+ "patterns": [
259
+ {
260
+ "begin": "(^|\\G)(\\s*)(.*)",
261
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
262
+ "contentName": "meta.embedded.block.makefile",
263
+ "patterns": [
264
+ {
265
+ "include": "source.makefile"
266
+ }
267
+ ]
268
+ }
269
+ ]
270
+ },
271
+ "fenced_code_block_perl": {
272
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|:|\\{)[^`~]*)?$)",
273
+ "name": "markup.fenced_code.block.markdown",
274
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
275
+ "beginCaptures": {
276
+ "3": {
277
+ "name": "punctuation.definition.markdown"
278
+ },
279
+ "4": {
280
+ "name": "fenced_code.block.language.markdown"
281
+ },
282
+ "5": {
283
+ "name": "fenced_code.block.language.attributes.markdown"
284
+ }
285
+ },
286
+ "endCaptures": {
287
+ "3": {
288
+ "name": "punctuation.definition.markdown"
289
+ }
290
+ },
291
+ "patterns": [
292
+ {
293
+ "begin": "(^|\\G)(\\s*)(.*)",
294
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
295
+ "contentName": "meta.embedded.block.perl",
296
+ "patterns": [
297
+ {
298
+ "include": "source.perl"
299
+ }
300
+ ]
301
+ }
302
+ ]
303
+ },
304
+ "fenced_code_block_r": {
305
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(R|r|s|S|Rprofile|\\{\\.r.+?\\})((\\s+|:|\\{)[^`~]*)?$)",
306
+ "name": "markup.fenced_code.block.markdown",
307
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
308
+ "beginCaptures": {
309
+ "3": {
310
+ "name": "punctuation.definition.markdown"
311
+ },
312
+ "4": {
313
+ "name": "fenced_code.block.language.markdown"
314
+ },
315
+ "5": {
316
+ "name": "fenced_code.block.language.attributes.markdown"
317
+ }
318
+ },
319
+ "endCaptures": {
320
+ "3": {
321
+ "name": "punctuation.definition.markdown"
322
+ }
323
+ },
324
+ "patterns": [
325
+ {
326
+ "begin": "(^|\\G)(\\s*)(.*)",
327
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
328
+ "contentName": "meta.embedded.block.r",
329
+ "patterns": [
330
+ {
331
+ "include": "source.r"
332
+ }
333
+ ]
334
+ }
335
+ ]
336
+ },
337
+ "fenced_code_block_ruby": {
338
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|:|\\{)[^`~]*)?$)",
339
+ "name": "markup.fenced_code.block.markdown",
340
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
341
+ "beginCaptures": {
342
+ "3": {
343
+ "name": "punctuation.definition.markdown"
344
+ },
345
+ "4": {
346
+ "name": "fenced_code.block.language.markdown"
347
+ },
348
+ "5": {
349
+ "name": "fenced_code.block.language.attributes.markdown"
350
+ }
351
+ },
352
+ "endCaptures": {
353
+ "3": {
354
+ "name": "punctuation.definition.markdown"
355
+ }
356
+ },
357
+ "patterns": [
358
+ {
359
+ "begin": "(^|\\G)(\\s*)(.*)",
360
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
361
+ "contentName": "meta.embedded.block.ruby",
362
+ "patterns": [
363
+ {
364
+ "include": "source.ruby"
365
+ }
366
+ ]
367
+ }
368
+ ]
369
+ },
370
+ "fenced_code_block_php": {
371
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(php|php3|php4|php5|phpt|phtml|aw|ctp)((\\s+|:|\\{)[^`~]*)?$)",
372
+ "name": "markup.fenced_code.block.markdown",
373
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
374
+ "beginCaptures": {
375
+ "3": {
376
+ "name": "punctuation.definition.markdown"
377
+ },
378
+ "4": {
379
+ "name": "fenced_code.block.language.markdown"
380
+ },
381
+ "5": {
382
+ "name": "fenced_code.block.language.attributes.markdown"
383
+ }
384
+ },
385
+ "endCaptures": {
386
+ "3": {
387
+ "name": "punctuation.definition.markdown"
388
+ }
389
+ },
390
+ "patterns": [
391
+ {
392
+ "begin": "(^|\\G)(\\s*)(.*)",
393
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
394
+ "contentName": "meta.embedded.block.php",
395
+ "patterns": [
396
+ {
397
+ "include": "text.html.basic"
398
+ },
399
+ {
400
+ "include": "source.php"
401
+ }
402
+ ]
403
+ }
404
+ ]
405
+ },
406
+ "fenced_code_block_sql": {
407
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|:|\\{)[^`~]*)?$)",
408
+ "name": "markup.fenced_code.block.markdown",
409
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
410
+ "beginCaptures": {
411
+ "3": {
412
+ "name": "punctuation.definition.markdown"
413
+ },
414
+ "4": {
415
+ "name": "fenced_code.block.language.markdown"
416
+ },
417
+ "5": {
418
+ "name": "fenced_code.block.language.attributes.markdown"
419
+ }
420
+ },
421
+ "endCaptures": {
422
+ "3": {
423
+ "name": "punctuation.definition.markdown"
424
+ }
425
+ },
426
+ "patterns": [
427
+ {
428
+ "begin": "(^|\\G)(\\s*)(.*)",
429
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
430
+ "contentName": "meta.embedded.block.sql",
431
+ "patterns": [
432
+ {
433
+ "include": "source.sql"
434
+ }
435
+ ]
436
+ }
437
+ ]
438
+ },
439
+ "fenced_code_block_vs_net": {
440
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|:|\\{)[^`~]*)?$)",
441
+ "name": "markup.fenced_code.block.markdown",
442
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
443
+ "beginCaptures": {
444
+ "3": {
445
+ "name": "punctuation.definition.markdown"
446
+ },
447
+ "4": {
448
+ "name": "fenced_code.block.language.markdown"
449
+ },
450
+ "5": {
451
+ "name": "fenced_code.block.language.attributes.markdown"
452
+ }
453
+ },
454
+ "endCaptures": {
455
+ "3": {
456
+ "name": "punctuation.definition.markdown"
457
+ }
458
+ },
459
+ "patterns": [
460
+ {
461
+ "begin": "(^|\\G)(\\s*)(.*)",
462
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
463
+ "contentName": "meta.embedded.block.vs_net",
464
+ "patterns": [
465
+ {
466
+ "include": "source.asp.vb.net"
467
+ }
468
+ ]
469
+ }
470
+ ]
471
+ },
472
+ "fenced_code_block_xml": {
473
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|:|\\{)[^`~]*)?$)",
474
+ "name": "markup.fenced_code.block.markdown",
475
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
476
+ "beginCaptures": {
477
+ "3": {
478
+ "name": "punctuation.definition.markdown"
479
+ },
480
+ "4": {
481
+ "name": "fenced_code.block.language.markdown"
482
+ },
483
+ "5": {
484
+ "name": "fenced_code.block.language.attributes.markdown"
485
+ }
486
+ },
487
+ "endCaptures": {
488
+ "3": {
489
+ "name": "punctuation.definition.markdown"
490
+ }
491
+ },
492
+ "patterns": [
493
+ {
494
+ "begin": "(^|\\G)(\\s*)(.*)",
495
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
496
+ "contentName": "meta.embedded.block.xml",
497
+ "patterns": [
498
+ {
499
+ "include": "text.xml"
500
+ }
501
+ ]
502
+ }
503
+ ]
504
+ },
505
+ "fenced_code_block_xsl": {
506
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(xsl|xslt)((\\s+|:|\\{)[^`~]*)?$)",
507
+ "name": "markup.fenced_code.block.markdown",
508
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
509
+ "beginCaptures": {
510
+ "3": {
511
+ "name": "punctuation.definition.markdown"
512
+ },
513
+ "4": {
514
+ "name": "fenced_code.block.language.markdown"
515
+ },
516
+ "5": {
517
+ "name": "fenced_code.block.language.attributes.markdown"
518
+ }
519
+ },
520
+ "endCaptures": {
521
+ "3": {
522
+ "name": "punctuation.definition.markdown"
523
+ }
524
+ },
525
+ "patterns": [
526
+ {
527
+ "begin": "(^|\\G)(\\s*)(.*)",
528
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
529
+ "contentName": "meta.embedded.block.xsl",
530
+ "patterns": [
531
+ {
532
+ "include": "text.xml.xsl"
533
+ }
534
+ ]
535
+ }
536
+ ]
537
+ },
538
+ "fenced_code_block_yaml": {
539
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(yaml|yml)((\\s+|:|\\{)[^`~]*)?$)",
540
+ "name": "markup.fenced_code.block.markdown",
541
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
542
+ "beginCaptures": {
543
+ "3": {
544
+ "name": "punctuation.definition.markdown"
545
+ },
546
+ "4": {
547
+ "name": "fenced_code.block.language.markdown"
548
+ },
549
+ "5": {
550
+ "name": "fenced_code.block.language.attributes.markdown"
551
+ }
552
+ },
553
+ "endCaptures": {
554
+ "3": {
555
+ "name": "punctuation.definition.markdown"
556
+ }
557
+ },
558
+ "patterns": [
559
+ {
560
+ "begin": "(^|\\G)(\\s*)(.*)",
561
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
562
+ "contentName": "meta.embedded.block.yaml",
563
+ "patterns": [
564
+ {
565
+ "include": "source.yaml"
566
+ }
567
+ ]
568
+ }
569
+ ]
570
+ },
571
+ "fenced_code_block_dosbatch": {
572
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat|batch)((\\s+|:|\\{)[^`~]*)?$)",
573
+ "name": "markup.fenced_code.block.markdown",
574
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
575
+ "beginCaptures": {
576
+ "3": {
577
+ "name": "punctuation.definition.markdown"
578
+ },
579
+ "4": {
580
+ "name": "fenced_code.block.language.markdown"
581
+ },
582
+ "5": {
583
+ "name": "fenced_code.block.language.attributes.markdown"
584
+ }
585
+ },
586
+ "endCaptures": {
587
+ "3": {
588
+ "name": "punctuation.definition.markdown"
589
+ }
590
+ },
591
+ "patterns": [
592
+ {
593
+ "begin": "(^|\\G)(\\s*)(.*)",
594
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
595
+ "contentName": "meta.embedded.block.dosbatch",
596
+ "patterns": [
597
+ {
598
+ "include": "source.batchfile"
599
+ }
600
+ ]
601
+ }
602
+ ]
603
+ },
604
+ "fenced_code_block_clojure": {
605
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(clj|cljs|clojure)((\\s+|:|\\{)[^`~]*)?$)",
606
+ "name": "markup.fenced_code.block.markdown",
607
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
608
+ "beginCaptures": {
609
+ "3": {
610
+ "name": "punctuation.definition.markdown"
611
+ },
612
+ "4": {
613
+ "name": "fenced_code.block.language.markdown"
614
+ },
615
+ "5": {
616
+ "name": "fenced_code.block.language.attributes.markdown"
617
+ }
618
+ },
619
+ "endCaptures": {
620
+ "3": {
621
+ "name": "punctuation.definition.markdown"
622
+ }
623
+ },
624
+ "patterns": [
625
+ {
626
+ "begin": "(^|\\G)(\\s*)(.*)",
627
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
628
+ "contentName": "meta.embedded.block.clojure",
629
+ "patterns": [
630
+ {
631
+ "include": "source.clojure"
632
+ }
633
+ ]
634
+ }
635
+ ]
636
+ },
637
+ "fenced_code_block_coffee": {
638
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|:|\\{)[^`~]*)?$)",
639
+ "name": "markup.fenced_code.block.markdown",
640
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
641
+ "beginCaptures": {
642
+ "3": {
643
+ "name": "punctuation.definition.markdown"
644
+ },
645
+ "4": {
646
+ "name": "fenced_code.block.language.markdown"
647
+ },
648
+ "5": {
649
+ "name": "fenced_code.block.language.attributes.markdown"
650
+ }
651
+ },
652
+ "endCaptures": {
653
+ "3": {
654
+ "name": "punctuation.definition.markdown"
655
+ }
656
+ },
657
+ "patterns": [
658
+ {
659
+ "begin": "(^|\\G)(\\s*)(.*)",
660
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
661
+ "contentName": "meta.embedded.block.coffee",
662
+ "patterns": [
663
+ {
664
+ "include": "source.coffee"
665
+ }
666
+ ]
667
+ }
668
+ ]
669
+ },
670
+ "fenced_code_block_c": {
671
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(c|h)((\\s+|:|\\{)[^`~]*)?$)",
672
+ "name": "markup.fenced_code.block.markdown",
673
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
674
+ "beginCaptures": {
675
+ "3": {
676
+ "name": "punctuation.definition.markdown"
677
+ },
678
+ "4": {
679
+ "name": "fenced_code.block.language.markdown"
680
+ },
681
+ "5": {
682
+ "name": "fenced_code.block.language.attributes.markdown"
683
+ }
684
+ },
685
+ "endCaptures": {
686
+ "3": {
687
+ "name": "punctuation.definition.markdown"
688
+ }
689
+ },
690
+ "patterns": [
691
+ {
692
+ "begin": "(^|\\G)(\\s*)(.*)",
693
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
694
+ "contentName": "meta.embedded.block.c",
695
+ "patterns": [
696
+ {
697
+ "include": "source.c"
698
+ }
699
+ ]
700
+ }
701
+ ]
702
+ },
703
+ "fenced_code_block_cpp": {
704
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(cpp|c\\+\\+|cxx)((\\s+|:|\\{)[^`~]*)?$)",
705
+ "name": "markup.fenced_code.block.markdown",
706
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
707
+ "beginCaptures": {
708
+ "3": {
709
+ "name": "punctuation.definition.markdown"
710
+ },
711
+ "4": {
712
+ "name": "fenced_code.block.language.markdown"
713
+ },
714
+ "5": {
715
+ "name": "fenced_code.block.language.attributes.markdown"
716
+ }
717
+ },
718
+ "endCaptures": {
719
+ "3": {
720
+ "name": "punctuation.definition.markdown"
721
+ }
722
+ },
723
+ "patterns": [
724
+ {
725
+ "begin": "(^|\\G)(\\s*)(.*)",
726
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
727
+ "contentName": "meta.embedded.block.cpp source.cpp",
728
+ "patterns": [
729
+ {
730
+ "include": "source.cpp"
731
+ }
732
+ ]
733
+ }
734
+ ]
735
+ },
736
+ "fenced_code_block_diff": {
737
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|:|\\{)[^`~]*)?$)",
738
+ "name": "markup.fenced_code.block.markdown",
739
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
740
+ "beginCaptures": {
741
+ "3": {
742
+ "name": "punctuation.definition.markdown"
743
+ },
744
+ "4": {
745
+ "name": "fenced_code.block.language.markdown"
746
+ },
747
+ "5": {
748
+ "name": "fenced_code.block.language.attributes.markdown"
749
+ }
750
+ },
751
+ "endCaptures": {
752
+ "3": {
753
+ "name": "punctuation.definition.markdown"
754
+ }
755
+ },
756
+ "patterns": [
757
+ {
758
+ "begin": "(^|\\G)(\\s*)(.*)",
759
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
760
+ "contentName": "meta.embedded.block.diff",
761
+ "patterns": [
762
+ {
763
+ "include": "source.diff"
764
+ }
765
+ ]
766
+ }
767
+ ]
768
+ },
769
+ "fenced_code_block_dockerfile": {
770
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(dockerfile|Dockerfile)((\\s+|:|\\{)[^`~]*)?$)",
771
+ "name": "markup.fenced_code.block.markdown",
772
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
773
+ "beginCaptures": {
774
+ "3": {
775
+ "name": "punctuation.definition.markdown"
776
+ },
777
+ "4": {
778
+ "name": "fenced_code.block.language.markdown"
779
+ },
780
+ "5": {
781
+ "name": "fenced_code.block.language.attributes.markdown"
782
+ }
783
+ },
784
+ "endCaptures": {
785
+ "3": {
786
+ "name": "punctuation.definition.markdown"
787
+ }
788
+ },
789
+ "patterns": [
790
+ {
791
+ "begin": "(^|\\G)(\\s*)(.*)",
792
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
793
+ "contentName": "meta.embedded.block.dockerfile",
794
+ "patterns": [
795
+ {
796
+ "include": "source.dockerfile"
797
+ }
798
+ ]
799
+ }
800
+ ]
801
+ },
802
+ "fenced_code_block_git_commit": {
803
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(COMMIT_EDITMSG|MERGE_MSG)((\\s+|:|\\{)[^`~]*)?$)",
804
+ "name": "markup.fenced_code.block.markdown",
805
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
806
+ "beginCaptures": {
807
+ "3": {
808
+ "name": "punctuation.definition.markdown"
809
+ },
810
+ "4": {
811
+ "name": "fenced_code.block.language.markdown"
812
+ },
813
+ "5": {
814
+ "name": "fenced_code.block.language.attributes.markdown"
815
+ }
816
+ },
817
+ "endCaptures": {
818
+ "3": {
819
+ "name": "punctuation.definition.markdown"
820
+ }
821
+ },
822
+ "patterns": [
823
+ {
824
+ "begin": "(^|\\G)(\\s*)(.*)",
825
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
826
+ "contentName": "meta.embedded.block.git_commit",
827
+ "patterns": [
828
+ {
829
+ "include": "text.git-commit"
830
+ }
831
+ ]
832
+ }
833
+ ]
834
+ },
835
+ "fenced_code_block_git_rebase": {
836
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|:|\\{)[^`~]*)?$)",
837
+ "name": "markup.fenced_code.block.markdown",
838
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
839
+ "beginCaptures": {
840
+ "3": {
841
+ "name": "punctuation.definition.markdown"
842
+ },
843
+ "4": {
844
+ "name": "fenced_code.block.language.markdown"
845
+ },
846
+ "5": {
847
+ "name": "fenced_code.block.language.attributes.markdown"
848
+ }
849
+ },
850
+ "endCaptures": {
851
+ "3": {
852
+ "name": "punctuation.definition.markdown"
853
+ }
854
+ },
855
+ "patterns": [
856
+ {
857
+ "begin": "(^|\\G)(\\s*)(.*)",
858
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
859
+ "contentName": "meta.embedded.block.git_rebase",
860
+ "patterns": [
861
+ {
862
+ "include": "text.git-rebase"
863
+ }
864
+ ]
865
+ }
866
+ ]
867
+ },
868
+ "fenced_code_block_go": {
869
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(go|golang)((\\s+|:|\\{)[^`~]*)?$)",
870
+ "name": "markup.fenced_code.block.markdown",
871
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
872
+ "beginCaptures": {
873
+ "3": {
874
+ "name": "punctuation.definition.markdown"
875
+ },
876
+ "4": {
877
+ "name": "fenced_code.block.language.markdown"
878
+ },
879
+ "5": {
880
+ "name": "fenced_code.block.language.attributes.markdown"
881
+ }
882
+ },
883
+ "endCaptures": {
884
+ "3": {
885
+ "name": "punctuation.definition.markdown"
886
+ }
887
+ },
888
+ "patterns": [
889
+ {
890
+ "begin": "(^|\\G)(\\s*)(.*)",
891
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
892
+ "contentName": "meta.embedded.block.go",
893
+ "patterns": [
894
+ {
895
+ "include": "source.go"
896
+ }
897
+ ]
898
+ }
899
+ ]
900
+ },
901
+ "fenced_code_block_groovy": {
902
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(groovy|gvy)((\\s+|:|\\{)[^`~]*)?$)",
903
+ "name": "markup.fenced_code.block.markdown",
904
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
905
+ "beginCaptures": {
906
+ "3": {
907
+ "name": "punctuation.definition.markdown"
908
+ },
909
+ "4": {
910
+ "name": "fenced_code.block.language.markdown"
911
+ },
912
+ "5": {
913
+ "name": "fenced_code.block.language.attributes.markdown"
914
+ }
915
+ },
916
+ "endCaptures": {
917
+ "3": {
918
+ "name": "punctuation.definition.markdown"
919
+ }
920
+ },
921
+ "patterns": [
922
+ {
923
+ "begin": "(^|\\G)(\\s*)(.*)",
924
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
925
+ "contentName": "meta.embedded.block.groovy",
926
+ "patterns": [
927
+ {
928
+ "include": "source.groovy"
929
+ }
930
+ ]
931
+ }
932
+ ]
933
+ },
934
+ "fenced_code_block_pug": {
935
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|:|\\{)[^`~]*)?$)",
936
+ "name": "markup.fenced_code.block.markdown",
937
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
938
+ "beginCaptures": {
939
+ "3": {
940
+ "name": "punctuation.definition.markdown"
941
+ },
942
+ "4": {
943
+ "name": "fenced_code.block.language.markdown"
944
+ },
945
+ "5": {
946
+ "name": "fenced_code.block.language.attributes.markdown"
947
+ }
948
+ },
949
+ "endCaptures": {
950
+ "3": {
951
+ "name": "punctuation.definition.markdown"
952
+ }
953
+ },
954
+ "patterns": [
955
+ {
956
+ "begin": "(^|\\G)(\\s*)(.*)",
957
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
958
+ "contentName": "meta.embedded.block.pug",
959
+ "patterns": [
960
+ {
961
+ "include": "text.pug"
962
+ }
963
+ ]
964
+ }
965
+ ]
966
+ },
967
+ "fenced_code_block_js": {
968
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|\\{\\.js.+?\\})((\\s+|:|\\{)[^`~]*)?$)",
969
+ "name": "markup.fenced_code.block.markdown",
970
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
971
+ "beginCaptures": {
972
+ "3": {
973
+ "name": "punctuation.definition.markdown"
974
+ },
975
+ "4": {
976
+ "name": "fenced_code.block.language.markdown"
977
+ },
978
+ "5": {
979
+ "name": "fenced_code.block.language.attributes.markdown"
980
+ }
981
+ },
982
+ "endCaptures": {
983
+ "3": {
984
+ "name": "punctuation.definition.markdown"
985
+ }
986
+ },
987
+ "patterns": [
988
+ {
989
+ "begin": "(^|\\G)(\\s*)(.*)",
990
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
991
+ "contentName": "meta.embedded.block.javascript",
992
+ "patterns": [
993
+ {
994
+ "include": "source.js"
995
+ }
996
+ ]
997
+ }
998
+ ]
999
+ },
1000
+ "fenced_code_block_js_regexp": {
1001
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|:|\\{)[^`~]*)?$)",
1002
+ "name": "markup.fenced_code.block.markdown",
1003
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1004
+ "beginCaptures": {
1005
+ "3": {
1006
+ "name": "punctuation.definition.markdown"
1007
+ },
1008
+ "4": {
1009
+ "name": "fenced_code.block.language.markdown"
1010
+ },
1011
+ "5": {
1012
+ "name": "fenced_code.block.language.attributes.markdown"
1013
+ }
1014
+ },
1015
+ "endCaptures": {
1016
+ "3": {
1017
+ "name": "punctuation.definition.markdown"
1018
+ }
1019
+ },
1020
+ "patterns": [
1021
+ {
1022
+ "begin": "(^|\\G)(\\s*)(.*)",
1023
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1024
+ "contentName": "meta.embedded.block.js_regexp",
1025
+ "patterns": [
1026
+ {
1027
+ "include": "source.js.regexp"
1028
+ }
1029
+ ]
1030
+ }
1031
+ ]
1032
+ },
1033
+ "fenced_code_block_json": {
1034
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(json|json5|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|:|\\{)[^`~]*)?$)",
1035
+ "name": "markup.fenced_code.block.markdown",
1036
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1037
+ "beginCaptures": {
1038
+ "3": {
1039
+ "name": "punctuation.definition.markdown"
1040
+ },
1041
+ "4": {
1042
+ "name": "fenced_code.block.language.markdown"
1043
+ },
1044
+ "5": {
1045
+ "name": "fenced_code.block.language.attributes.markdown"
1046
+ }
1047
+ },
1048
+ "endCaptures": {
1049
+ "3": {
1050
+ "name": "punctuation.definition.markdown"
1051
+ }
1052
+ },
1053
+ "patterns": [
1054
+ {
1055
+ "begin": "(^|\\G)(\\s*)(.*)",
1056
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1057
+ "contentName": "meta.embedded.block.json",
1058
+ "patterns": [
1059
+ {
1060
+ "include": "source.json"
1061
+ }
1062
+ ]
1063
+ }
1064
+ ]
1065
+ },
1066
+ "fenced_code_block_jsonc": {
1067
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|:|\\{)[^`~]*)?$)",
1068
+ "name": "markup.fenced_code.block.markdown",
1069
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1070
+ "beginCaptures": {
1071
+ "3": {
1072
+ "name": "punctuation.definition.markdown"
1073
+ },
1074
+ "4": {
1075
+ "name": "fenced_code.block.language.markdown"
1076
+ },
1077
+ "5": {
1078
+ "name": "fenced_code.block.language.attributes.markdown"
1079
+ }
1080
+ },
1081
+ "endCaptures": {
1082
+ "3": {
1083
+ "name": "punctuation.definition.markdown"
1084
+ }
1085
+ },
1086
+ "patterns": [
1087
+ {
1088
+ "begin": "(^|\\G)(\\s*)(.*)",
1089
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1090
+ "contentName": "meta.embedded.block.jsonc",
1091
+ "patterns": [
1092
+ {
1093
+ "include": "source.json.comments"
1094
+ }
1095
+ ]
1096
+ }
1097
+ ]
1098
+ },
1099
+ "fenced_code_block_less": {
1100
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|:|\\{)[^`~]*)?$)",
1101
+ "name": "markup.fenced_code.block.markdown",
1102
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1103
+ "beginCaptures": {
1104
+ "3": {
1105
+ "name": "punctuation.definition.markdown"
1106
+ },
1107
+ "4": {
1108
+ "name": "fenced_code.block.language.markdown"
1109
+ },
1110
+ "5": {
1111
+ "name": "fenced_code.block.language.attributes.markdown"
1112
+ }
1113
+ },
1114
+ "endCaptures": {
1115
+ "3": {
1116
+ "name": "punctuation.definition.markdown"
1117
+ }
1118
+ },
1119
+ "patterns": [
1120
+ {
1121
+ "begin": "(^|\\G)(\\s*)(.*)",
1122
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1123
+ "contentName": "meta.embedded.block.less",
1124
+ "patterns": [
1125
+ {
1126
+ "include": "source.css.less"
1127
+ }
1128
+ ]
1129
+ }
1130
+ ]
1131
+ },
1132
+ "fenced_code_block_objc": {
1133
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\s+|:|\\{)[^`~]*)?$)",
1134
+ "name": "markup.fenced_code.block.markdown",
1135
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1136
+ "beginCaptures": {
1137
+ "3": {
1138
+ "name": "punctuation.definition.markdown"
1139
+ },
1140
+ "4": {
1141
+ "name": "fenced_code.block.language.markdown"
1142
+ },
1143
+ "5": {
1144
+ "name": "fenced_code.block.language.attributes.markdown"
1145
+ }
1146
+ },
1147
+ "endCaptures": {
1148
+ "3": {
1149
+ "name": "punctuation.definition.markdown"
1150
+ }
1151
+ },
1152
+ "patterns": [
1153
+ {
1154
+ "begin": "(^|\\G)(\\s*)(.*)",
1155
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1156
+ "contentName": "meta.embedded.block.objc",
1157
+ "patterns": [
1158
+ {
1159
+ "include": "source.objc"
1160
+ }
1161
+ ]
1162
+ }
1163
+ ]
1164
+ },
1165
+ "fenced_code_block_swift": {
1166
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|:|\\{)[^`~]*)?$)",
1167
+ "name": "markup.fenced_code.block.markdown",
1168
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1169
+ "beginCaptures": {
1170
+ "3": {
1171
+ "name": "punctuation.definition.markdown"
1172
+ },
1173
+ "4": {
1174
+ "name": "fenced_code.block.language.markdown"
1175
+ },
1176
+ "5": {
1177
+ "name": "fenced_code.block.language.attributes.markdown"
1178
+ }
1179
+ },
1180
+ "endCaptures": {
1181
+ "3": {
1182
+ "name": "punctuation.definition.markdown"
1183
+ }
1184
+ },
1185
+ "patterns": [
1186
+ {
1187
+ "begin": "(^|\\G)(\\s*)(.*)",
1188
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1189
+ "contentName": "meta.embedded.block.swift",
1190
+ "patterns": [
1191
+ {
1192
+ "include": "source.swift"
1193
+ }
1194
+ ]
1195
+ }
1196
+ ]
1197
+ },
1198
+ "fenced_code_block_scss": {
1199
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|:|\\{)[^`~]*)?$)",
1200
+ "name": "markup.fenced_code.block.markdown",
1201
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1202
+ "beginCaptures": {
1203
+ "3": {
1204
+ "name": "punctuation.definition.markdown"
1205
+ },
1206
+ "4": {
1207
+ "name": "fenced_code.block.language.markdown"
1208
+ },
1209
+ "5": {
1210
+ "name": "fenced_code.block.language.attributes.markdown"
1211
+ }
1212
+ },
1213
+ "endCaptures": {
1214
+ "3": {
1215
+ "name": "punctuation.definition.markdown"
1216
+ }
1217
+ },
1218
+ "patterns": [
1219
+ {
1220
+ "begin": "(^|\\G)(\\s*)(.*)",
1221
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1222
+ "contentName": "meta.embedded.block.scss",
1223
+ "patterns": [
1224
+ {
1225
+ "include": "source.css.scss"
1226
+ }
1227
+ ]
1228
+ }
1229
+ ]
1230
+ },
1231
+ "fenced_code_block_perl6": {
1232
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|:|\\{)[^`~]*)?$)",
1233
+ "name": "markup.fenced_code.block.markdown",
1234
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1235
+ "beginCaptures": {
1236
+ "3": {
1237
+ "name": "punctuation.definition.markdown"
1238
+ },
1239
+ "4": {
1240
+ "name": "fenced_code.block.language.markdown"
1241
+ },
1242
+ "5": {
1243
+ "name": "fenced_code.block.language.attributes.markdown"
1244
+ }
1245
+ },
1246
+ "endCaptures": {
1247
+ "3": {
1248
+ "name": "punctuation.definition.markdown"
1249
+ }
1250
+ },
1251
+ "patterns": [
1252
+ {
1253
+ "begin": "(^|\\G)(\\s*)(.*)",
1254
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1255
+ "contentName": "meta.embedded.block.perl6",
1256
+ "patterns": [
1257
+ {
1258
+ "include": "source.perl.6"
1259
+ }
1260
+ ]
1261
+ }
1262
+ ]
1263
+ },
1264
+ "fenced_code_block_powershell": {
1265
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(powershell|ps1|psm1|psd1)((\\s+|:|\\{)[^`~]*)?$)",
1266
+ "name": "markup.fenced_code.block.markdown",
1267
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1268
+ "beginCaptures": {
1269
+ "3": {
1270
+ "name": "punctuation.definition.markdown"
1271
+ },
1272
+ "4": {
1273
+ "name": "fenced_code.block.language.markdown"
1274
+ },
1275
+ "5": {
1276
+ "name": "fenced_code.block.language.attributes.markdown"
1277
+ }
1278
+ },
1279
+ "endCaptures": {
1280
+ "3": {
1281
+ "name": "punctuation.definition.markdown"
1282
+ }
1283
+ },
1284
+ "patterns": [
1285
+ {
1286
+ "begin": "(^|\\G)(\\s*)(.*)",
1287
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1288
+ "contentName": "meta.embedded.block.powershell",
1289
+ "patterns": [
1290
+ {
1291
+ "include": "source.powershell"
1292
+ }
1293
+ ]
1294
+ }
1295
+ ]
1296
+ },
1297
+ "fenced_code_block_python": {
1298
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\{\\.python.+?\\})((\\s+|:|\\{)[^`~]*)?$)",
1299
+ "name": "markup.fenced_code.block.markdown",
1300
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1301
+ "beginCaptures": {
1302
+ "3": {
1303
+ "name": "punctuation.definition.markdown"
1304
+ },
1305
+ "4": {
1306
+ "name": "fenced_code.block.language.markdown"
1307
+ },
1308
+ "5": {
1309
+ "name": "fenced_code.block.language.attributes.markdown"
1310
+ }
1311
+ },
1312
+ "endCaptures": {
1313
+ "3": {
1314
+ "name": "punctuation.definition.markdown"
1315
+ }
1316
+ },
1317
+ "patterns": [
1318
+ {
1319
+ "begin": "(^|\\G)(\\s*)(.*)",
1320
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1321
+ "contentName": "meta.embedded.block.python",
1322
+ "patterns": [
1323
+ {
1324
+ "include": "source.python"
1325
+ }
1326
+ ]
1327
+ }
1328
+ ]
1329
+ },
1330
+ "fenced_code_block_regexp_python": {
1331
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|:|\\{)[^`~]*)?$)",
1332
+ "name": "markup.fenced_code.block.markdown",
1333
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1334
+ "beginCaptures": {
1335
+ "3": {
1336
+ "name": "punctuation.definition.markdown"
1337
+ },
1338
+ "4": {
1339
+ "name": "fenced_code.block.language.markdown"
1340
+ },
1341
+ "5": {
1342
+ "name": "fenced_code.block.language.attributes.markdown"
1343
+ }
1344
+ },
1345
+ "endCaptures": {
1346
+ "3": {
1347
+ "name": "punctuation.definition.markdown"
1348
+ }
1349
+ },
1350
+ "patterns": [
1351
+ {
1352
+ "begin": "(^|\\G)(\\s*)(.*)",
1353
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1354
+ "contentName": "meta.embedded.block.regexp_python",
1355
+ "patterns": [
1356
+ {
1357
+ "include": "source.regexp.python"
1358
+ }
1359
+ ]
1360
+ }
1361
+ ]
1362
+ },
1363
+ "fenced_code_block_rust": {
1364
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?\\})((\\s+|:|\\{)[^`~]*)?$)",
1365
+ "name": "markup.fenced_code.block.markdown",
1366
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1367
+ "beginCaptures": {
1368
+ "3": {
1369
+ "name": "punctuation.definition.markdown"
1370
+ },
1371
+ "4": {
1372
+ "name": "fenced_code.block.language.markdown"
1373
+ },
1374
+ "5": {
1375
+ "name": "fenced_code.block.language.attributes.markdown"
1376
+ }
1377
+ },
1378
+ "endCaptures": {
1379
+ "3": {
1380
+ "name": "punctuation.definition.markdown"
1381
+ }
1382
+ },
1383
+ "patterns": [
1384
+ {
1385
+ "begin": "(^|\\G)(\\s*)(.*)",
1386
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1387
+ "contentName": "meta.embedded.block.rust",
1388
+ "patterns": [
1389
+ {
1390
+ "include": "source.rust"
1391
+ }
1392
+ ]
1393
+ }
1394
+ ]
1395
+ },
1396
+ "fenced_code_block_scala": {
1397
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(scala|sbt)((\\s+|:|\\{)[^`~]*)?$)",
1398
+ "name": "markup.fenced_code.block.markdown",
1399
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1400
+ "beginCaptures": {
1401
+ "3": {
1402
+ "name": "punctuation.definition.markdown"
1403
+ },
1404
+ "4": {
1405
+ "name": "fenced_code.block.language.markdown"
1406
+ },
1407
+ "5": {
1408
+ "name": "fenced_code.block.language.attributes.markdown"
1409
+ }
1410
+ },
1411
+ "endCaptures": {
1412
+ "3": {
1413
+ "name": "punctuation.definition.markdown"
1414
+ }
1415
+ },
1416
+ "patterns": [
1417
+ {
1418
+ "begin": "(^|\\G)(\\s*)(.*)",
1419
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1420
+ "contentName": "meta.embedded.block.scala",
1421
+ "patterns": [
1422
+ {
1423
+ "include": "source.scala"
1424
+ }
1425
+ ]
1426
+ }
1427
+ ]
1428
+ },
1429
+ "fenced_code_block_shell": {
1430
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?\\})((\\s+|:|\\{)[^`~]*)?$)",
1431
+ "name": "markup.fenced_code.block.markdown",
1432
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1433
+ "beginCaptures": {
1434
+ "3": {
1435
+ "name": "punctuation.definition.markdown"
1436
+ },
1437
+ "4": {
1438
+ "name": "fenced_code.block.language.markdown"
1439
+ },
1440
+ "5": {
1441
+ "name": "fenced_code.block.language.attributes.markdown"
1442
+ }
1443
+ },
1444
+ "endCaptures": {
1445
+ "3": {
1446
+ "name": "punctuation.definition.markdown"
1447
+ }
1448
+ },
1449
+ "patterns": [
1450
+ {
1451
+ "begin": "(^|\\G)(\\s*)(.*)",
1452
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1453
+ "contentName": "meta.embedded.block.shellscript",
1454
+ "patterns": [
1455
+ {
1456
+ "include": "source.shell"
1457
+ }
1458
+ ]
1459
+ }
1460
+ ]
1461
+ },
1462
+ "fenced_code_block_ts": {
1463
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(typescript|ts)((\\s+|:|\\{)[^`~]*)?$)",
1464
+ "name": "markup.fenced_code.block.markdown",
1465
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1466
+ "beginCaptures": {
1467
+ "3": {
1468
+ "name": "punctuation.definition.markdown"
1469
+ },
1470
+ "4": {
1471
+ "name": "fenced_code.block.language.markdown"
1472
+ },
1473
+ "5": {
1474
+ "name": "fenced_code.block.language.attributes.markdown"
1475
+ }
1476
+ },
1477
+ "endCaptures": {
1478
+ "3": {
1479
+ "name": "punctuation.definition.markdown"
1480
+ }
1481
+ },
1482
+ "patterns": [
1483
+ {
1484
+ "begin": "(^|\\G)(\\s*)(.*)",
1485
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1486
+ "contentName": "meta.embedded.block.typescript",
1487
+ "patterns": [
1488
+ {
1489
+ "include": "source.ts"
1490
+ }
1491
+ ]
1492
+ }
1493
+ ]
1494
+ },
1495
+ "fenced_code_block_tsx": {
1496
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|:|\\{)[^`~]*)?$)",
1497
+ "name": "markup.fenced_code.block.markdown",
1498
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1499
+ "beginCaptures": {
1500
+ "3": {
1501
+ "name": "punctuation.definition.markdown"
1502
+ },
1503
+ "4": {
1504
+ "name": "fenced_code.block.language.markdown"
1505
+ },
1506
+ "5": {
1507
+ "name": "fenced_code.block.language.attributes.markdown"
1508
+ }
1509
+ },
1510
+ "endCaptures": {
1511
+ "3": {
1512
+ "name": "punctuation.definition.markdown"
1513
+ }
1514
+ },
1515
+ "patterns": [
1516
+ {
1517
+ "begin": "(^|\\G)(\\s*)(.*)",
1518
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1519
+ "contentName": "meta.embedded.block.typescriptreact",
1520
+ "patterns": [
1521
+ {
1522
+ "include": "source.tsx"
1523
+ }
1524
+ ]
1525
+ }
1526
+ ]
1527
+ },
1528
+ "fenced_code_block_csharp": {
1529
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(cs|csharp|c#)((\\s+|:|\\{)[^`~]*)?$)",
1530
+ "name": "markup.fenced_code.block.markdown",
1531
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1532
+ "beginCaptures": {
1533
+ "3": {
1534
+ "name": "punctuation.definition.markdown"
1535
+ },
1536
+ "4": {
1537
+ "name": "fenced_code.block.language.markdown"
1538
+ },
1539
+ "5": {
1540
+ "name": "fenced_code.block.language.attributes.markdown"
1541
+ }
1542
+ },
1543
+ "endCaptures": {
1544
+ "3": {
1545
+ "name": "punctuation.definition.markdown"
1546
+ }
1547
+ },
1548
+ "patterns": [
1549
+ {
1550
+ "begin": "(^|\\G)(\\s*)(.*)",
1551
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1552
+ "contentName": "meta.embedded.block.csharp",
1553
+ "patterns": [
1554
+ {
1555
+ "include": "source.cs"
1556
+ }
1557
+ ]
1558
+ }
1559
+ ]
1560
+ },
1561
+ "fenced_code_block_fsharp": {
1562
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(fs|fsharp|f#)((\\s+|:|\\{)[^`~]*)?$)",
1563
+ "name": "markup.fenced_code.block.markdown",
1564
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1565
+ "beginCaptures": {
1566
+ "3": {
1567
+ "name": "punctuation.definition.markdown"
1568
+ },
1569
+ "4": {
1570
+ "name": "fenced_code.block.language.markdown"
1571
+ },
1572
+ "5": {
1573
+ "name": "fenced_code.block.language.attributes.markdown"
1574
+ }
1575
+ },
1576
+ "endCaptures": {
1577
+ "3": {
1578
+ "name": "punctuation.definition.markdown"
1579
+ }
1580
+ },
1581
+ "patterns": [
1582
+ {
1583
+ "begin": "(^|\\G)(\\s*)(.*)",
1584
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1585
+ "contentName": "meta.embedded.block.fsharp",
1586
+ "patterns": [
1587
+ {
1588
+ "include": "source.fsharp"
1589
+ }
1590
+ ]
1591
+ }
1592
+ ]
1593
+ },
1594
+ "fenced_code_block_dart": {
1595
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|:|\\{)[^`~]*)?$)",
1596
+ "name": "markup.fenced_code.block.markdown",
1597
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1598
+ "beginCaptures": {
1599
+ "3": {
1600
+ "name": "punctuation.definition.markdown"
1601
+ },
1602
+ "4": {
1603
+ "name": "fenced_code.block.language.markdown"
1604
+ },
1605
+ "5": {
1606
+ "name": "fenced_code.block.language.attributes.markdown"
1607
+ }
1608
+ },
1609
+ "endCaptures": {
1610
+ "3": {
1611
+ "name": "punctuation.definition.markdown"
1612
+ }
1613
+ },
1614
+ "patterns": [
1615
+ {
1616
+ "begin": "(^|\\G)(\\s*)(.*)",
1617
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1618
+ "contentName": "meta.embedded.block.dart",
1619
+ "patterns": [
1620
+ {
1621
+ "include": "source.dart"
1622
+ }
1623
+ ]
1624
+ }
1625
+ ]
1626
+ },
1627
+ "fenced_code_block_handlebars": {
1628
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)((\\s+|:|\\{)[^`~]*)?$)",
1629
+ "name": "markup.fenced_code.block.markdown",
1630
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1631
+ "beginCaptures": {
1632
+ "3": {
1633
+ "name": "punctuation.definition.markdown"
1634
+ },
1635
+ "4": {
1636
+ "name": "fenced_code.block.language.markdown"
1637
+ },
1638
+ "5": {
1639
+ "name": "fenced_code.block.language.attributes.markdown"
1640
+ }
1641
+ },
1642
+ "endCaptures": {
1643
+ "3": {
1644
+ "name": "punctuation.definition.markdown"
1645
+ }
1646
+ },
1647
+ "patterns": [
1648
+ {
1649
+ "begin": "(^|\\G)(\\s*)(.*)",
1650
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1651
+ "contentName": "meta.embedded.block.handlebars",
1652
+ "patterns": [
1653
+ {
1654
+ "include": "text.html.handlebars"
1655
+ }
1656
+ ]
1657
+ }
1658
+ ]
1659
+ },
1660
+ "fenced_code_block_markdown": {
1661
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|\\{)[^`~]*)?$)",
1662
+ "name": "markup.fenced_code.block.markdown",
1663
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1664
+ "beginCaptures": {
1665
+ "3": {
1666
+ "name": "punctuation.definition.markdown"
1667
+ },
1668
+ "4": {
1669
+ "name": "fenced_code.block.language.markdown"
1670
+ },
1671
+ "5": {
1672
+ "name": "fenced_code.block.language.attributes.markdown"
1673
+ }
1674
+ },
1675
+ "endCaptures": {
1676
+ "3": {
1677
+ "name": "punctuation.definition.markdown"
1678
+ }
1679
+ },
1680
+ "patterns": [
1681
+ {
1682
+ "begin": "(^|\\G)(\\s*)(.*)",
1683
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1684
+ "contentName": "meta.embedded.block.markdown",
1685
+ "patterns": [
1686
+ {
1687
+ "include": "text.html.markdown"
1688
+ }
1689
+ ]
1690
+ }
1691
+ ]
1692
+ },
1693
+ "fenced_code_block_log": {
1694
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|:|\\{)[^`~]*)?$)",
1695
+ "name": "markup.fenced_code.block.markdown",
1696
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1697
+ "beginCaptures": {
1698
+ "3": {
1699
+ "name": "punctuation.definition.markdown"
1700
+ },
1701
+ "4": {
1702
+ "name": "fenced_code.block.language.markdown"
1703
+ },
1704
+ "5": {
1705
+ "name": "fenced_code.block.language.attributes.markdown"
1706
+ }
1707
+ },
1708
+ "endCaptures": {
1709
+ "3": {
1710
+ "name": "punctuation.definition.markdown"
1711
+ }
1712
+ },
1713
+ "patterns": [
1714
+ {
1715
+ "begin": "(^|\\G)(\\s*)(.*)",
1716
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*(-/|$))",
1717
+ "contentName": "meta.embedded.block.log",
1718
+ "patterns": [
1719
+ {
1720
+ "include": "text.log"
1721
+ }
1722
+ ]
1723
+ }
1724
+ ]
1725
+ },
1726
+ "fenced_code_block": {
1727
+ "patterns": [
1728
+ {
1729
+ "include": "#fenced_code_block_css"
1730
+ },
1731
+ {
1732
+ "include": "#fenced_code_block_basic"
1733
+ },
1734
+ {
1735
+ "include": "#fenced_code_block_ini"
1736
+ },
1737
+ {
1738
+ "include": "#fenced_code_block_java"
1739
+ },
1740
+ {
1741
+ "include": "#fenced_code_block_lua"
1742
+ },
1743
+ {
1744
+ "include": "#fenced_code_block_makefile"
1745
+ },
1746
+ {
1747
+ "include": "#fenced_code_block_perl"
1748
+ },
1749
+ {
1750
+ "include": "#fenced_code_block_r"
1751
+ },
1752
+ {
1753
+ "include": "#fenced_code_block_ruby"
1754
+ },
1755
+ {
1756
+ "include": "#fenced_code_block_php"
1757
+ },
1758
+ {
1759
+ "include": "#fenced_code_block_sql"
1760
+ },
1761
+ {
1762
+ "include": "#fenced_code_block_vs_net"
1763
+ },
1764
+ {
1765
+ "include": "#fenced_code_block_xml"
1766
+ },
1767
+ {
1768
+ "include": "#fenced_code_block_xsl"
1769
+ },
1770
+ {
1771
+ "include": "#fenced_code_block_yaml"
1772
+ },
1773
+ {
1774
+ "include": "#fenced_code_block_dosbatch"
1775
+ },
1776
+ {
1777
+ "include": "#fenced_code_block_clojure"
1778
+ },
1779
+ {
1780
+ "include": "#fenced_code_block_coffee"
1781
+ },
1782
+ {
1783
+ "include": "#fenced_code_block_c"
1784
+ },
1785
+ {
1786
+ "include": "#fenced_code_block_cpp"
1787
+ },
1788
+ {
1789
+ "include": "#fenced_code_block_diff"
1790
+ },
1791
+ {
1792
+ "include": "#fenced_code_block_dockerfile"
1793
+ },
1794
+ {
1795
+ "include": "#fenced_code_block_git_commit"
1796
+ },
1797
+ {
1798
+ "include": "#fenced_code_block_git_rebase"
1799
+ },
1800
+ {
1801
+ "include": "#fenced_code_block_go"
1802
+ },
1803
+ {
1804
+ "include": "#fenced_code_block_groovy"
1805
+ },
1806
+ {
1807
+ "include": "#fenced_code_block_pug"
1808
+ },
1809
+ {
1810
+ "include": "#fenced_code_block_js"
1811
+ },
1812
+ {
1813
+ "include": "#fenced_code_block_js_regexp"
1814
+ },
1815
+ {
1816
+ "include": "#fenced_code_block_json"
1817
+ },
1818
+ {
1819
+ "include": "#fenced_code_block_jsonc"
1820
+ },
1821
+ {
1822
+ "include": "#fenced_code_block_less"
1823
+ },
1824
+ {
1825
+ "include": "#fenced_code_block_objc"
1826
+ },
1827
+ {
1828
+ "include": "#fenced_code_block_swift"
1829
+ },
1830
+ {
1831
+ "include": "#fenced_code_block_scss"
1832
+ },
1833
+ {
1834
+ "include": "#fenced_code_block_perl6"
1835
+ },
1836
+ {
1837
+ "include": "#fenced_code_block_powershell"
1838
+ },
1839
+ {
1840
+ "include": "#fenced_code_block_python"
1841
+ },
1842
+ {
1843
+ "include": "#fenced_code_block_regexp_python"
1844
+ },
1845
+ {
1846
+ "include": "#fenced_code_block_rust"
1847
+ },
1848
+ {
1849
+ "include": "#fenced_code_block_scala"
1850
+ },
1851
+ {
1852
+ "include": "#fenced_code_block_shell"
1853
+ },
1854
+ {
1855
+ "include": "#fenced_code_block_ts"
1856
+ },
1857
+ {
1858
+ "include": "#fenced_code_block_tsx"
1859
+ },
1860
+ {
1861
+ "include": "#fenced_code_block_csharp"
1862
+ },
1863
+ {
1864
+ "include": "#fenced_code_block_fsharp"
1865
+ },
1866
+ {
1867
+ "include": "#fenced_code_block_dart"
1868
+ },
1869
+ {
1870
+ "include": "#fenced_code_block_handlebars"
1871
+ },
1872
+ {
1873
+ "include": "#fenced_code_block_markdown"
1874
+ },
1875
+ {
1876
+ "include": "#fenced_code_block_log"
1877
+ },
1878
+ {
1879
+ "include": "#fenced_code_block_unknown"
1880
+ }
1881
+ ]
1882
+ },
1883
+ "fenced_code_block_unknown": {
1884
+ "begin": "(^)(\\s*)(`{3,}|~{3,})\\s*(?=([^`~]*)?$)",
1885
+ "beginCaptures": {
1886
+ "3": {
1887
+ "name": "punctuation.definition.markdown"
1888
+ },
1889
+ "4": {
1890
+ "name": "fenced_code.block.language"
1891
+ }
1892
+ },
1893
+ "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*(?=-/|$)",
1894
+ "endCaptures": {
1895
+ "3": {
1896
+ "name": "punctuation.definition.markdown"
1897
+ }
1898
+ },
1899
+ "name": "markup.fenced_code.block.markdown"
1900
+ },
1901
+ "heading": {
1902
+ "match": "(?:^|\\G)[ ]{0,3}((#{1,6})\\s+(?=[\\S[^#]]).*?\\s*(#{1,6})?)((?=-/)|$\\n?)",
1903
+ "captures": {
1904
+ "1": {
1905
+ "patterns": [
1906
+ {
1907
+ "match": "(#{6})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1908
+ "name": "heading.6.markdown",
1909
+ "captures": {
1910
+ "1": {
1911
+ "name": "punctuation.definition.heading.markdown"
1912
+ },
1913
+ "2": {
1914
+ "name": "entity.name.section.markdown"
1915
+ },
1916
+ "3": {
1917
+ "name": "punctuation.definition.heading.markdown"
1918
+ }
1919
+ }
1920
+ },
1921
+ {
1922
+ "match": "(#{5})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1923
+ "name": "heading.5.markdown",
1924
+ "captures": {
1925
+ "1": {
1926
+ "name": "punctuation.definition.heading.markdown"
1927
+ },
1928
+ "2": {
1929
+ "name": "entity.name.section.markdown"
1930
+ },
1931
+ "3": {
1932
+ "name": "punctuation.definition.heading.markdown"
1933
+ }
1934
+ }
1935
+ },
1936
+ {
1937
+ "match": "(#{4})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1938
+ "name": "heading.4.markdown",
1939
+ "captures": {
1940
+ "1": {
1941
+ "name": "punctuation.definition.heading.markdown"
1942
+ },
1943
+ "2": {
1944
+ "name": "entity.name.section.markdown"
1945
+ },
1946
+ "3": {
1947
+ "name": "punctuation.definition.heading.markdown"
1948
+ }
1949
+ }
1950
+ },
1951
+ {
1952
+ "match": "(#{3})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1953
+ "name": "heading.3.markdown",
1954
+ "captures": {
1955
+ "1": {
1956
+ "name": "punctuation.definition.heading.markdown"
1957
+ },
1958
+ "2": {
1959
+ "name": "entity.name.section.markdown"
1960
+ },
1961
+ "3": {
1962
+ "name": "punctuation.definition.heading.markdown"
1963
+ }
1964
+ }
1965
+ },
1966
+ {
1967
+ "match": "(#{2})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1968
+ "name": "heading.2.markdown",
1969
+ "captures": {
1970
+ "1": {
1971
+ "name": "punctuation.definition.heading.markdown"
1972
+ },
1973
+ "2": {
1974
+ "name": "entity.name.section.markdown"
1975
+ },
1976
+ "3": {
1977
+ "name": "punctuation.definition.heading.markdown"
1978
+ }
1979
+ }
1980
+ },
1981
+ {
1982
+ "match": "(#{1})\\s+(?=[\\S[^#]])(.*?)\\s*(\\s+#+)?$\\n?",
1983
+ "name": "heading.1.markdown",
1984
+ "captures": {
1985
+ "1": {
1986
+ "name": "punctuation.definition.heading.markdown"
1987
+ },
1988
+ "2": {
1989
+ "name": "entity.name.section.markdown"
1990
+ },
1991
+ "3": {
1992
+ "name": "punctuation.definition.heading.markdown"
1993
+ }
1994
+ }
1995
+ }
1996
+ ]
1997
+ }
1998
+ },
1999
+ "name": "markup.heading.markdown",
2000
+ "patterns": [
2001
+ {
2002
+ "include": "#inline"
2003
+ }
2004
+ ]
2005
+ },
2006
+ "heading-setext": {
2007
+ "patterns": [
2008
+ {
2009
+ "match": "^(={3,})(?=[ \\t]*$\\n?)",
2010
+ "name": "markup.heading.setext.1.markdown"
2011
+ },
2012
+ {
2013
+ "match": "^(-{3,})(?=[ \\t]*$\\n?)",
2014
+ "name": "markup.heading.setext.2.markdown"
2015
+ }
2016
+ ]
2017
+ },
2018
+ "html": {
2019
+ "patterns": [
2020
+ {
2021
+ "begin": "(^|\\G)\\s*(<!--)",
2022
+ "captures": {
2023
+ "1": {
2024
+ "name": "punctuation.definition.comment.html"
2025
+ },
2026
+ "2": {
2027
+ "name": "punctuation.definition.comment.html"
2028
+ }
2029
+ },
2030
+ "end": "(-->)",
2031
+ "name": "comment.block.html"
2032
+ },
2033
+ {
2034
+ "begin": "(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))",
2035
+ "end": "(?i)(.*)((</)(script|style|pre)(>))",
2036
+ "endCaptures": {
2037
+ "1": {
2038
+ "patterns": [
2039
+ {
2040
+ "include": "text.html.derivative"
2041
+ }
2042
+ ]
2043
+ },
2044
+ "2": {
2045
+ "name": "meta.tag.structure.$4.end.html"
2046
+ },
2047
+ "3": {
2048
+ "name": "punctuation.definition.tag.begin.html"
2049
+ },
2050
+ "4": {
2051
+ "name": "entity.name.tag.html"
2052
+ },
2053
+ "5": {
2054
+ "name": "punctuation.definition.tag.end.html"
2055
+ }
2056
+ },
2057
+ "patterns": [
2058
+ {
2059
+ "begin": "(\\s*|$)",
2060
+ "patterns": [
2061
+ {
2062
+ "include": "text.html.derivative"
2063
+ }
2064
+ ],
2065
+ "while": "(?i)^(?!.*</(script|style|pre)>)"
2066
+ }
2067
+ ]
2068
+ },
2069
+ {
2070
+ "begin": "(?i)(^|\\G)\\s*(?=</?[a-zA-Z]+[^\\s/&gt;]*(\\s|$|/?>))",
2071
+ "patterns": [
2072
+ {
2073
+ "include": "text.html.derivative"
2074
+ }
2075
+ ],
2076
+ "while": "^(?!\\s*$)"
2077
+ },
2078
+ {
2079
+ "begin": "(^|\\G)\\s*(?=(<[a-zA-Z0-9\\-](/?>|\\s.*?>)|</[a-zA-Z0-9\\-]>)\\s*$)",
2080
+ "patterns": [
2081
+ {
2082
+ "include": "text.html.derivative"
2083
+ }
2084
+ ],
2085
+ "while": "^(?!\\s*$)"
2086
+ }
2087
+ ]
2088
+ },
2089
+ "link-def": {
2090
+ "captures": {
2091
+ "1": {
2092
+ "name": "punctuation.definition.constant.markdown"
2093
+ },
2094
+ "2": {
2095
+ "name": "constant.other.reference.link.markdown"
2096
+ },
2097
+ "3": {
2098
+ "name": "punctuation.definition.constant.markdown"
2099
+ },
2100
+ "4": {
2101
+ "name": "punctuation.separator.key-value.markdown"
2102
+ },
2103
+ "5": {
2104
+ "name": "punctuation.definition.link.markdown"
2105
+ },
2106
+ "6": {
2107
+ "name": "markup.underline.link.markdown"
2108
+ },
2109
+ "7": {
2110
+ "name": "punctuation.definition.link.markdown"
2111
+ },
2112
+ "8": {
2113
+ "name": "string.other.link.description.title.markdown"
2114
+ },
2115
+ "9": {
2116
+ "name": "punctuation.definition.string.begin.markdown"
2117
+ },
2118
+ "10": {
2119
+ "name": "punctuation.definition.string.end.markdown"
2120
+ },
2121
+ "11": {
2122
+ "name": "string.other.link.description.title.markdown"
2123
+ },
2124
+ "12": {
2125
+ "name": "punctuation.definition.string.begin.markdown"
2126
+ },
2127
+ "13": {
2128
+ "name": "punctuation.definition.string.end.markdown"
2129
+ }
2130
+ },
2131
+ "match": "(?x)\n \\s* # Leading whitespace\n (\\[)([^]]+?)(\\])(:) # Reference name\n [ \\t]* # Optional whitespace\n (<?)(\\S+?)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in quotes…\n | ((\").+?(\")) # or in parens.\n )? # Title is optional\n \\s* # Optional whitespace\n $\n",
2132
+ "name": "meta.link.reference.def.markdown"
2133
+ },
2134
+ "list_paragraph": {
2135
+ "begin": "(^)(?=\\S)(?![*+->]\\s|[0-9]+\\.\\s)",
2136
+ "name": "meta.paragraph.markdown",
2137
+ "patterns": [
2138
+ {
2139
+ "include": "#inline"
2140
+ },
2141
+ {
2142
+ "include": "text.html.derivative"
2143
+ },
2144
+ {
2145
+ "include": "#heading-setext"
2146
+ }
2147
+ ],
2148
+ "while": "(^|\\G)(?!-/|\\s*$|#|[ ]{0,3}([-*_>][ ]{2,}){3,}[ \\t]*$\\n?|[ ]{0,3}[*+->]|[ ]{0,3}[0-9]+\\.)"
2149
+ },
2150
+ "lists": {
2151
+ "patterns": [
2152
+ {
2153
+ "begin": "(^)([ ]{0,3})([*+-])([ \\t])(?!.*-/)",
2154
+ "why": "removed \\G because that also matches right after the begin of the comment",
2155
+ "beginCaptures": {
2156
+ "3": {
2157
+ "name": "punctuation.definition.list.begin.markdown"
2158
+ }
2159
+ },
2160
+ "comment": "Currently does not support un-indented second lines.",
2161
+ "name": "markup.list.unnumbered.markdown",
2162
+ "patterns": [
2163
+ {
2164
+ "include": "#block"
2165
+ },
2166
+ {
2167
+ "include": "#list_paragraph"
2168
+ }
2169
+ ],
2170
+ "while": "((^|\\G)(?!.*-/)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2171
+ },
2172
+ {
2173
+ "begin": "(^)([ ]{0,3})([0-9]+\\.)([ \\t])(?!.*-/)",
2174
+ "why": "removed \\G because that also matches right after the begin of the comment",
2175
+ "beginCaptures": {
2176
+ "3": {
2177
+ "name": "punctuation.definition.list.begin.markdown"
2178
+ }
2179
+ },
2180
+ "name": "markup.list.numbered.markdown",
2181
+ "patterns": [
2182
+ {
2183
+ "include": "#block"
2184
+ },
2185
+ {
2186
+ "include": "#list_paragraph"
2187
+ }
2188
+ ],
2189
+ "while": "((^|\\G)(?!.*-/)([ ]{2,4}|\\t))|(^[ \\t]*$)"
2190
+ }
2191
+ ]
2192
+ },
2193
+ "paragraph": {
2194
+ "begin": "(^)[ ]{0,3}(?=\\S)",
2195
+ "name": "meta.paragraph.markdown",
2196
+ "patterns": [
2197
+ {
2198
+ "include": "#inline"
2199
+ },
2200
+ {
2201
+ "include": "text.html.derivative"
2202
+ },
2203
+ {
2204
+ "include": "#heading-setext"
2205
+ }
2206
+ ],
2207
+ "while": "(^|\\G)((?=\\s*[-=]{3,}\\s*$)|[ ]{4,}(?=\\S))"
2208
+ },
2209
+ "raw_block_disabled": {
2210
+ "why": "doc comments strip indentation",
2211
+ "begin": "(^)([ ]{4}|\\t)",
2212
+ "name": "markup.raw.block.markdown",
2213
+ "while": "(^|\\G)([ ]{4}|\\t)"
2214
+ },
2215
+ "separator": {
2216
+ "match": "(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?",
2217
+ "name": "meta.separator.markdown"
2218
+ },
2219
+ "frontMatter": {
2220
+ "begin": "\\A-{3}\\s*$",
2221
+ "contentName": "meta.embedded.block.frontmatter",
2222
+ "patterns": [
2223
+ {
2224
+ "include": "source.yaml"
2225
+ }
2226
+ ],
2227
+ "end": "(^|\\G)-{3}|\\.{3}\\s*$"
2228
+ },
2229
+ "inline": {
2230
+ "patterns": [
2231
+ {
2232
+ "include": "#ampersand"
2233
+ },
2234
+ {
2235
+ "include": "#bracket"
2236
+ },
2237
+ {
2238
+ "include": "#bold"
2239
+ },
2240
+ {
2241
+ "include": "#italic"
2242
+ },
2243
+ {
2244
+ "include": "#raw"
2245
+ },
2246
+ {
2247
+ "include": "#escape"
2248
+ },
2249
+ {
2250
+ "include": "#image-inline"
2251
+ },
2252
+ {
2253
+ "include": "#image-ref"
2254
+ },
2255
+ {
2256
+ "include": "#link-email"
2257
+ },
2258
+ {
2259
+ "include": "#link-inet"
2260
+ },
2261
+ {
2262
+ "include": "#link-inline"
2263
+ },
2264
+ {
2265
+ "include": "#link-ref"
2266
+ },
2267
+ {
2268
+ "include": "#link-ref-literal"
2269
+ },
2270
+ {
2271
+ "include": "#link-ref-shortcut"
2272
+ }
2273
+ ]
2274
+ },
2275
+ "ampersand": {
2276
+ "comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2277
+ "match": "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)",
2278
+ "name": "meta.other.valid-ampersand.markdown"
2279
+ },
2280
+ "bold": {
2281
+ "begin": "(?x) (\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__)(?=\\S) (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=__\\b|\\*\\*)\\1 # Close\n)\n",
2282
+ "captures": {
2283
+ "1": {
2284
+ "name": "punctuation.definition.bold.markdown"
2285
+ }
2286
+ },
2287
+ "end": "(?<=\\S)(\\1)",
2288
+ "name": "markup.bold.markdown",
2289
+ "patterns": [
2290
+ {
2291
+ "applyEndPatternLast": 1,
2292
+ "begin": "(?=<[^>]*?>)",
2293
+ "end": "(?<=>)",
2294
+ "patterns": [
2295
+ {
2296
+ "include": "text.html.derivative"
2297
+ }
2298
+ ]
2299
+ },
2300
+ {
2301
+ "include": "#escape"
2302
+ },
2303
+ {
2304
+ "include": "#ampersand"
2305
+ },
2306
+ {
2307
+ "include": "#bracket"
2308
+ },
2309
+ {
2310
+ "include": "#raw"
2311
+ },
2312
+ {
2313
+ "include": "#bold"
2314
+ },
2315
+ {
2316
+ "include": "#italic"
2317
+ },
2318
+ {
2319
+ "include": "#image-inline"
2320
+ },
2321
+ {
2322
+ "include": "#link-inline"
2323
+ },
2324
+ {
2325
+ "include": "#link-inet"
2326
+ },
2327
+ {
2328
+ "include": "#link-email"
2329
+ },
2330
+ {
2331
+ "include": "#image-ref"
2332
+ },
2333
+ {
2334
+ "include": "#link-ref-literal"
2335
+ },
2336
+ {
2337
+ "include": "#link-ref"
2338
+ },
2339
+ {
2340
+ "include": "#link-ref-shortcut"
2341
+ }
2342
+ ]
2343
+ },
2344
+ "bracket": {
2345
+ "comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",
2346
+ "match": "<(?![a-zA-Z/?\\$!])",
2347
+ "name": "meta.other.valid-bracket.markdown"
2348
+ },
2349
+ "escape": {
2350
+ "match": "\\\\[-`*_#+.!(){}\\[\\]\\\\>]",
2351
+ "name": "constant.character.escape.markdown"
2352
+ },
2353
+ "image-inline": {
2354
+ "captures": {
2355
+ "1": {
2356
+ "name": "punctuation.definition.string.begin.markdown"
2357
+ },
2358
+ "2": {
2359
+ "name": "string.other.link.description.markdown"
2360
+ },
2361
+ "4": {
2362
+ "name": "punctuation.definition.string.end.markdown"
2363
+ },
2364
+ "5": {
2365
+ "name": "punctuation.definition.metadata.markdown"
2366
+ },
2367
+ "6": {
2368
+ "name": "punctuation.definition.link.markdown"
2369
+ },
2370
+ "7": {
2371
+ "name": "markup.underline.link.image.markdown"
2372
+ },
2373
+ "8": {
2374
+ "name": "punctuation.definition.link.markdown"
2375
+ },
2376
+ "9": {
2377
+ "name": "string.other.link.description.title.markdown"
2378
+ },
2379
+ "10": {
2380
+ "name": "punctuation.definition.string.markdown"
2381
+ },
2382
+ "11": {
2383
+ "name": "punctuation.definition.string.markdown"
2384
+ },
2385
+ "12": {
2386
+ "name": "string.other.link.description.title.markdown"
2387
+ },
2388
+ "13": {
2389
+ "name": "punctuation.definition.string.markdown"
2390
+ },
2391
+ "14": {
2392
+ "name": "punctuation.definition.string.markdown"
2393
+ },
2394
+ "15": {
2395
+ "name": "punctuation.definition.metadata.markdown"
2396
+ }
2397
+ },
2398
+ "match": "(?x)\n (\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (<?)(\\S+?)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n",
2399
+ "name": "meta.image.inline.markdown"
2400
+ },
2401
+ "image-ref": {
2402
+ "captures": {
2403
+ "1": {
2404
+ "name": "punctuation.definition.string.begin.markdown"
2405
+ },
2406
+ "2": {
2407
+ "name": "string.other.link.description.markdown"
2408
+ },
2409
+ "4": {
2410
+ "name": "punctuation.definition.string.begin.markdown"
2411
+ },
2412
+ "5": {
2413
+ "name": "punctuation.definition.constant.markdown"
2414
+ },
2415
+ "6": {
2416
+ "name": "constant.other.reference.link.markdown"
2417
+ },
2418
+ "7": {
2419
+ "name": "punctuation.definition.constant.markdown"
2420
+ }
2421
+ },
2422
+ "match": "(\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])",
2423
+ "name": "meta.image.reference.markdown"
2424
+ },
2425
+ "italic": {
2426
+ "begin": "(?x) (\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_)(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whtiespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whtiespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | \\1\\1 # Must be bold closer\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=_\\b|\\*)\\1 # Close\n )\n",
2427
+ "captures": {
2428
+ "1": {
2429
+ "name": "punctuation.definition.italic.markdown"
2430
+ }
2431
+ },
2432
+ "end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",
2433
+ "name": "markup.italic.markdown",
2434
+ "patterns": [
2435
+ {
2436
+ "applyEndPatternLast": 1,
2437
+ "begin": "(?=<[^>]*?>)",
2438
+ "end": "(?<=>)",
2439
+ "patterns": [
2440
+ {
2441
+ "include": "text.html.derivative"
2442
+ }
2443
+ ]
2444
+ },
2445
+ {
2446
+ "include": "#escape"
2447
+ },
2448
+ {
2449
+ "include": "#ampersand"
2450
+ },
2451
+ {
2452
+ "include": "#bracket"
2453
+ },
2454
+ {
2455
+ "include": "#raw"
2456
+ },
2457
+ {
2458
+ "include": "#bold"
2459
+ },
2460
+ {
2461
+ "include": "#image-inline"
2462
+ },
2463
+ {
2464
+ "include": "#link-inline"
2465
+ },
2466
+ {
2467
+ "include": "#link-inet"
2468
+ },
2469
+ {
2470
+ "include": "#link-email"
2471
+ },
2472
+ {
2473
+ "include": "#image-ref"
2474
+ },
2475
+ {
2476
+ "include": "#link-ref-literal"
2477
+ },
2478
+ {
2479
+ "include": "#link-ref"
2480
+ },
2481
+ {
2482
+ "include": "#link-ref-shortcut"
2483
+ }
2484
+ ]
2485
+ },
2486
+ "link-email": {
2487
+ "captures": {
2488
+ "1": {
2489
+ "name": "punctuation.definition.link.markdown"
2490
+ },
2491
+ "2": {
2492
+ "name": "markup.underline.link.markdown"
2493
+ },
2494
+ "4": {
2495
+ "name": "punctuation.definition.link.markdown"
2496
+ }
2497
+ },
2498
+ "match": "(<)((?:mailto:)?[-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(>)",
2499
+ "name": "meta.link.email.lt-gt.markdown"
2500
+ },
2501
+ "link-inet": {
2502
+ "captures": {
2503
+ "1": {
2504
+ "name": "punctuation.definition.link.markdown"
2505
+ },
2506
+ "2": {
2507
+ "name": "markup.underline.link.markdown"
2508
+ },
2509
+ "3": {
2510
+ "name": "punctuation.definition.link.markdown"
2511
+ }
2512
+ },
2513
+ "match": "(<)((?:https?|ftp)://.*?)(>)",
2514
+ "name": "meta.link.inet.markdown"
2515
+ },
2516
+ "link-inline": {
2517
+ "captures": {
2518
+ "1": {
2519
+ "name": "punctuation.definition.string.begin.markdown"
2520
+ },
2521
+ "2": {
2522
+ "name": "string.other.link.title.markdown"
2523
+ },
2524
+ "4": {
2525
+ "name": "punctuation.definition.string.end.markdown"
2526
+ },
2527
+ "5": {
2528
+ "name": "punctuation.definition.metadata.markdown"
2529
+ },
2530
+ "6": {
2531
+ "name": "punctuation.definition.link.markdown"
2532
+ },
2533
+ "7": {
2534
+ "name": "markup.underline.link.markdown"
2535
+ },
2536
+ "9": {
2537
+ "name": "punctuation.definition.link.markdown"
2538
+ },
2539
+ "10": {
2540
+ "name": "string.other.link.description.title.markdown"
2541
+ },
2542
+ "11": {
2543
+ "name": "punctuation.definition.string.begin.markdown"
2544
+ },
2545
+ "12": {
2546
+ "name": "punctuation.definition.string.end.markdown"
2547
+ },
2548
+ "13": {
2549
+ "name": "string.other.link.description.title.markdown"
2550
+ },
2551
+ "14": {
2552
+ "name": "punctuation.definition.string.begin.markdown"
2553
+ },
2554
+ "15": {
2555
+ "name": "punctuation.definition.string.end.markdown"
2556
+ },
2557
+ "16": {
2558
+ "name": "punctuation.definition.metadata.markdown"
2559
+ }
2560
+ },
2561
+ "match": "(?x)\n (\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (<?)((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n",
2562
+ "name": "meta.link.inline.markdown"
2563
+ },
2564
+ "link-ref": {
2565
+ "captures": {
2566
+ "1": {
2567
+ "name": "punctuation.definition.string.begin.markdown"
2568
+ },
2569
+ "2": {
2570
+ "name": "string.other.link.title.markdown"
2571
+ },
2572
+ "4": {
2573
+ "name": "punctuation.definition.string.end.markdown"
2574
+ },
2575
+ "5": {
2576
+ "name": "punctuation.definition.constant.begin.markdown"
2577
+ },
2578
+ "6": {
2579
+ "name": "constant.other.reference.link.markdown"
2580
+ },
2581
+ "7": {
2582
+ "name": "punctuation.definition.constant.end.markdown"
2583
+ }
2584
+ },
2585
+ "match": "(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\[)([^\\]]*+)(\\])",
2586
+ "name": "meta.link.reference.markdown"
2587
+ },
2588
+ "link-ref-literal": {
2589
+ "captures": {
2590
+ "1": {
2591
+ "name": "punctuation.definition.string.begin.markdown"
2592
+ },
2593
+ "2": {
2594
+ "name": "string.other.link.title.markdown"
2595
+ },
2596
+ "4": {
2597
+ "name": "punctuation.definition.string.end.markdown"
2598
+ },
2599
+ "5": {
2600
+ "name": "punctuation.definition.constant.begin.markdown"
2601
+ },
2602
+ "6": {
2603
+ "name": "punctuation.definition.constant.end.markdown"
2604
+ }
2605
+ },
2606
+ "match": "(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])",
2607
+ "name": "meta.link.reference.literal.markdown"
2608
+ },
2609
+ "link-ref-shortcut": {
2610
+ "captures": {
2611
+ "1": {
2612
+ "name": "punctuation.definition.string.begin.markdown"
2613
+ },
2614
+ "2": {
2615
+ "name": "string.other.link.title.markdown"
2616
+ },
2617
+ "3": {
2618
+ "name": "punctuation.definition.string.end.markdown"
2619
+ }
2620
+ },
2621
+ "match": "(\\[)(\\S+?)(\\])",
2622
+ "name": "meta.link.reference.markdown"
2623
+ },
2624
+ "raw": {
2625
+ "captures": {
2626
+ "1": {
2627
+ "name": "punctuation.definition.raw.markdown"
2628
+ },
2629
+ "3": {
2630
+ "name": "punctuation.definition.raw.markdown"
2631
+ }
2632
+ },
2633
+ "match": "(`+)([^`]|(?!(?<!`)\\1(?!`))`)*+(\\1)",
2634
+ "name": "markup.inline.raw.string.markdown"
2635
+ }
2636
+ }
2637
+ }