tm-grammars 1.22.19 → 1.23.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 (234) hide show
  1. package/NOTICE +286 -1
  2. package/README.md +241 -239
  3. package/grammars/abap.json +36 -36
  4. package/grammars/actionscript-3.json +29 -29
  5. package/grammars/ada.json +78 -78
  6. package/grammars/angular-expression.json +62 -62
  7. package/grammars/angular-html.json +0 -1
  8. package/grammars/angular-inline-style.json +3 -3
  9. package/grammars/angular-inline-template.json +2 -2
  10. package/grammars/angular-template-blocks.json +3 -3
  11. package/grammars/angular-template.json +1 -1
  12. package/grammars/angular-ts.json +251 -251
  13. package/grammars/apache.json +31 -31
  14. package/grammars/apex.json +108 -108
  15. package/grammars/apl.json +18 -18
  16. package/grammars/applescript.json +11 -11
  17. package/grammars/ara.json +13 -13
  18. package/grammars/asciidoc.json +234 -234
  19. package/grammars/asm.json +90 -90
  20. package/grammars/astro.json +25 -25
  21. package/grammars/awk.json +8 -8
  22. package/grammars/ballerina.json +150 -150
  23. package/grammars/bat.json +28 -28
  24. package/grammars/beancount.json +33 -33
  25. package/grammars/berry.json +11 -11
  26. package/grammars/bibtex.json +12 -12
  27. package/grammars/bicep.json +12 -12
  28. package/grammars/blade.json +183 -183
  29. package/grammars/bsl.json +58 -58
  30. package/grammars/c.json +162 -162
  31. package/grammars/cadence.json +20 -20
  32. package/grammars/cairo.json +10 -10
  33. package/grammars/clarity.json +20 -20
  34. package/grammars/clojure.json +25 -25
  35. package/grammars/cmake.json +3 -3
  36. package/grammars/cobol.json +91 -91
  37. package/grammars/codeql.json +154 -154
  38. package/grammars/coffee.json +45 -45
  39. package/grammars/common-lisp.json +50 -50
  40. package/grammars/coq.json +10 -10
  41. package/grammars/cpp-macro.json +410 -410
  42. package/grammars/cpp.json +641 -641
  43. package/grammars/crystal.json +68 -68
  44. package/grammars/csharp.json +196 -196
  45. package/grammars/css.json +83 -83
  46. package/grammars/csv.json +1 -1
  47. package/grammars/cue.json +55 -55
  48. package/grammars/cypher.json +11 -11
  49. package/grammars/d.json +127 -32
  50. package/grammars/dart.json +18 -18
  51. package/grammars/dax.json +9 -9
  52. package/grammars/desktop.json +9 -9
  53. package/grammars/diff.json +3 -3
  54. package/grammars/dotenv.json +3 -3
  55. package/grammars/dream-maker.json +20 -20
  56. package/grammars/edge.json +8 -8
  57. package/grammars/elixir.json +44 -44
  58. package/grammars/elm.json +23 -23
  59. package/grammars/emacs-lisp.json +76 -76
  60. package/grammars/erb.json +2 -2
  61. package/grammars/erlang.json +29 -29
  62. package/grammars/es-tag-css.json +3 -3
  63. package/grammars/es-tag-glsl.json +3 -3
  64. package/grammars/es-tag-html.json +3 -3
  65. package/grammars/es-tag-sql.json +2 -2
  66. package/grammars/es-tag-xml.json +2 -2
  67. package/grammars/fennel.json +8 -8
  68. package/grammars/fish.json +10 -10
  69. package/grammars/fluent.json +10 -10
  70. package/grammars/fortran-fixed-form.json +1 -1
  71. package/grammars/fortran-free-form.json +106 -106
  72. package/grammars/fsharp.json +70 -70
  73. package/grammars/gdresource.json +15 -15
  74. package/grammars/gdscript.json +31 -27
  75. package/grammars/gdshader.json +18 -18
  76. package/grammars/genie.json +6 -6
  77. package/grammars/gherkin.json +1 -1
  78. package/grammars/git-commit.json +1 -1
  79. package/grammars/git-rebase.json +1 -1
  80. package/grammars/gleam.json +11 -11
  81. package/grammars/glimmer-js.json +35 -35
  82. package/grammars/glimmer-ts.json +35 -35
  83. package/grammars/glsl.json +4 -4
  84. package/grammars/gnuplot.json +41 -41
  85. package/grammars/go.json +155 -155
  86. package/grammars/graphql.json +20 -20
  87. package/grammars/groovy.json +44 -44
  88. package/grammars/hack.json +74 -74
  89. package/grammars/haml.json +24 -24
  90. package/grammars/handlebars.json +25 -25
  91. package/grammars/haskell.json +99 -99
  92. package/grammars/haxe.json +51 -51
  93. package/grammars/hcl.json +43 -43
  94. package/grammars/hjson.json +29 -29
  95. package/grammars/hlsl.json +15 -15
  96. package/grammars/html-derivative.json +0 -1
  97. package/grammars/html.json +28 -29
  98. package/grammars/http.json +17 -17
  99. package/grammars/hxml.json +3 -3
  100. package/grammars/hy.json +10 -10
  101. package/grammars/imba.json +168 -173
  102. package/grammars/ini.json +2 -2
  103. package/grammars/java.json +54 -54
  104. package/grammars/javascript.json +262 -262
  105. package/grammars/jinja-html.json +3 -3
  106. package/grammars/jinja.json +15 -15
  107. package/grammars/jison.json +18 -18
  108. package/grammars/json.json +6 -6
  109. package/grammars/json5.json +12 -12
  110. package/grammars/jsonc.json +6 -6
  111. package/grammars/jsonl.json +6 -6
  112. package/grammars/jsonnet.json +15 -15
  113. package/grammars/jssm.json +4 -4
  114. package/grammars/jsx.json +262 -262
  115. package/grammars/julia.json +45 -45
  116. package/grammars/kotlin.json +15 -15
  117. package/grammars/kusto.json +13 -13
  118. package/grammars/latex.json +260 -260
  119. package/grammars/lean.json +12 -12
  120. package/grammars/less.json +91 -91
  121. package/grammars/liquid.json +96 -62
  122. package/grammars/llvm.json +122 -0
  123. package/grammars/log.json +22 -22
  124. package/grammars/logo.json +2 -2
  125. package/grammars/lua.json +34 -34
  126. package/grammars/luau.json +20 -20
  127. package/grammars/make.json +22 -22
  128. package/grammars/markdown-vue.json +1 -1
  129. package/grammars/markdown.json +83 -83
  130. package/grammars/marko.json +19 -19
  131. package/grammars/matlab.json +29 -29
  132. package/grammars/mdc.json +17 -17
  133. package/grammars/mdx.json +278 -278
  134. package/grammars/mermaid.json +97 -97
  135. package/grammars/mipsasm.json +2 -2
  136. package/grammars/mojo.json +122 -122
  137. package/grammars/move.json +35 -35
  138. package/grammars/narrat.json +10 -10
  139. package/grammars/nextflow.json +11 -11
  140. package/grammars/nginx.json +45 -45
  141. package/grammars/nim.json +44 -44
  142. package/grammars/nix.json +71 -71
  143. package/grammars/nushell.json +36 -36
  144. package/grammars/objective-c.json +129 -129
  145. package/grammars/objective-cpp.json +245 -245
  146. package/grammars/ocaml.json +229 -229
  147. package/grammars/pascal.json +4 -4
  148. package/grammars/perl.json +64 -64
  149. package/grammars/php.json +199 -199
  150. package/grammars/plsql.json +10 -10
  151. package/grammars/po.json +4 -4
  152. package/grammars/polar.json +13 -13
  153. package/grammars/postcss.json +31 -31
  154. package/grammars/powerquery.json +10 -10
  155. package/grammars/powershell.json +54 -54
  156. package/grammars/prisma.json +13 -13
  157. package/grammars/prolog.json +3 -3
  158. package/grammars/proto.json +11 -11
  159. package/grammars/pug.json +30 -30
  160. package/grammars/puppet.json +35 -35
  161. package/grammars/purescript.json +843 -467
  162. package/grammars/python.json +126 -126
  163. package/grammars/qml.json +18 -18
  164. package/grammars/qss.json +7 -7
  165. package/grammars/r.json +17 -17
  166. package/grammars/racket.json +58 -58
  167. package/grammars/raku.json +15 -15
  168. package/grammars/razor.json +30 -30
  169. package/grammars/reg.json +3 -3
  170. package/grammars/regexp.json +15 -15
  171. package/grammars/rel.json +4 -4
  172. package/grammars/riscv.json +15 -15
  173. package/grammars/rst.json +26 -26
  174. package/grammars/ruby.json +103 -106
  175. package/grammars/rust.json +13 -13
  176. package/grammars/sas.json +9 -9
  177. package/grammars/sass.json +35 -35
  178. package/grammars/scala.json +75 -75
  179. package/grammars/scheme.json +16 -16
  180. package/grammars/scss.json +68 -68
  181. package/grammars/sdbl.json +18 -18
  182. package/grammars/shaderlab.json +8 -8
  183. package/grammars/shellscript.json +111 -111
  184. package/grammars/shellsession.json +1 -1
  185. package/grammars/smalltalk.json +5 -5
  186. package/grammars/solidity.json +20 -20
  187. package/grammars/soy.json +30 -30
  188. package/grammars/sparql.json +1 -1
  189. package/grammars/splunk.json +6 -6
  190. package/grammars/sql.json +8 -8
  191. package/grammars/ssh-config.json +2 -2
  192. package/grammars/stata.json +90 -90
  193. package/grammars/stylus.json +48 -48
  194. package/grammars/svelte.json +35 -25
  195. package/grammars/swift.json +114 -114
  196. package/grammars/system-verilog.json +25 -25
  197. package/grammars/systemd.json +16 -16
  198. package/grammars/talonscript.json +12 -12
  199. package/grammars/tasl.json +10 -10
  200. package/grammars/tcl.json +11 -11
  201. package/grammars/templ.json +34 -34
  202. package/grammars/terraform.json +42 -42
  203. package/grammars/tex.json +14 -14
  204. package/grammars/toml.json +15 -15
  205. package/grammars/tsx.json +262 -262
  206. package/grammars/turtle.json +2 -2
  207. package/grammars/twig.json +37 -37
  208. package/grammars/typescript.json +251 -251
  209. package/grammars/typespec.json +54 -273
  210. package/grammars/typst.json +34 -34
  211. package/grammars/v.json +32 -32
  212. package/grammars/vala.json +6 -6
  213. package/grammars/vb.json +7 -7
  214. package/grammars/verilog.json +4 -4
  215. package/grammars/vhdl.json +10 -10
  216. package/grammars/viml.json +22 -22
  217. package/grammars/vue-html.json +10 -10
  218. package/grammars/vue-sfc-style-variable-injection.json +1 -1
  219. package/grammars/vue.json +65 -65
  220. package/grammars/vyper.json +126 -126
  221. package/grammars/wasm.json +26 -26
  222. package/grammars/wenyan.json +7 -7
  223. package/grammars/wgsl.json +9 -9
  224. package/grammars/wikitext.json +66 -66
  225. package/grammars/wit.json +1409 -0
  226. package/grammars/wolfram.json +446 -446
  227. package/grammars/xml.json +11 -11
  228. package/grammars/xsl.json +1 -1
  229. package/grammars/yaml.json +24 -24
  230. package/grammars/zenscript.json +8 -8
  231. package/grammars/zig.json +11 -11
  232. package/index.d.ts +7 -0
  233. package/index.js +1003 -283
  234. package/package.json +1 -1
