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
@@ -41,11 +41,11 @@
41
41
  "name": "punctuation.section.property-list.end.css"
42
42
  }
43
43
  },
44
- "match": "(\\{)(\\})",
44
+ "match": "(\\{)(})",
45
45
  "name": "meta.brace.curly.css"
46
46
  },
47
47
  {
48
- "match": "\\{|\\}",
48
+ "match": "[{}]",
49
49
  "name": "meta.brace.curly.css"
50
50
  },
51
51
  {
@@ -85,7 +85,7 @@
85
85
  ]
86
86
  },
87
87
  {
88
- "begin": "\\s*((@)(extend[s]?)\\b)\\s*",
88
+ "begin": "\\s*((@)(extends?)\\b)\\s*",
89
89
  "beginCaptures": {
90
90
  "1": {
91
91
  "name": "keyword.control.at-rule.extend.stylus"
@@ -150,7 +150,7 @@
150
150
  ]
151
151
  },
152
152
  {
153
- "begin": "\\s*((@)keyframes)\\b\\s+([a-zA-Z_-][a-zA-Z0-9_-]*)",
153
+ "begin": "\\s*((@)keyframes)\\b\\s+([a-zA-Z_\\-][a-zA-Z0-9_\\-]*)",
154
154
  "beginCaptures": {
155
155
  "1": {
156
156
  "name": "keyword.control.at-rule.keyframes.stylus"
@@ -167,7 +167,7 @@
167
167
  },
168
168
  {
169
169
  "begin": "(?=(\\b(\\d+%|from\\b|to\\b)))",
170
- "end": "(?=(\\{|\\n))",
170
+ "end": "(?=([{\\n]))",
171
171
  "name": "meta.at-rule.keyframes.stylus",
172
172
  "patterns": [
173
173
  {
@@ -189,15 +189,15 @@
189
189
  "name": "meta.at-rule.media.stylus"
190
190
  },
191
191
  {
192
- "match": "(?:(?=\\w)(?<![\\w-]))(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?:(?<=\\w)(?![\\w-]))",
192
+ "match": "(?=\\w)(?<![\\w\\-])(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?<=\\w)(?![\\w\\-])",
193
193
  "name": "support.type.property-name.media-feature.media.css"
194
194
  },
195
195
  {
196
- "match": "(?:(?=\\w)(?<![\\w-]))(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?:(?<=\\w)(?![\\w-]))",
196
+ "match": "(?=\\w)(?<![\\w\\-])(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?<=\\w)(?![\\w\\-])",
197
197
  "name": "support.constant.media-type.media.css"
198
198
  },
199
199
  {
200
- "match": "(?:(?=\\w)(?<![\\w-]))(portrait|landscape)(?:(?<=\\w)(?![\\w-]))",
200
+ "match": "(?=\\w)(?<![\\w\\-])(portrait|landscape)(?<=\\w)(?![\\w\\-])",
201
201
  "name": "support.constant.property-value.media-property.media.css"
202
202
  }
203
203
  ]
@@ -244,7 +244,7 @@
244
244
  "name": "punctuation.definition.constant.css"
245
245
  }
246
246
  },
247
- "match": "(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b",
247
+ "match": "(#)(\\h{3}|\\h{6})\\b",
248
248
  "name": "constant.other.color.rgb-value.css"
249
249
  },
250
250
  {
@@ -305,7 +305,7 @@
305
305
  },
306
306
  "declaration": {
307
307
  "begin": "((?<=^)[^\\S\\n]+)|((?<=;)[^\\S\\n]*)|((?<=\\{)[^\\S\\n]*)",
308
- "end": "(?=\\n)|(;)|(?=\\})|(\\n)",
308
+ "end": "(?=\\n)|(;)|(?=})|(\\n)",
309
309
  "endCaptures": {
310
310
  "2": {
311
311
  "name": "punctuation.terminator.rule.css"
@@ -314,7 +314,7 @@
314
314
  "name": "meta.property-list.css",
315
315
  "patterns": [
316
316
  {
317
- "match": "(?<![\\w-])--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",
317
+ "match": "(?<![\\w\\-])--[\\-a-zA-Z_[^\\x00-\\x7F]](?:[\\-a-zA-Z0-9_[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*",
318
318
  "name": "variable.css"
319
319
  },
320
320
  {
@@ -324,7 +324,7 @@
324
324
  "include": "#language_constants"
325
325
  },
326
326
  {
327
- "match": "(?:(?<=^)[^\\S\\n]+(\\n))"
327
+ "match": "(?<=^)[^\\S\\n]+(\\n)"
328
328
  },
329
329
  {
330
330
  "captures": {
@@ -338,7 +338,7 @@
338
338
  "name": "variable.section.css"
339
339
  }
340
340
  },
341
- "match": "\\G\\s*(counter-reset|counter-increment)(?:(:)|[^\\S\\n])[^\\S\\n]*([a-zA-Z_-][a-zA-Z0-9_-]*)",
341
+ "match": "\\G\\s*(counter-(?:reset|increment))(?:(:)|[^\\S\\n])[^\\S\\n]*([a-zA-Z_\\-][a-zA-Z0-9_\\-]*)",
342
342
  "name": "meta.property.counter.css"
343
343
  },
344
344
  {
@@ -351,7 +351,7 @@
351
351
  "name": "punctuation.separator.key-value.css"
352
352
  }
353
353
  },
354
- "end": "(?=\\n|;|\\}|$)",
354
+ "end": "(?=[\\n;}]|$)",
355
355
  "name": "meta.property.filter.css",
356
356
  "patterns": [
357
357
  {
@@ -378,7 +378,7 @@
378
378
  "name": "support.constant.font-name.css"
379
379
  },
380
380
  "function": {
381
- "begin": "(?=[a-zA-Z_-][a-zA-Z0-9_-]*\\()",
381
+ "begin": "(?=[a-zA-Z_\\-][a-zA-Z0-9_\\-]*\\()",
382
382
  "end": "(\\))",
383
383
  "endCaptures": {
384
384
  "1": {
@@ -400,7 +400,7 @@
400
400
  "name": "meta.function.misc.css",
401
401
  "patterns": [
402
402
  {
403
- "match": "(?<=\\()[^\\)\\s]*(?=\\))",
403
+ "match": "(?<=\\()[^)\\s]*(?=\\))",
404
404
  "name": "string.css"
405
405
  },
406
406
  {
@@ -429,7 +429,7 @@
429
429
  "name": "variable.section.css"
430
430
  }
431
431
  },
432
- "match": "(counter)(\\()([a-zA-Z_-][a-zA-Z0-9_-]*)(?=\\))",
432
+ "match": "(counter)(\\()([a-zA-Z_\\-][a-zA-Z0-9_\\-]*)(?=\\))",
433
433
  "name": "meta.function.misc.counter.css"
434
434
  },
435
435
  {
@@ -446,7 +446,7 @@
446
446
  "name": "meta.function.misc.counters.css",
447
447
  "patterns": [
448
448
  {
449
- "match": "\\G[a-zA-Z_-][a-zA-Z0-9_-]*",
449
+ "match": "\\G[a-zA-Z_\\-][a-zA-Z0-9_\\-]*",
450
450
  "name": "variable.section.css"
451
451
  },
452
452
  {
@@ -475,11 +475,11 @@
475
475
  "name": "meta.function.misc.attr.css",
476
476
  "patterns": [
477
477
  {
478
- "match": "\\G[a-zA-Z_-][a-zA-Z0-9_-]*",
478
+ "match": "\\G[a-zA-Z_\\-][a-zA-Z0-9_\\-]*",
479
479
  "name": "entity.other.attribute-name.attribute.css"
480
480
  },
481
481
  {
482
- "match": "(?<=[a-zA-Z0-9_-])\\s*\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\b",
482
+ "match": "(?<=[a-zA-Z0-9_\\-])\\s*\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\b",
483
483
  "name": "support.type.attr.css"
484
484
  },
485
485
  {
@@ -694,7 +694,7 @@
694
694
  "name": "support.function.transform.css"
695
695
  },
696
696
  {
697
- "begin": "([a-zA-Z_-][a-zA-Z0-9_-]*)(\\()",
697
+ "begin": "([a-zA-Z_\\-][a-zA-Z0-9_\\-]*)(\\()",
698
698
  "beginCaptures": {
699
699
  "1": {
700
700
  "name": "entity.name.function.stylus"
@@ -707,7 +707,7 @@
707
707
  "name": "meta.function.stylus",
708
708
  "patterns": [
709
709
  {
710
- "match": "--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",
710
+ "match": "--[\\-a-zA-Z_[^\\x00-\\x7F]](?:[\\-a-zA-Z0-9_[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*",
711
711
  "name": "variable.argument.stylus"
712
712
  },
713
713
  {
@@ -729,13 +729,13 @@
729
729
  ]
730
730
  },
731
731
  "interpolation": {
732
- "begin": "(?:(\\{)[^\\S\\n]*)(?=[^;=]*[^\\S\\n]*\\})",
732
+ "begin": "(\\{)[^\\S\\n]*(?=[^;=]*[^\\S\\n]*})",
733
733
  "beginCaptures": {
734
734
  "1": {
735
735
  "name": "meta.brace.curly"
736
736
  }
737
737
  },
738
- "end": "(?:[^\\S\\n]*(\\}))|\\n|$",
738
+ "end": "[^\\S\\n]*(})|\\n|$",
739
739
  "endCaptures": {
740
740
  "1": {
741
741
  "name": "meta.brace.curly"
@@ -785,7 +785,7 @@
785
785
  "name": "keyword.other.unit.css"
786
786
  }
787
787
  },
788
- "match": "(?<!\\w|-)(?:(?:-|\\+)?(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\b|%)?",
788
+ "match": "(?<![\\w\\-])(?:[\\-+]?[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+)((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\b|%)?",
789
789
  "name": "constant.numeric.css"
790
790
  }
791
791
  ]
@@ -793,7 +793,7 @@
793
793
  "operator": {
794
794
  "patterns": [
795
795
  {
796
- "match": "((?:\\?|:|!|~|\\+|(\\s-\\s)|(?:\\*)?\\*|\\/|%|(\\.)?\\.\\.|<|>|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!=)|\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\b)",
796
+ "match": "((?:[?:!~+]|(\\s-\\s)|\\*?\\*|[/%]|(\\.)?\\.\\.|[<>]|[=:?+\\-*/%<>]?=|!=)|\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\b)",
797
797
  "name": "keyword.operator.stylus"
798
798
  },
799
799
  {
@@ -802,7 +802,7 @@
802
802
  ]
803
803
  },
804
804
  "property": {
805
- "begin": "(?:\\G\\s*(?:(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([a-zA-Z_-][a-zA-Z0-9_-]*))(?!([^\\S\\n]*&)|([^\\S\\n]*\\{))(?=:|([^\\S\\n]+[^\\s])))",
805
+ "begin": "\\G\\s*(?:(-webkit-[\\-A-Za-z]+|-moz-[\\-A-Za-z]+|-o-[\\-A-Za-z]+|-ms-[\\-A-Za-z]+|-khtml-[\\-A-Za-z]+|zoom|z-index|[yx]|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([a-zA-Z_\\-][a-zA-Z0-9_\\-]*))(?!([^\\S\\n]*&)|([^\\S\\n]*\\{))(?=:|([^\\S\\n]+\\S))",
806
806
  "beginCaptures": {
807
807
  "1": {
808
808
  "name": "support.type.property-name.css"
@@ -814,7 +814,7 @@
814
814
  "name": "support.function.mixin.stylus"
815
815
  }
816
816
  },
817
- "end": "(;)|(?=\\n|\\}|$)",
817
+ "end": "(;)|(?=[\\n}]|$)",
818
818
  "endCaptures": {
819
819
  "1": {
820
820
  "name": "punctuation.terminator.rule.css"
@@ -836,7 +836,7 @@
836
836
  "name": "punctuation.separator.key-value.css"
837
837
  }
838
838
  },
839
- "end": "(?=\\n|;|\\})",
839
+ "end": "(?=[\\n;}])",
840
840
  "endCaptures": {
841
841
  "1": {
842
842
  "name": "punctuation.terminator.rule.css"
@@ -848,7 +848,7 @@
848
848
  "include": "#property_values"
849
849
  },
850
850
  {
851
- "match": "[^\\n]+?"
851
+ "match": "\\N+?"
852
852
  }
853
853
  ]
854
854
  },
@@ -867,11 +867,11 @@
867
867
  "include": "#language_constants"
868
868
  },
869
869
  {
870
- "match": "(?:(?=\\w)(?<![\\w-]))(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?:(?<=\\w)(?![\\w-]))",
870
+ "match": "(?=\\w)(?<![\\w\\-])(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?<=\\w)(?![\\w\\-])",
871
871
  "name": "support.constant.property-value.css"
872
872
  },
873
873
  {
874
- "match": "(?:(?=\\w)(?<![\\w-]))(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?:(?<=\\w)(?![\\w-]))",
874
+ "match": "(?=\\w)(?<![\\w\\-])(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?<=\\w)(?![\\w\\-])",
875
875
  "name": "support.constant.property-value.svg.css"
876
876
  },
877
877
  {
@@ -887,7 +887,7 @@
887
887
  "include": "#string"
888
888
  },
889
889
  {
890
- "match": "\\!\\s*important",
890
+ "match": "!\\s*important",
891
891
  "name": "keyword.other.important.css"
892
892
  },
893
893
  {
@@ -907,7 +907,7 @@
907
907
  "include": "#variable"
908
908
  },
909
909
  {
910
- "match": "(?<!^)(\\@[a-zA-Z_-][a-zA-Z0-9_-]*)",
910
+ "match": "(?<!^)(@[a-zA-Z_\\-][a-zA-Z0-9_\\-]*)",
911
911
  "name": "variable.property.stylus"
912
912
  }
913
913
  ]
@@ -915,15 +915,15 @@
915
915
  "selector": {
916
916
  "patterns": [
917
917
  {
918
- "match": "(?:(?=\\w)(?<![\\w-]))(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?:(?<=\\w)(?![\\w-]))",
918
+ "match": "(?=\\w)(?<![\\w\\-])(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?<=\\w)(?![\\w\\-])",
919
919
  "name": "entity.name.tag.css"
920
920
  },
921
921
  {
922
- "match": "(?:(?=\\w)(?<![\\w-]))(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?:(?<=\\w)(?![\\w-]))",
922
+ "match": "(?=\\w)(?<![\\w\\-])(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?<=\\w)(?![\\w\\-])",
923
923
  "name": "entity.name.tag.svg.css"
924
924
  },
925
925
  {
926
- "match": "\\s*(\\,)\\s*",
926
+ "match": "\\s*(,)\\s*",
927
927
  "name": "meta.selector.stylus"
928
928
  },
929
929
  {
@@ -936,11 +936,11 @@
936
936
  "name": "entity.other.attribute-name.parent-selector-suffix.stylus"
937
937
  }
938
938
  },
939
- "match": "\\s*(\\&)([a-zA-Z0-9_-]+)\\s*",
939
+ "match": "\\s*(&)([a-zA-Z0-9_\\-]+)\\s*",
940
940
  "name": "meta.selector.stylus"
941
941
  },
942
942
  {
943
- "match": "\\s*(\\&)\\s*",
943
+ "match": "\\s*(&)\\s*",
944
944
  "name": "meta.selector.stylus"
945
945
  },
946
946
  {
@@ -949,7 +949,7 @@
949
949
  "name": "punctuation.definition.entity.css"
950
950
  }
951
951
  },
952
- "match": "(\\.)[a-zA-Z0-9_-]+",
952
+ "match": "(\\.)[a-zA-Z0-9_\\-]+",
953
953
  "name": "entity.other.attribute-name.class.css"
954
954
  },
955
955
  {
@@ -958,7 +958,7 @@
958
958
  "name": "punctuation.definition.entity.css"
959
959
  }
960
960
  },
961
- "match": "(#)[a-zA-Z][a-zA-Z0-9_-]*",
961
+ "match": "(#)[a-zA-Z][a-zA-Z0-9_\\-]*",
962
962
  "name": "entity.other.attribute-name.id.css"
963
963
  },
964
964
  {
@@ -1031,7 +1031,7 @@
1031
1031
  "name": "punctuation.section.function.css"
1032
1032
  }
1033
1033
  },
1034
- "match": "((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(\\-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))"
1034
+ "match": "((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))"
1035
1035
  },
1036
1036
  {
1037
1037
  "captures": {
@@ -1118,7 +1118,7 @@
1118
1118
  "name": "punctuation.definition.entity.css"
1119
1119
  }
1120
1120
  },
1121
- "match": "(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
1121
+ "match": "(?i)(\\[)\\s*(-?[_a-z\\\\[:^ascii:]][_a-z0-9\\-\\\\[:^ascii:]]*)(?:\\s*([~|\\^$*]?=)\\s*(?:(-?[_a-z\\\\[:^ascii:]][_a-z0-9\\-\\\\[:^ascii:]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(])",
1122
1122
  "name": "meta.attribute-selector.css"
1123
1123
  },
1124
1124
  {
@@ -1147,7 +1147,7 @@
1147
1147
  "name": "string.quoted.double.css",
1148
1148
  "patterns": [
1149
1149
  {
1150
- "match": "\\\\([a-fA-F0-9]{1,6}|.)",
1150
+ "match": "\\\\(\\h{1,6}|.)",
1151
1151
  "name": "constant.character.escape.css"
1152
1152
  }
1153
1153
  ]
@@ -1168,7 +1168,7 @@
1168
1168
  "name": "string.quoted.single.css",
1169
1169
  "patterns": [
1170
1170
  {
1171
- "match": "\\\\([a-fA-F0-9]{1,6}|.)",
1171
+ "match": "\\\\(\\h{1,6}|.)",
1172
1172
  "name": "constant.character.escape.css"
1173
1173
  }
1174
1174
  ]
@@ -1176,11 +1176,11 @@
1176
1176
  ]
1177
1177
  },
1178
1178
  "variable": {
1179
- "match": "(\\$[a-zA-Z_-][a-zA-Z0-9_-]*)",
1179
+ "match": "(\\$[a-zA-Z_\\-][a-zA-Z0-9_\\-]*)",
1180
1180
  "name": "variable.stylus"
1181
1181
  },
1182
1182
  "variable_declaration": {
1183
- "begin": "^[^\\S\\n]*(\\$?[a-zA-Z_-][a-zA-Z0-9_-]*)[^\\S\\n]*(\\=|\\?\\=|\\:\\=)",
1183
+ "begin": "^[^\\S\\n]*(\\$?[a-zA-Z_\\-][a-zA-Z0-9_\\-]*)[^\\S\\n]*(=|\\?=|:=)",
1184
1184
  "beginCaptures": {
1185
1185
  "1": {
1186
1186
  "name": "variable.stylus"
@@ -1189,7 +1189,7 @@
1189
1189
  "name": "keyword.operator.stylus"
1190
1190
  }
1191
1191
  },
1192
- "end": "(\\n)|(;)|(?=\\})",
1192
+ "end": "(\\n)|(;)|(?=})",
1193
1193
  "endCaptures": {
1194
1194
  "2": {
1195
1195
  "name": "punctuation.terminator.rule.css"
@@ -379,14 +379,14 @@
379
379
  ]
380
380
  },
381
381
  "attributes-interpolated": {
382
- "begin": "(?<!:|=)\\s*({)",
382
+ "begin": "(?<![:=])\\s*(\\{)",
383
383
  "captures": {
384
384
  "1": {
385
385
  "name": "entity.other.attribute-name.svelte"
386
386
  }
387
387
  },
388
388
  "contentName": "meta.embedded.expression.svelte source.ts",
389
- "end": "(\\})",
389
+ "end": "(})",
390
390
  "patterns": [
391
391
  {
392
392
  "include": "source.ts"
@@ -448,7 +448,7 @@
448
448
  "name": "constant.numeric.decimal.svelte"
449
449
  }
450
450
  },
451
- "match": "(?:(['\"])([0-9._]+[\\w%]{,4})(\\1))|(?:([0-9._]+[\\w%]{,4})(?=\\s|/?>))"
451
+ "match": "(['\"])([0-9._]+[\\w%]{0,4})(\\1)|([0-9._]+[\\w%]{0,4})(?=\\s|/?>)"
452
452
  },
453
453
  {
454
454
  "match": "([^\\s\"'=<>`/]|/(?!>))+",
@@ -530,7 +530,7 @@
530
530
  "destructuring": {
531
531
  "patterns": [
532
532
  {
533
- "begin": "(?={)",
533
+ "begin": "(?=\\{)",
534
534
  "end": "(?<=})",
535
535
  "name": "meta.embedded.expression.svelte source.ts",
536
536
  "patterns": [
@@ -541,7 +541,7 @@
541
541
  },
542
542
  {
543
543
  "begin": "(?=\\[)",
544
- "end": "(?<=\\])",
544
+ "end": "(?<=])",
545
545
  "name": "meta.embedded.expression.svelte source.ts",
546
546
  "patterns": [
547
547
  {
@@ -554,7 +554,7 @@
554
554
  "destructuring-const": {
555
555
  "patterns": [
556
556
  {
557
- "begin": "(?={)",
557
+ "begin": "(?=\\{)",
558
558
  "end": "(?<=})",
559
559
  "name": "meta.embedded.expression.svelte source.ts",
560
560
  "patterns": [
@@ -565,7 +565,7 @@
565
565
  },
566
566
  {
567
567
  "begin": "(?=\\[)",
568
- "end": "(?<=\\])",
568
+ "end": "(?<=])",
569
569
  "name": "meta.embedded.expression.svelte source.ts",
570
570
  "patterns": [
571
571
  {
@@ -585,7 +585,7 @@
585
585
  }
586
586
  },
587
587
  "contentName": "meta.embedded.expression.svelte source.ts",
588
- "end": "\\}",
588
+ "end": "}",
589
589
  "endCaptures": {
590
590
  "0": {
591
591
  "name": "punctuation.section.embedded.end.svelte"
@@ -593,7 +593,7 @@
593
593
  },
594
594
  "patterns": [
595
595
  {
596
- "begin": "\\G\\s*(?={)",
596
+ "begin": "\\G\\s*(?=\\{)",
597
597
  "end": "(?<=})",
598
598
  "patterns": [
599
599
  {
@@ -623,8 +623,8 @@
623
623
  "include": "#interpolation"
624
624
  },
625
625
  {
626
- "begin": "(?<=>|})",
627
- "end": "(?=<|{)",
626
+ "begin": "(?<=[>}])",
627
+ "end": "(?=[<{])",
628
628
  "name": "text.svelte"
629
629
  }
630
630
  ]
@@ -643,7 +643,7 @@
643
643
  ]
644
644
  },
645
645
  "special-tags-block-begin": {
646
- "begin": "({)\\s*(#([a-z]*))",
646
+ "begin": "(\\{)\\s*(#([a-z]*))",
647
647
  "beginCaptures": {
648
648
  "1": {
649
649
  "name": "punctuation.definition.block.begin.svelte"
@@ -670,7 +670,7 @@
670
670
  ]
671
671
  },
672
672
  "special-tags-block-end": {
673
- "begin": "({)\\s*(/([a-z]*))",
673
+ "begin": "(\\{)\\s*(/([a-z]*))",
674
674
  "beginCaptures": {
675
675
  "1": {
676
676
  "name": "punctuation.definition.block.begin.svelte"
@@ -761,10 +761,20 @@
761
761
  "name": "variable.other.constant.svelte"
762
762
  }
763
763
  },
764
- "end": "(?=\\=)"
764
+ "end": "(?=[:=])"
765
+ },
766
+ {
767
+ "begin": "(?=:)",
768
+ "end": "(?==)",
769
+ "name": "meta.type.annotation.svelte",
770
+ "patterns": [
771
+ {
772
+ "include": "source.ts"
773
+ }
774
+ ]
765
775
  },
766
776
  {
767
- "begin": "(?=\\=)",
777
+ "begin": "(?==)",
768
778
  "end": "(?=})",
769
779
  "name": "meta.embedded.expression.svelte source.ts",
770
780
  "patterns": [
@@ -782,7 +792,7 @@
782
792
  {
783
793
  "begin": "\\G\\s*?(?=\\S)",
784
794
  "contentName": "meta.embedded.expression.svelte source.ts",
785
- "end": "(?=(?:(?:^\\s*|\\s+)(as))|\\s*(}|,))",
795
+ "end": "(?=(?:^\\s*|\\s+)(as)|\\s*([},]))",
786
796
  "patterns": [
787
797
  {
788
798
  "include": "source.ts"
@@ -790,7 +800,7 @@
790
800
  ]
791
801
  },
792
802
  {
793
- "begin": "(as)|(?=}|,)",
803
+ "begin": "(as)|(?=[},])",
794
804
  "beginCaptures": {
795
805
  "1": {
796
806
  "name": "keyword.control.as.svelte"
@@ -894,7 +904,7 @@
894
904
  ]
895
905
  },
896
906
  "special-tags-void": {
897
- "begin": "({)\\s*((?:[@:])(else\\s+if|[a-z]*))",
907
+ "begin": "(\\{)\\s*([@:](else\\s+if|[a-z]*))",
898
908
  "beginCaptures": {
899
909
  "1": {
900
910
  "name": "punctuation.definition.block.begin.svelte"
@@ -907,7 +917,7 @@
907
917
  ]
908
918
  }
909
919
  },
910
- "end": "\\}",
920
+ "end": "}",
911
921
  "endCaptures": {
912
922
  "0": {
913
923
  "name": "punctuation.definition.block.end.svelte"
@@ -982,7 +992,7 @@
982
992
  "name": "meta.scope.tag.$2.svelte"
983
993
  },
984
994
  "tags-general-start": {
985
- "begin": "(<)([^/\\s>/]*)",
995
+ "begin": "(<)([^/\\s>]*)",
986
996
  "beginCaptures": {
987
997
  "0": {
988
998
  "patterns": [
@@ -1075,7 +1085,7 @@
1075
1085
  "name": "entity.name.tag.svelte"
1076
1086
  }
1077
1087
  },
1078
- "match": "(svelte)(:)([a-z][\\w:-]*)"
1088
+ "match": "(svelte)(:)([a-z][\\w:\\-]*)"
1079
1089
  },
1080
1090
  {
1081
1091
  "match": "slot",
@@ -1099,14 +1109,14 @@
1099
1109
  "name": "support.class.component.svelte"
1100
1110
  }
1101
1111
  },
1102
- "match": "([\\w]+(?:\\.[\\w]+)+)|([A-Z][\\w]+)"
1112
+ "match": "(\\w+(?:\\.\\w+)+)|([A-Z]\\w+)"
1103
1113
  },
1104
1114
  {
1105
- "match": "[a-z][\\w0-9:]*-[\\w0-9:-]*",
1115
+ "match": "[a-z][\\w0-9:]*-[\\w0-9:\\-]*",
1106
1116
  "name": "meta.tag.custom.svelte entity.name.tag.svelte"
1107
1117
  },
1108
1118
  {
1109
- "match": "[a-z][\\w0-9:-]*",
1119
+ "match": "[a-z][\\w0-9:\\-]*",
1110
1120
  "name": "entity.name.tag.svelte"
1111
1121
  }
1112
1122
  ]
@@ -1134,7 +1144,7 @@
1134
1144
  ]
1135
1145
  }
1136
1146
  },
1137
- "match": "(<)([^/\\s>/]*)",
1147
+ "match": "(<)([^/\\s>]*)",
1138
1148
  "name": "meta.tag.start.svelte"
1139
1149
  },
1140
1150
  "tags-void": {