github-linguist 7.8.0 → 7.9.0

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