@@ -3,8 +3,8 @@
3
3
  "fileTypes": [
4
4
  "liquid"
5
5
  ],
6
- "foldingStartMarker": "{%-?\\s*(capture|case|comment|for|form|if|javascript|paginate|schema|style)[^(%})]+%}",
7
- "foldingStopMarker": "{%\\s*(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)[^(%})]+%}",
6
+ "foldingStartMarker": "\\{%-?\\s*(capture|case|comment|for|form|if|javascript|paginate|schema|style)[^(%})]+%}",
7
+ "foldingStopMarker": "\\{%\\s*(end(?:capture|case|comment|for|form|if|javascript|paginate|schema|style))[^(%})]+%}",
8
8
  "injections": {
9
9
  "L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted": {
10
10
  "patterns": [
@@ -42,7 +42,7 @@
42
42
  "name": "entity.other.attribute-name.liquid"
43
43
  }
44
44
  },
45
- "end": "(?=,|\\|)|$",
45
+ "end": "(?=[,|])|$",
46
46
  "patterns": [
47
47
  {
48
48
  "include": "#value_expression"
@@ -50,15 +50,15 @@
50
50
  ]
51
51
  },
52
52
  "comment_block": {
53
- "begin": "{%-?\\s*comment\\s*-?%}",
54
- "end": "{%-?\\s*endcomment\\s*-?%}",
53
+ "begin": "\\{%-?\\s*comment\\s*-?%}",
54
+ "end": "\\{%-?\\s*endcomment\\s*-?%}",
55
55
  "name": "comment.block.liquid",
56
56
  "patterns": [
57
57
  {
58
58
  "include": "#comment_block"
59
59
  },
60
60
  {
61
- "match": "(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."
61
+ "match": "(.(?!\\{%-?\\s*(comment|endcomment)\\s*-?%}))*."
62
62
  }
63
63
  ]
64
64
  },
@@ -97,7 +97,7 @@
97
97
  ]
98
98
  },
99
99
  "doc_tag": {
100
- "begin": "{%-?\\s*(doc)\\s*-?%}",
100
+ "begin": "\\{%-?\\s*(doc)\\s*-?%}",
101
101
  "beginCaptures": {
102
102
  "0": {
103
103
  "name": "meta.tag.liquid"
@@ -107,7 +107,7 @@
107
107
  }
108
108
  },
109
109
  "contentName": "comment.block.documentation.liquid",
110
- "end": "{%-?\\s*(enddoc)\\s*-?%}",
110
+ "end": "\\{%-?\\s*(enddoc)\\s*-?%}",
111
111
  "endCaptures": {
112
112
  "0": {
113
113
  "name": "meta.tag.liquid"
@@ -118,6 +118,9 @@
118
118
  },
119
119
  "name": "meta.block.doc.liquid",
120
120
  "patterns": [
121
+ {
122
+ "include": "#liquid_doc_description_tag"
123
+ },
121
124
  {
122
125
  "include": "#liquid_doc_param_tag"
123
126
  },
@@ -135,7 +138,7 @@
135
138
  "name": "support.function.liquid"
136
139
  }
137
140
  },
138
- "match": "\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*"
141
+ "match": "\\|\\s*((?![.0-9])[a-zA-Z0-9_\\-]+:?)\\s*"
139
142
  },
140
143
  "injection": {
141
144
  "patterns": [
@@ -158,7 +161,7 @@
158
161
  "name": "invalid.illegal.range.liquid"
159
162
  },
160
163
  "javascript_codefence": {
161
- "begin": "({%-?)\\s*(javascript)\\s*(-?%})",
164
+ "begin": "(\\{%-?)\\s*(javascript)\\s*(-?%})",
162
165
  "beginCaptures": {
163
166
  "0": {
164
167
  "name": "meta.tag.metadata.javascript.start.liquid"
@@ -174,7 +177,7 @@
174
177
  }
175
178
  },
176
179
  "contentName": "meta.embedded.block.js",
177
- "end": "({%-?)\\s*(endjavascript)\\s*(-?%})",
180
+ "end": "(\\{%-?)\\s*(endjavascript)\\s*(-?%})",
178
181
  "endCaptures": {
179
182
  "0": {
180
183
  "name": "meta.tag.metadata.javascript.end.liquid"
@@ -197,7 +200,7 @@
197
200
  ]
198
201
  },
199
202
  "json_codefence": {
200
- "begin": "({%-?)\\s*(schema)\\s*(-?%})",
203
+ "begin": "(\\{%-?)\\s*(schema)\\s*(-?%})",
201
204
  "beginCaptures": {
202
205
  "0": {
203
206
  "name": "meta.tag.metadata.schema.start.liquid"
@@ -213,7 +216,7 @@
213
216
  }
214
217
  },
215
218
  "contentName": "meta.embedded.block.json",
216
- "end": "({%-?)\\s*(endschema)\\s*(-?%})",
219
+ "end": "(\\{%-?)\\s*(endschema)\\s*(-?%})",
217
220
  "endCaptures": {
218
221
  "0": {
219
222
  "name": "meta.tag.metadata.schema.end.liquid"
@@ -239,18 +242,46 @@
239
242
  "match": "\\b(false|true|nil|blank)\\b|empty(?!\\?)",
240
243
  "name": "constant.language.liquid"
241
244
  },
245
+ "liquid_doc_description_tag": {
246
+ "begin": "(@description)\\b\\s*",
247
+ "beginCaptures": {
248
+ "0": {
249
+ "name": "comment.block.documentation.liquid"
250
+ },
251
+ "1": {
252
+ "name": "storage.type.class.liquid"
253
+ }
254
+ },
255
+ "end": "(?=@|\\{%-?\\s*enddoc\\s*-?%})",
256
+ "patterns": [
257
+ {
258
+ "match": "[^@]+",
259
+ "name": "string.quoted.single.liquid"
260
+ }
261
+ ]
262
+ },
242
263
  "liquid_doc_example_tag": {
243
- "captures": {
264
+ "begin": "(@example)\\b\\s*",
265
+ "beginCaptures": {
266
+ "0": {
267
+ "name": "comment.block.documentation.liquid"
268
+ },
244
269
  "1": {
245
270
  "name": "storage.type.class.liquid"
246
271
  }
247
272
  },
248
- "match": "(@example)\\b"
273
+ "contentName": "meta.embedded.block.liquid",
274
+ "end": "(?=@|\\{%-?\\s*enddoc\\s*-?%})",
275
+ "patterns": [
276
+ {
277
+ "include": "#core"
278
+ }
279
+ ]
249
280
  },
250
281
  "liquid_doc_fallback_tag": {
251
282
  "captures": {
252
283
  "1": {
253
- "name": "storage.type.class.liquid"
284
+ "name": "comment.block.liquid"
254
285
  }
255
286
  },
256
287
  "match": "(@\\w+)\\b"
@@ -265,16 +296,19 @@
265
296
  },
266
297
  "3": {
267
298
  "name": "variable.other.liquid"
299
+ },
300
+ "4": {
301
+ "name": "string.quoted.single.liquid"
268
302
  }
269
303
  },
270
- "match": "(@param)\\s+(?:({[^}]*}?)\\s+)?([a-zA-Z_]\\w*)?"
304
+ "match": "(@param)\\s+(?:(\\{[^}]*}?)\\s+)?(\\[?[a-zA-Z_][\\w\\-]*]?)?(?:\\s+(.*))?"
271
305
  },
272
306
  "number": {
273
- "match": "((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?",
307
+ "match": "(([\\-+])\\s*)?[0-9]+(\\.[0-9]+)?",
274
308
  "name": "constant.numeric.liquid"
275
309
  },
276
310
  "object": {
277
- "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){{-?",
311
+ "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\{\\{-?",
278
312
  "beginCaptures": {
279
313
  "0": {
280
314
  "name": "punctuation.definition.tag.begin.liquid"
@@ -305,7 +339,7 @@
305
339
  "name": "keyword.operator.expression.liquid"
306
340
  }
307
341
  },
308
- "match": "(?:(?<=\\s)|\\b)(\\=\\=|!\\=|\\>|\\<|\\>\\=|\\<\\=|or|and|contains)(?:(?=\\s)|\\b)"
342
+ "match": "(?:(?<=\\s)|\\b)(==|!=|[><]|>=|<=|or|and|contains)(?:(?=\\s)|\\b)"
309
343
  },
310
344
  "range": {
311
345
  "begin": "\\(",
@@ -335,14 +369,14 @@
335
369
  ]
336
370
  },
337
371
  "raw_tag": {
338
- "begin": "{%-?\\s*(raw)\\s*-?%}",
372
+ "begin": "\\{%-?\\s*(raw)\\s*-?%}",
339
373
  "beginCaptures": {
340
374
  "1": {
341
375
  "name": "entity.name.tag.liquid"
342
376
  }
343
377
  },
344
378
  "contentName": "string.unquoted.liquid",
345
- "end": "{%-?\\s*(endraw)\\s*-?%}",
379
+ "end": "\\{%-?\\s*(endraw)\\s*-?%}",
346
380
  "endCaptures": {
347
381
  "1": {
348
382
  "name": "entity.name.tag.liquid"
@@ -351,7 +385,7 @@
351
385
  "name": "meta.entity.tag.raw.liquid",
352
386
  "patterns": [
353
387
  {
354
- "match": "(.(?!{%-?\\s*endraw\\s*-?%}))*."
388
+ "match": "(.(?!\\{%-?\\s*endraw\\s*-?%}))*."
355
389
  }
356
390
  ]
357
391
  },
@@ -376,7 +410,7 @@
376
410
  "name": "string.quoted.single.liquid"
377
411
  },
378
412
  "style_codefence": {
379
- "begin": "({%-?)\\s*(style)\\s*(-?%})",
413
+ "begin": "(\\{%-?)\\s*(style)\\s*(-?%})",
380
414
  "beginCaptures": {
381
415
  "0": {
382
416
  "name": "meta.tag.metadata.style.start.liquid"
@@ -392,7 +426,7 @@
392
426
  }
393
427
  },
394
428
  "contentName": "meta.embedded.block.css",
395
- "end": "({%-?)\\s*(endstyle)\\s*(-?%})",
429
+ "end": "(\\{%-?)\\s*(endstyle)\\s*(-?%})",
396
430
  "endCaptures": {
397
431
  "0": {
398
432
  "name": "meta.tag.metadata.style.end.liquid"
@@ -415,7 +449,7 @@
415
449
  ]
416
450
  },
417
451
  "stylesheet_codefence": {
418
- "begin": "({%-?)\\s*(stylesheet)\\s*(-?%})",
452
+ "begin": "(\\{%-?)\\s*(stylesheet)\\s*(-?%})",
419
453
  "beginCaptures": {
420
454
  "0": {
421
455
  "name": "meta.tag.metadata.style.start.liquid"
@@ -431,7 +465,7 @@
431
465
  }
432
466
  },
433
467
  "contentName": "meta.embedded.block.css",
434
- "end": "({%-?)\\s*(endstylesheet)\\s*(-?%})",
468
+ "end": "(\\{%-?)\\s*(endstylesheet)\\s*(-?%})",
435
469
  "endCaptures": {
436
470
  "0": {
437
471
  "name": "meta.tag.metadata.style.end.liquid"
@@ -454,7 +488,7 @@
454
488
  ]
455
489
  },
456
490
  "tag": {
457
- "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){%-?",
491
+ "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\{%-?",
458
492
  "beginCaptures": {
459
493
  "0": {
460
494
  "name": "punctuation.definition.tag.begin.liquid"
@@ -474,7 +508,7 @@
474
508
  ]
475
509
  },
476
510
  "tag_assign": {
477
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(assign|echo)\\b",
511
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(assign|echo)\\b",
478
512
  "beginCaptures": {
479
513
  "1": {
480
514
  "name": "entity.name.tag.liquid"
@@ -495,7 +529,7 @@
495
529
  ]
496
530
  },
497
531
  "tag_assign_liquid": {
498
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(assign|echo)\\b",
532
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(assign|echo)\\b",
499
533
  "beginCaptures": {
500
534
  "1": {
501
535
  "name": "entity.name.tag.liquid"
@@ -550,7 +584,7 @@
550
584
  ]
551
585
  },
552
586
  "tag_case": {
553
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(case|when)\\b",
587
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(case|when)\\b",
554
588
  "beginCaptures": {
555
589
  "1": {
556
590
  "name": "keyword.control.case.liquid"
@@ -565,7 +599,7 @@
565
599
  ]
566
600
  },
567
601
  "tag_case_liquid": {
568
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(case|when)\\b",
602
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(case|when)\\b",
569
603
  "beginCaptures": {
570
604
  "1": {
571
605
  "name": "keyword.control.case.liquid"
@@ -580,15 +614,15 @@
580
614
  ]
581
615
  },
582
616
  "tag_comment_block_liquid": {
583
- "begin": "(?:^\\s*)(comment)\\b",
584
- "end": "(?:^\\s*)(endcomment)\\b",
617
+ "begin": "^\\s*(comment)\\b",
618
+ "end": "^\\s*(endcomment)\\b",
585
619
  "name": "comment.block.liquid",
586
620
  "patterns": [
587
621
  {
588
622
  "include": "#tag_comment_block_liquid"
589
623
  },
590
624
  {
591
- "match": "(?:^\\s*)(?!(comment|endcomment)).*"
625
+ "match": "^\\s*(?!(comment|endcomment)).*"
592
626
  }
593
627
  ]
594
628
  },
@@ -598,12 +632,12 @@
598
632
  "name": "comment.line.number-sign.liquid"
599
633
  },
600
634
  "tag_comment_inline_liquid": {
601
- "begin": "(?:^\\s*)#.*",
635
+ "begin": "^\\s*#.*",
602
636
  "end": "$",
603
637
  "name": "comment.line.number-sign.liquid"
604
638
  },
605
639
  "tag_conditional": {
606
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(if|elsif|unless)\\b",
640
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(if|elsif|unless)\\b",
607
641
  "beginCaptures": {
608
642
  "1": {
609
643
  "name": "keyword.control.conditional.liquid"
@@ -618,7 +652,7 @@
618
652
  ]
619
653
  },
620
654
  "tag_conditional_liquid": {
621
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(if|elsif|unless)\\b",
655
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(if|elsif|unless)\\b",
622
656
  "beginCaptures": {
623
657
  "1": {
624
658
  "name": "keyword.control.conditional.liquid"
@@ -638,7 +672,7 @@
638
672
  "include": "#tag_expression_without_arguments"
639
673
  },
640
674
  {
641
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(\\w+)",
675
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(\\w+)",
642
676
  "beginCaptures": {
643
677
  "1": {
644
678
  "name": "entity.name.tag.liquid"
@@ -660,7 +694,7 @@
660
694
  "include": "#tag_expression_without_arguments"
661
695
  },
662
696
  {
663
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(\\w+)",
697
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(\\w+)",
664
698
  "beginCaptures": {
665
699
  "1": {
666
700
  "name": "entity.name.tag.liquid"
@@ -684,7 +718,7 @@
684
718
  "name": "keyword.control.conditional.liquid"
685
719
  }
686
720
  },
687
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endunless|endif)\\b"
721
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(end(?:unless|if))\\b"
688
722
  },
689
723
  {
690
724
  "captures": {
@@ -692,7 +726,7 @@
692
726
  "name": "keyword.control.loop.liquid"
693
727
  }
694
728
  },
695
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b"
729
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(end(?:for|tablerow|paginate))\\b"
696
730
  },
697
731
  {
698
732
  "captures": {
@@ -700,7 +734,7 @@
700
734
  "name": "keyword.control.case.liquid"
701
735
  }
702
736
  },
703
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endcase)\\b"
737
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(endcase)\\b"
704
738
  },
705
739
  {
706
740
  "captures": {
@@ -708,7 +742,7 @@
708
742
  "name": "keyword.control.other.liquid"
709
743
  }
710
744
  },
711
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b"
745
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b"
712
746
  },
713
747
  {
714
748
  "captures": {
@@ -716,7 +750,7 @@
716
750
  "name": "keyword.control.other.liquid"
717
751
  }
718
752
  },
719
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b"
753
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(end(?:capture|case|comment|for|form|if|javascript|paginate|schema|style))\\b"
720
754
  },
721
755
  {
722
756
  "captures": {
@@ -724,12 +758,12 @@
724
758
  "name": "keyword.control.other.liquid"
725
759
  }
726
760
  },
727
- "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(else|break|continue)\\b"
761
+ "match": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(else|break|continue)\\b"
728
762
  }
729
763
  ]
730
764
  },
731
765
  "tag_for": {
732
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(for)\\b",
766
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(for)\\b",
733
767
  "beginCaptures": {
734
768
  "1": {
735
769
  "name": "keyword.control.for.liquid"
@@ -759,7 +793,7 @@
759
793
  ]
760
794
  },
761
795
  "tag_for_liquid": {
762
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(for)\\b",
796
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(for)\\b",
763
797
  "beginCaptures": {
764
798
  "1": {
765
799
  "name": "keyword.control.for.liquid"
@@ -774,7 +808,7 @@
774
808
  ]
775
809
  },
776
810
  "tag_injection": {
777
- "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))",
811
+ "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\{%-?(?!-?\\s*(end(?:style|javascript|comment|raw)))",
778
812
  "beginCaptures": {
779
813
  "0": {
780
814
  "name": "punctuation.definition.tag.end.liquid"
@@ -794,7 +828,7 @@
794
828
  ]
795
829
  },
796
830
  "tag_liquid": {
797
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(liquid)\\b",
831
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(liquid)\\b",
798
832
  "beginCaptures": {
799
833
  "1": {
800
834
  "name": "keyword.control.liquid.liquid"
@@ -836,7 +870,7 @@
836
870
  ]
837
871
  },
838
872
  "tag_paginate": {
839
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(paginate)\\b",
873
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(paginate)\\b",
840
874
  "beginCaptures": {
841
875
  "1": {
842
876
  "name": "keyword.control.paginate.liquid"
@@ -862,7 +896,7 @@
862
896
  ]
863
897
  },
864
898
  "tag_paginate_liquid": {
865
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(paginate)\\b",
899
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(paginate)\\b",
866
900
  "beginCaptures": {
867
901
  "1": {
868
902
  "name": "keyword.control.paginate.liquid"
@@ -877,7 +911,7 @@
877
911
  ]
878
912
  },
879
913
  "tag_render": {
880
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(render)\\b",
914
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(render)\\b",
881
915
  "beginCaptures": {
882
916
  "1": {
883
917
  "name": "entity.name.tag.render.liquid"
@@ -898,7 +932,7 @@
898
932
  ]
899
933
  },
900
934
  "tag_render_liquid": {
901
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(render)\\b",
935
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(render)\\b",
902
936
  "beginCaptures": {
903
937
  "1": {
904
938
  "name": "entity.name.tag.render.liquid"
@@ -923,7 +957,7 @@
923
957
  "name": "keyword.control.other.liquid"
924
958
  },
925
959
  "tag_tablerow": {
926
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(tablerow)\\b",
960
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(tablerow)\\b",
927
961
  "beginCaptures": {
928
962
  "1": {
929
963
  "name": "keyword.control.tablerow.liquid"
@@ -953,7 +987,7 @@
953
987
  ]
954
988
  },
955
989
  "tag_tablerow_liquid": {
956
- "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(tablerow)\\b",
990
+ "begin": "(?:(?<=\\{%)|(?<=\\{%-)|^)\\s*(tablerow)\\b",
957
991
  "beginCaptures": {
958
992
  "1": {
959
993
  "name": "keyword.control.tablerow.liquid"
@@ -978,10 +1012,10 @@
978
1012
  "name": "invalid.illegal.filter.liquid"
979
1013
  }
980
1014
  },
981
- "match": "(\\[)(\\|)(?=[^\\]]*)(?=\\])"
1015
+ "match": "(\\[)(\\|)(?=[^\\]]*)(?=])"
982
1016
  },
983
1017
  {
984
- "match": "(?<=\\s)(\\+|\\-|\\/|\\*)(?=\\s)",
1018
+ "match": "(?<=\\s)([+\\-/*])(?=\\s)",
985
1019
  "name": "invalid.illegal.filter.liquid"
986
1020
  },
987
1021
  {
@@ -1014,7 +1048,7 @@
1014
1048
  "name": "variable.language.liquid"
1015
1049
  },
1016
1050
  {
1017
- "match": "((?<=\\w\\:\\s)\\w+)",
1051
+ "match": "((?<=\\w:\\s)\\w+)",
1018
1052
  "name": "variable.parameter.liquid"
1019
1053
  },
1020
1054
  {
@@ -1024,7 +1058,7 @@
1024
1058
  "name": "punctuation.section.brackets.begin.liquid"
1025
1059
  }
1026
1060
  },
1027
- "end": "\\]",
1061
+ "end": "]",
1028
1062
  "endCaptures": {
1029
1063
  "0": {
1030
1064
  "name": "punctuation.section.brackets.end.liquid"
@@ -1038,7 +1072,7 @@
1038
1072
  ]
1039
1073
  },
1040
1074
  {
1041
- "match": "(?<=(\\w|\\])\\.)([-\\w]+\\??)",
1075
+ "match": "(?<=([\\w\\]])\\.)([\\-\\w]+\\??)",
1042
1076
  "name": "variable.other.member.liquid"
1043
1077
  },
1044
1078
  {
@@ -1046,7 +1080,7 @@
1046
1080
  "name": "punctuation.accessor.liquid"
1047
1081
  },
1048
1082
  {
1049
- "match": "(?i)[a-z_](\\w|(?:-(?!\\}\\})))*",
1083
+ "match": "(?i)[a-z_](\\w|-(?!}}))*",
1050
1084
  "name": "variable.other.liquid"
1051
1085
  }
1052
1086
  ]
@@ -0,0 +1,122 @@
1
+ {
2
+ "displayName": "LLVM IR",
3
+ "name": "llvm",
4
+ "patterns": [
5
+ {
6
+ "match": "\\b(?:void\\b|half\\b|bfloat\\b|float\\b|double\\b|x86_fp80\\b|fp128\\b|ppc_fp128\\b|label\\b|metadata\\b|x86_mmx\\b|x86_amx\\b|type\\b|label\\b|opaque\\b|token\\b|i\\d+\\**)",
7
+ "name": "storage.type.llvm"
8
+ },
9
+ {
10
+ "captures": {
11
+ "1": {
12
+ "name": "storage.type.llvm"
13
+ }
14
+ },
15
+ "match": "!([a-zA-Z]+)\\s*\\("
16
+ },
17
+ {
18
+ "match": "(?<=\\s|^)#dbg_(assign|declare|label|value)\\b|\\badd\\b|\\baddrspacecast\\b|\\balloca\\b|\\band\\b|\\barcp\\b|\\bashr\\b|\\batomicrmw\\b|\\bbitcast\\b|\\bbr\\b|\\bcatchpad\\b|\\bcatchswitch\\b|\\bcatchret\\b|\\bcall\\b|\\bcallbr\\b|\\bcleanuppad\\b|\\bcleanupret\\b|\\bcmpxchg\\b|\\beq\\b|\\bexact\\b|\\bextractelement\\b|\\bextractvalue\\b|\\bfadd\\b|\\bfast\\b|\\bfcmp\\b|\\bfdiv\\b|\\bfence\\b|\\bfmul\\b|\\bfpext\\b|\\bfptosi\\b|\\bfptoui\\b|\\bfptrunc\\b|\\bfree\\b|\\bfrem\\b|\\bfreeze\\b|\\bfsub\\b|\\bfneg\\b|\\bgetelementptr\\b|\\bicmp\\b|\\binbounds\\b|\\bindirectbr\\b|\\binsertelement\\b|\\binsertvalue\\b|\\binttoptr\\b|\\binvoke\\b|\\blandingpad\\b|\\bload\\b|\\blshr\\b|\\bmalloc\\b|\\bmax\\b|\\bmin\\b|\\bmul\\b|\\bnand\\b|\\bne\\b|\\bninf\\b|\\bnnan\\b|\\bnsw\\b|\\bnsz\\b|\\bnuw\\b|\\boeq\\b|\\boge\\b|\\bogt\\b|\\bole\\b|\\bolt\\b|\\bone\\b|\\bor\\b|\\bord\\b|\\bphi\\b|\\bptrtoint\\b|\\bresume\\b|\\bret\\b|\\bsdiv\\b|\\bselect\\b|\\bsext\\b|\\bsge\\b|\\bsgt\\b|\\bshl\\b|\\bshufflevector\\b|\\bsitofp\\b|\\bsle\\b|\\bslt\\b|\\bsrem\\b|\\bstore\\b|\\bsub\\b|\\bswitch\\b|\\btrunc\\b|\\budiv\\b|\\bueq\\b|\\buge\\b|\\bugt\\b|\\buitofp\\b|\\bule\\b|\\bult\\b|\\bumax\\b|\\bumin\\b|\\bune\\b|\\buno\\b|\\bunreachable\\b|\\bunwind\\b|\\burem\\b|\\bva_arg\\b|\\bxchg\\b|\\bxor\\b|\\bzext\\b",
19
+ "name": "keyword.instruction.llvm"
20
+ },
21
+ {
22
+ "match": "\\b(?:acq_rel\\b|acquire\\b|addrspace\\b|alias\\b|align\\b|alignstack\\b|allocsize\\b|alwaysinline\\b|appending\\b|argmemonly\\b|arm_aapcs_vfpcc\\b|arm_aapcscc\\b|arm_apcscc\\b|asm\\b|atomic\\b|available_externally\\b|blockaddress\\b|builtin\\b|byref\\b|byval\\b|c\\b|caller\\b|catch\\b|cc\\b|ccc\\b|cleanup\\b|cold\\b|coldcc\\b|comdat\\b|common\\b|constant\\b|convergent\\b|datalayout\\b|declare\\b|default\\b|define\\b|deplibs\\b|dereferenceable\\b|dereferenceable_or_null\\b|distinct\\b|dllexport\\b|dllimport\\b|dso_local\\b|dso_preemptable\\b|except\\b|extern_weak\\b|external\\b|externally_initialized\\b|fastcc\\b|filter\\b|from\\b|gc\\b|global\\b|hhvm_ccc\\b|hhvmcc\\b|hidden\\b|hot\\b|immarg\\b|inaccessiblemem_or_argmemonly\\b|inaccessiblememonly\\b|inalloc\\b|initialexec\\b|inlinehint\\b|inreg\\b|intel_ocl_bicc\\b|inteldialect\\b|internal\\b|jumptable\\b|linkonce\\b|linkonce_odr\\b|local_unnamed_addr\\b|localdynamic\\b|localexec\\b|minsize\\b|module\\b|monotonic\\b|msp430_intrcc\\b|mustprogress\\b|musttail\\b|naked\\b|nest\\b|noalias\\b|nobuiltin\\b|nocallback\\b|nocapture\\b|nocf_check\\b|noduplicate\\b|nofree\\b|noimplicitfloat\\b|noinline\\b|nomerge\\b|nonlazybind\\b|nonnull\\b|noprofile\\b|norecurse\\b|noredzone\\b|noreturn\\b|nosync\\b|noundef\\b|nounwind\\b|nosanitize_bounds\\b|nosanitize_coverage\\b|null_pointer_is_valid\\b|optforfuzzing\\b|optnone\\b|optsize\\b|personality\\b|preallocated\\b|private\\b|protected\\b|ptx_device\\b|ptx_kernel\\b|readnone\\b|readonly\\b|release\\b|returned\\b|returns_twice\\b|safestack\\b|sanitize_address\\b|sanitize_hwaddress\\b|sanitize_memory\\b|sanitize_memtag\\b|sanitize_thread\\b|section\\b|seq_cst\\b|shadowcallstack\\b|sideeffect\\b|signext\\b|source_filename\\b|speculatable\\b|speculative_load_hardening\\b|spir_func\\b|spir_kernel\\b|sret\\b|ssp\\b|sspreq\\b|sspstrong\\b|strictfp\\b|swiftcc\\b|swifterror\\b|swiftself\\b|syncscope\\b|tail\\b|tailcc\\b|target\\b|thread_local\\b|to\\b|triple\\b|unnamed_addr\\b|unordered\\b|uselistorder\\b|uselistorder_bb\\b|uwtable\\b|volatile\\b|weak\\b|weak_odr\\b|willreturn\\b|win64cc\\b|within\\b|writeonly\\b|x86_64_sysvcc\\b|x86_fastcallcc\\b|x86_stdcallcc\\b|x86_thiscallcc\\b|zeroext\\b)",
23
+ "name": "storage.modifier.llvm"
24
+ },
25
+ {
26
+ "match": "@[\\-a-zA-Z$._][\\-a-zA-Z$._0-9]*",
27
+ "name": "entity.name.function.llvm"
28
+ },
29
+ {
30
+ "match": "[%@!]\\d+\\b",
31
+ "name": "variable.llvm"
32
+ },
33
+ {
34
+ "match": "%[\\-a-zA-Z$._][\\-a-zA-Z$._0-9]*",
35
+ "name": "variable.llvm"
36
+ },
37
+ {
38
+ "captures": {
39
+ "1": {
40
+ "name": "variable.llvm"
41
+ }
42
+ },
43
+ "match": "(![\\-a-zA-Z$._][\\-a-zA-Z$._0-9]*)\\s*$"
44
+ },
45
+ {
46
+ "captures": {
47
+ "1": {
48
+ "name": "variable.llvm"
49
+ }
50
+ },
51
+ "match": "(![\\-a-zA-Z$._][\\-a-zA-Z$._0-9]*)\\s*[=!]"
52
+ },
53
+ {
54
+ "begin": "\"",
55
+ "end": "\"",
56
+ "name": "string.quoted.double.llvm",
57
+ "patterns": [
58
+ {
59
+ "match": "\\.",
60
+ "name": "constant.character.escape.untitled"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "match": "[\\-a-zA-Z$._][\\-a-zA-Z$._0-9]*:",
66
+ "name": "entity.name.label.llvm"
67
+ },
68
+ {
69
+ "match": "-?\\b\\d+\\.\\d*(e[+\\-]\\d+)?\\b",
70
+ "name": "constant.numeric.float"
71
+ },
72
+ {
73
+ "match": "\\b0x\\x+\\b",
74
+ "name": "constant.numeric.float"
75
+ },
76
+ {
77
+ "match": "-?\\b\\d+\\b",
78
+ "name": "constant.numeric.integer"
79
+ },
80
+ {
81
+ "match": "\\b(?:true\\b|false\\b|null\\b|zeroinitializer\\b|undef\\b|poison\\b|null\\b|none\\b)",
82
+ "name": "constant.language"
83
+ },
84
+ {
85
+ "match": "\\bD(?:W_TAG_[a-z_]+\\b|W_ATE_[a-zA-Z_]+\\b|W_OP_[a-zA-Z0-9_]+\\b|W_LANG_[a-zA-Z0-9_]+\\b|W_VIRTUALITY_[a-z_]+\\b|IFlag[A-Za-z]+\\b)",
86
+ "name": "constant.other"
87
+ },
88
+ {
89
+ "match": ";\\s*PR\\d*\\s*$",
90
+ "name": "string.regexp"
91
+ },
92
+ {
93
+ "match": ";\\s*REQUIRES:.*$",
94
+ "name": "string.regexp"
95
+ },
96
+ {
97
+ "match": ";\\s*RUN:.*$",
98
+ "name": "string.regexp"
99
+ },
100
+ {
101
+ "match": ";\\s*ALLOW_RETRIES:.*$",
102
+ "name": "string.regexp"
103
+ },
104
+ {
105
+ "match": ";\\s*CHECK:.*$",
106
+ "name": "string.regexp"
107
+ },
108
+ {
109
+ "match": ";\\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL):.*$",
110
+ "name": "string.regexp"
111
+ },
112
+ {
113
+ "match": ";\\s*XFAIL:.*$",
114
+ "name": "string.regexp"
115
+ },
116
+ {
117
+ "match": ";.*$",
118
+ "name": "comment.line.llvm"
119
+ }
120
+ ],
121
+ "scopeName": "source.llvm"
122
+ }