tm-grammars 1.22.3 → 1.22.5

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 (201) hide show
  1. package/NOTICE +1 -1
  2. package/README.md +165 -165
  3. package/grammars/abap.json +29 -29
  4. package/grammars/actionscript-3.json +10 -10
  5. package/grammars/ada.json +6 -6
  6. package/grammars/angular-expression.json +29 -29
  7. package/grammars/angular-let-declaration.json +1 -1
  8. package/grammars/angular-ts.json +257 -257
  9. package/grammars/apex.json +72 -72
  10. package/grammars/apl.json +1 -1
  11. package/grammars/applescript.json +5 -5
  12. package/grammars/ara.json +3 -3
  13. package/grammars/asciidoc.json +4 -4
  14. package/grammars/asm.json +23 -23
  15. package/grammars/astro.json +3 -3
  16. package/grammars/awk.json +2 -2
  17. package/grammars/ballerina.json +94 -94
  18. package/grammars/bat.json +2 -2
  19. package/grammars/beancount.json +13 -13
  20. package/grammars/berry.json +6 -6
  21. package/grammars/bibtex.json +2 -2
  22. package/grammars/bicep.json +6 -6
  23. package/grammars/blade.json +73 -73
  24. package/grammars/c.json +11 -11
  25. package/grammars/cadence.json +6 -6
  26. package/grammars/cairo.json +5 -5
  27. package/grammars/clarity.json +16 -16
  28. package/grammars/clojure.json +14 -14
  29. package/grammars/cobol.json +33 -33
  30. package/grammars/codeql.json +6 -6
  31. package/grammars/coffee.json +17 -17
  32. package/grammars/common-lisp.json +48 -48
  33. package/grammars/coq.json +1 -1
  34. package/grammars/cpp-macro.json +112 -112
  35. package/grammars/cpp.json +187 -187
  36. package/grammars/crystal.json +22 -22
  37. package/grammars/csharp.json +110 -110
  38. package/grammars/css.json +23 -23
  39. package/grammars/cue.json +33 -33
  40. package/grammars/cypher.json +1 -1
  41. package/grammars/d.json +4 -4
  42. package/grammars/dart.json +6 -6
  43. package/grammars/dax.json +2 -2
  44. package/grammars/diff.json +1 -1
  45. package/grammars/dotenv.json +2 -2
  46. package/grammars/dream-maker.json +3 -3
  47. package/grammars/edge.json +1 -1
  48. package/grammars/elixir.json +15 -15
  49. package/grammars/elm.json +30 -30
  50. package/grammars/emacs-lisp.json +3 -3
  51. package/grammars/erlang.json +2 -2
  52. package/grammars/es-tag-css.json +1 -1
  53. package/grammars/es-tag-glsl.json +1 -1
  54. package/grammars/es-tag-html.json +1 -1
  55. package/grammars/es-tag-sql.json +1 -1
  56. package/grammars/es-tag-xml.json +1 -1
  57. package/grammars/fennel.json +3 -3
  58. package/grammars/fish.json +1 -1
  59. package/grammars/fluent.json +1 -1
  60. package/grammars/fortran-free-form.json +57 -57
  61. package/grammars/fsharp.json +62 -62
  62. package/grammars/gdresource.json +6 -6
  63. package/grammars/gdscript.json +8 -8
  64. package/grammars/gdshader.json +1 -1
  65. package/grammars/genie.json +1 -1
  66. package/grammars/git-commit.json +1 -1
  67. package/grammars/gleam.json +9 -9
  68. package/grammars/glimmer-js.json +6 -6
  69. package/grammars/glimmer-ts.json +6 -6
  70. package/grammars/gnuplot.json +6 -6
  71. package/grammars/go.json +41 -41
  72. package/grammars/graphql.json +1 -1
  73. package/grammars/groovy.json +12 -12
  74. package/grammars/hack.json +19 -19
  75. package/grammars/haml.json +4 -4
  76. package/grammars/handlebars.json +2 -2
  77. package/grammars/haskell.json +17 -17
  78. package/grammars/haxe.json +17 -17
  79. package/grammars/hcl.json +24 -24
  80. package/grammars/hjson.json +7 -7
  81. package/grammars/hlsl.json +8 -8
  82. package/grammars/html.json +3 -3
  83. package/grammars/http.json +2 -2
  84. package/grammars/hy.json +8 -8
  85. package/grammars/imba.json +98 -98
  86. package/grammars/java.json +14 -14
  87. package/grammars/javascript.json +264 -264
  88. package/grammars/jinja.json +8 -8
  89. package/grammars/jison.json +7 -7
  90. package/grammars/json.json +1 -1
  91. package/grammars/json5.json +1 -1
  92. package/grammars/jsonc.json +1 -1
  93. package/grammars/jsonl.json +1 -1
  94. package/grammars/jsonnet.json +1 -1
  95. package/grammars/jssm.json +2 -2
  96. package/grammars/jsx.json +264 -264
  97. package/grammars/julia.json +22 -22
  98. package/grammars/kotlin.json +2 -2
  99. package/grammars/kusto.json +1 -1
  100. package/grammars/latex.json +9 -9
  101. package/grammars/lean.json +3 -3
  102. package/grammars/less.json +13 -13
  103. package/grammars/liquid.json +5 -5
  104. package/grammars/log.json +5 -5
  105. package/grammars/logo.json +1 -1
  106. package/grammars/lua.json +25 -25
  107. package/grammars/luau.json +19 -19
  108. package/grammars/make.json +1 -1
  109. package/grammars/markdown.json +8 -8
  110. package/grammars/marko.json +6 -6
  111. package/grammars/matlab.json +12 -12
  112. package/grammars/mdc.json +3 -3
  113. package/grammars/mdx.json +25 -25
  114. package/grammars/mermaid.json +31 -31
  115. package/grammars/mipsasm.json +3 -3
  116. package/grammars/mojo.json +46 -46
  117. package/grammars/move.json +5 -5
  118. package/grammars/nextflow.json +1 -1
  119. package/grammars/nginx.json +10 -10
  120. package/grammars/nim.json +8 -8
  121. package/grammars/nix.json +34 -34
  122. package/grammars/nushell.json +3 -3
  123. package/grammars/objective-c.json +8 -8
  124. package/grammars/objective-cpp.json +14 -14
  125. package/grammars/ocaml.json +94 -94
  126. package/grammars/perl.json +34 -34
  127. package/grammars/php.json +87 -87
  128. package/grammars/polar.json +6 -6
  129. package/grammars/postcss.json +3 -3
  130. package/grammars/powerquery.json +1 -1
  131. package/grammars/powershell.json +5 -5
  132. package/grammars/prisma.json +3 -3
  133. package/grammars/prolog.json +6 -6
  134. package/grammars/proto.json +3 -3
  135. package/grammars/pug.json +4 -4
  136. package/grammars/puppet.json +11 -11
  137. package/grammars/purescript.json +5 -5
  138. package/grammars/python.json +44 -44
  139. package/grammars/qml.json +4 -4
  140. package/grammars/r.json +10 -10
  141. package/grammars/racket.json +19 -19
  142. package/grammars/raku.json +2 -2
  143. package/grammars/razor.json +24 -24
  144. package/grammars/reg.json +2 -2
  145. package/grammars/regexp.json +3 -3
  146. package/grammars/rel.json +4 -4
  147. package/grammars/riscv.json +5 -5
  148. package/grammars/rst.json +1 -1
  149. package/grammars/ruby.json +3 -3
  150. package/grammars/rust.json +1 -1
  151. package/grammars/sas.json +2 -2
  152. package/grammars/sass.json +5 -5
  153. package/grammars/scala.json +43 -43
  154. package/grammars/scheme.json +8 -8
  155. package/grammars/scss.json +7 -7
  156. package/grammars/shaderlab.json +3 -3
  157. package/grammars/shellscript.json +24 -24
  158. package/grammars/smalltalk.json +6 -6
  159. package/grammars/solidity.json +5 -5
  160. package/grammars/soy.json +1 -1
  161. package/grammars/sparql.json +1 -1
  162. package/grammars/splunk.json +3 -3
  163. package/grammars/sql.json +2 -2
  164. package/grammars/ssh-config.json +2 -2
  165. package/grammars/stata.json +33 -33
  166. package/grammars/stylus.json +6 -6
  167. package/grammars/svelte.json +8 -8
  168. package/grammars/swift.json +27 -27
  169. package/grammars/system-verilog.json +11 -11
  170. package/grammars/systemd.json +5 -5
  171. package/grammars/talonscript.json +1 -1
  172. package/grammars/tcl.json +2 -2
  173. package/grammars/templ.json +31 -2
  174. package/grammars/terraform.json +23 -23
  175. package/grammars/tex.json +3 -3
  176. package/grammars/toml.json +5 -5
  177. package/grammars/tsx.json +264 -264
  178. package/grammars/turtle.json +1 -1
  179. package/grammars/twig.json +23 -23
  180. package/grammars/typescript.json +257 -257
  181. package/grammars/typespec.json +30 -30
  182. package/grammars/typst.json +13 -13
  183. package/grammars/v.json +16 -16
  184. package/grammars/vala.json +1 -1
  185. package/grammars/vb.json +2 -2
  186. package/grammars/verilog.json +5 -5
  187. package/grammars/vhdl.json +14 -14
  188. package/grammars/viml.json +11 -11
  189. package/grammars/vue-html.json +2 -2
  190. package/grammars/vue.json +1 -1
  191. package/grammars/vyper.json +44 -44
  192. package/grammars/wasm.json +2 -2
  193. package/grammars/wgsl.json +3 -3
  194. package/grammars/wikitext.json +9 -9
  195. package/grammars/wolfram.json +331 -331
  196. package/grammars/xml.json +1 -1
  197. package/grammars/yaml.json +3 -3
  198. package/grammars/zenscript.json +2 -2
  199. package/grammars/zig.json +3 -3
  200. package/index.js +200 -200
  201. package/package.json +1 -1
package/grammars/css.json CHANGED
@@ -439,7 +439,7 @@
439
439
  "name": "entity.other.keyframe-offset.percentage.css"
440
440
  }
441
441
  },
442
- "match": "(?i)(?<![\\w-])(from|to)(?![\\w-])|([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%)"
442
+ "match": "(?xi)\n(?<![\\w-]) (from|to) (?![\\w-]) # Keywords for 0% | 100%\n|\n([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%) # Percentile value"
443
443
  },
444
444
  {
445
445
  "include": "#rule-list"
@@ -586,7 +586,7 @@
586
586
  ]
587
587
  }
588
588
  },
589
- "match": "(?i)(?:\\G|^|(?<=\\s))(?=(?<=\\s|^)(?:[-a-zA-Z_]|[^\\x00-\\x7F])|\\s*/\\*(?:[^*]|\\*[^/])*\\*/)(.*?)((?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*)"
589
+ "match": "(?xi)\n(?:\\G|^|(?<=\\s))\n(?=\n (?<=\\s|^) # Starts with whitespace\n (?:[-a-zA-Z_]|[^\\x00-\\x7F]) # Then a valid identifier character\n |\n \\s* # Possible adjoining whitespace\n /\\*(?:[^*]|\\*[^/])*\\*/ # Injected comment\n)\n(.*?) # Grouped to embed #comment-block\n(\n (?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n (?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n )*\n)"
590
590
  },
591
591
  {
592
592
  "include": "#comment-block"
@@ -671,7 +671,7 @@
671
671
  "name": "support.constant.color.w3c-standard-color-name.css"
672
672
  },
673
673
  {
674
- "match": "(?i)(?<![\\w-])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![\\w-])",
674
+ "match": "(?xi) (?<![\\w-])\n(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood\n|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan\n|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange\n|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise\n|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen\n|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki\n|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow\n|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray\n|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue\n|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise\n|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered\n|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum\n|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell\n|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato\n|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)\n(?![\\w-])",
675
675
  "name": "support.constant.color.w3c-extended-color-name.css"
676
676
  },
677
677
  {
@@ -679,7 +679,7 @@
679
679
  "name": "support.constant.color.current.css"
680
680
  },
681
681
  {
682
- "match": "(?i)(?<![\\w-])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![\\w-])",
682
+ "match": "(?xi) (?<![\\w-])\n(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow\n|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption\n|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow\n|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)\n(?![\\w-])",
683
683
  "name": "invalid.deprecated.color.system.css"
684
684
  }
685
685
  ]
@@ -767,7 +767,7 @@
767
767
  ]
768
768
  },
769
769
  "font-features": {
770
- "begin": "(?i)((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\\s@'\"{;]|/\\*|$)",
770
+ "begin": "(?xi)\n((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))\n(?=[\\s@'\"{;]|/\\*|$)",
771
771
  "beginCaptures": {
772
772
  "1": {
773
773
  "name": "keyword.control.at-rule.${3:/downcase}.css"
@@ -1038,7 +1038,7 @@
1038
1038
  ]
1039
1039
  },
1040
1040
  {
1041
- "begin": "(?i)(?<![\\w-])((?:-webkit-|-moz-|-o-)?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\()",
1041
+ "begin": "(?xi) (?<![\\w-])\n(\n (?:-webkit-|-moz-|-o-)? # Accept prefixed/historical variants\n (?:repeating-)? # \"Repeating\"-type gradient\n (?:linear|radial|conic) # Shape\n -gradient\n)\n(\\()",
1042
1042
  "beginCaptures": {
1043
1043
  "1": {
1044
1044
  "name": "support.function.gradient.css"
@@ -1110,7 +1110,7 @@
1110
1110
  ]
1111
1111
  },
1112
1112
  {
1113
- "begin": "(?i)(?<![\\w-])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)(\\()",
1113
+ "begin": "(?xi) (?<![\\w-])\n(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?\n|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix\n|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia\n|styleset|stylistic|swash|symbols\n|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)\n(\\()",
1114
1114
  "beginCaptures": {
1115
1115
  "1": {
1116
1116
  "name": "support.function.misc.css"
@@ -1195,7 +1195,7 @@
1195
1195
  ]
1196
1196
  },
1197
1197
  {
1198
- "begin": "(?i)(?<![\\w-])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\()",
1198
+ "begin": "(?xi) (?<![\\w-])\n( (?:translate|scale|rotate)(?:[XYZ]|3D)?\n| matrix(?:3D)?\n| skew[XY]?\n| perspective\n)\n(\\()",
1199
1199
  "beginCaptures": {
1200
1200
  "1": {
1201
1201
  "name": "support.function.transform.css"
@@ -1249,7 +1249,7 @@
1249
1249
  ]
1250
1250
  },
1251
1251
  "media-feature-keywords": {
1252
- "match": "(?i)(?<=^|\\s|:|\\*/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=\\s|\\)|$)",
1252
+ "match": "(?xi)\n(?<=^|\\s|:|\\*/)\n(?: portrait # Orientation\n | landscape\n | progressive # Scan types\n | interlace\n | fullscreen # Display modes\n | standalone\n | minimal-ui\n | browser\n | hover\n)\n(?=\\s|\\)|$)",
1253
1253
  "name": "support.constant.property-value.css"
1254
1254
  },
1255
1255
  "media-features": {
@@ -1264,7 +1264,7 @@
1264
1264
  "name": "support.type.vendored.property-name.media.css"
1265
1265
  }
1266
1266
  },
1267
- "match": "(?i)(?<=^|\\s|\\(|\\*/)(?:((?:min-|max-)?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:min-|max-)?device-(?:height|width|aspect-ratio))|((?:[-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[\\w-]+(?=\\s*(?:/\\*(?:[^*]|\\*[^/])*\\*/)?\\s*[:)])))(?=\\s|$|[><:=]|\\)|/\\*)"
1267
+ "match": "(?xi)\n(?<=^|\\s|\\(|\\*/) # Preceded by whitespace, bracket or comment\n(?:\n # Standardised features\n (\n (?:min-|max-)? # Range features\n (?: height\n | width\n | aspect-ratio\n | color\n | color-index\n | monochrome\n | resolution\n )\n | grid # Discrete features\n | scan\n | orientation\n | display-mode\n | hover\n )\n |\n # Deprecated features\n (\n (?:min-|max-)? # Deprecated in Media Queries 4\n device-\n (?: height\n | width\n | aspect-ratio\n )\n )\n |\n # Vendor extensions\n (\n (?:\n # Spec-compliant syntax\n [-_]\n (?: webkit # Webkit/Blink\n | apple|khtml # Webkit aliases\n | epub # ePub3\n | moz # Gecko\n | ms # Microsoft\n | o # Presto (pre-Opera 15)\n | xv|ah|rim|atsc| # Less common vendors\n hp|tc|wap|ro\n )\n |\n # Non-standard prefixes\n (?: mso # Microsoft Office\n | prince # YesLogic\n )\n )\n -\n [\\w-]+ # Feature name\n (?= # Terminates correctly\n \\s* # Possible whitespace\n (?: # Possible injected comment\n /\\*\n (?:[^*]|\\*[^/])*\n \\*/\n )?\n \\s*\n [:)] # Ends with a colon or closed bracket\n )\n )\n)\n(?=\\s|$|[><:=]|\\)|/\\*) # Terminates cleanly"
1268
1268
  },
1269
1269
  "media-query": {
1270
1270
  "begin": "\\G",
@@ -1365,7 +1365,7 @@
1365
1365
  "name": "invalid.deprecated.constant.media.css"
1366
1366
  }
1367
1367
  },
1368
- "match": "(?i)(?<=^|\\s|,|\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[{,\\s;]|/\\*)"
1368
+ "match": "(?xi)\n(?<=^|\\s|,|\\*/)\n(?:\n # Valid media types\n (all|print|screen|speech)\n |\n # Deprecated in Media Queries 4: http://dev.w3.org/csswg/mediaqueries/#media-types\n (aural|braille|embossed|handheld|projection|tty|tv)\n)\n(?=$|[{,\\s;]|/\\*)"
1369
1369
  },
1370
1370
  "numeric-values": {
1371
1371
  "patterns": [
@@ -1387,7 +1387,7 @@
1387
1387
  "name": "keyword.other.unit.${2:/downcase}.css"
1388
1388
  }
1389
1389
  },
1390
- "match": "(?i)(?<![\\w-])[-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:(?<=\\d)E[-+]?\\d+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\\b)?",
1390
+ "match": "(?xi) (?<![\\w-])\n[-+]? # Sign indicator\n\n(?: # Numerals\n [0-9]+ (?:\\.[0-9]+)? # Integer/float with leading digits\n | \\.[0-9]+ # Float without leading digits\n)\n\n(?: # Scientific notation\n (?<=[0-9]) # Exponent must follow a digit\n E # Exponent indicator\n [-+]? # Possible sign indicator\n [0-9]+ # Exponent value\n)?\n\n(?: # Possible unit for data-type:\n (%) # - Percentage\n | ( deg|grad|rad|turn # - Angle\n | Hz|kHz # - Frequency\n | ch|cm|em|ex|fr|in|mm|mozmm| # - Length\n pc|pt|px|q|rem|rch|rex|rlh|\n ic|ric|rcap|vh|vw|vb|vi|svh|\n svw|svb|svi|dvh|dvw|dvb|dvi|\n lvh|lvw|lvb|lvi|vmax|vmin|\n cqw|cqi|cqh|cqb|cqmin|cqmax\n | dpi|dpcm|dppx # - Resolution\n | s|ms # - Time\n )\n \\b # Boundary checking intentionally lax to\n)? # facilitate embedding in CSS-like grammars",
1391
1391
  "name": "constant.numeric.css"
1392
1392
  }
1393
1393
  ]
@@ -1395,11 +1395,11 @@
1395
1395
  "property-keywords": {
1396
1396
  "patterns": [
1397
1397
  {
1398
- "match": "(?i)(?<![\\w-])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![\\w-])",
1398
+ "match": "(?xi) (?<![\\w-])\n(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse\n|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel\n|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets\n|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn\n|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover\n|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures\n|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in\n|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded\n|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze\n|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide\n|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space\n|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start\n|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83\n|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB\n|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent\n|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize\n|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures\n|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize\n|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding\n|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line\n|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]\n|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text\n|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate\n|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller\n|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap\n|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table\n|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl\n|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle\n|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical\n|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy\n|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)\n(?![\\w-])",
1399
1399
  "name": "support.constant.property-value.css"
1400
1400
  },
1401
1401
  {
1402
- "match": "(?i)(?<![\\w-])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![\\w-])",
1402
+ "match": "(?xi) (?<![\\w-])\n(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic\n|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am\n|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew\n|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer\n|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek\n|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal\n|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian\n|upper-latin|upper-roman|urdu)\n(?![\\w-])",
1403
1403
  "name": "support.constant.property-value.list-style-type.css"
1404
1404
  },
1405
1405
  {
@@ -1415,7 +1415,7 @@
1415
1415
  "property-names": {
1416
1416
  "patterns": [
1417
1417
  {
1418
- "match": "(?i)(?<![\\w-])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![\\w-])",
1418
+ "match": "(?xi) (?<![\\w-])\n(?:\n # Standard CSS\n accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration\n | animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter\n | backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image\n | background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border\n | border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color\n | border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius\n | border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image\n | border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end\n | border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color\n | border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width\n | border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius\n | border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style\n | border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side\n | caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap\n | column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment\n | counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis\n | flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family\n | font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch\n | font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures\n | font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical\n | grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start\n | grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows\n | hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align\n | inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation\n | justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style\n | list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start\n | margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset\n | mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode\n | mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width\n | max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position\n | offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans\n | outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline\n | overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]\n | pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left\n | padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin\n | place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align\n | ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start\n | scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right\n | scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom\n | scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right\n | scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type\n | scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size\n | speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit\n | stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright\n | text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness\n | text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation\n | text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform\n | transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function\n | translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change\n | word-break|word-spacing|word-wrap|writing-mode|z-index|zoom\n\n # SVG attributes\n | alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile\n | color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity\n | glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid\n | marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap\n | stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y\n\n # Not listed on MDN; presumably deprecated\n | adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break\n | balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length\n | bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction\n | box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column\n | column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break\n | delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust\n | drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position\n | flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before\n | hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust\n | initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count\n | justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift\n | line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed\n | marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group\n | orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range\n | play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim\n | radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness\n | right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color\n | rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral\n | speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch\n | string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height\n | text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style\n | top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range\n | voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap\n)\n(?![\\w-])",
1419
1419
  "name": "support.type.property-name.css"
1420
1420
  },
1421
1421
  {
@@ -1468,7 +1468,7 @@
1468
1468
  "name": "invalid.illegal.colon.css"
1469
1469
  }
1470
1470
  },
1471
- "match": "(?i)(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![\\w-]|\\s*[;}])",
1471
+ "match": "(?xi)\n(:)(:*)\n(?: active|any-link|checked|default|disabled|empty|enabled|first\n | (?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover\n | in-range|indeterminate|invalid|left|link|optional|out-of-range\n | read-only|read-write|required|right|root|scope|target|unresolved\n | valid|visited\n)(?![\\w-]|\\s*[;}])",
1472
1472
  "name": "entity.other.attribute-name.pseudo-class.css"
1473
1473
  },
1474
1474
  "pseudo-elements": {
@@ -1480,7 +1480,7 @@
1480
1480
  "name": "punctuation.definition.entity.css"
1481
1481
  }
1482
1482
  },
1483
- "match": "(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-z-]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![\\w-]|\\s*[;}])",
1483
+ "match": "(?xi)\n(?:\n (::?) # Elements using both : and :: notation\n (?: after\n | before\n | first-letter\n | first-line\n | (?:-(?:ah|apple|atsc|epub|hp|khtml|moz\n |ms|o|rim|ro|tc|wap|webkit|xv)\n | (?:mso|prince))\n -[a-z-]+\n )\n |\n (::) # Double-colon only\n (?: backdrop\n | content\n | grammar-error\n | marker\n | placeholder\n | selection\n | shadow\n | spelling-error\n )\n)\n(?![\\w-]|\\s*[;}])",
1484
1484
  "name": "entity.other.attribute-name.pseudo-element.css"
1485
1485
  },
1486
1486
  "rule-list": {
@@ -1558,7 +1558,7 @@
1558
1558
  ]
1559
1559
  },
1560
1560
  "selector": {
1561
- "begin": "(?=(?:\\|)?(?:[-\\[:.*#a-zA-Z_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)))",
1561
+ "begin": "(?=(?:\\|)?(?:[-\\[:.*\\#a-zA-Z_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)))",
1562
1562
  "end": "(?=\\s*[/@{)])",
1563
1563
  "name": "meta.selector.css",
1564
1564
  "patterns": [
@@ -1590,7 +1590,7 @@
1590
1590
  "name": "punctuation.separator.css"
1591
1591
  }
1592
1592
  },
1593
- "match": "(?:^|(?<=[\\s,(};]))(?![-\\w*]+\\|(?![-\\[:.*#a-zA-Z_]|[^\\x00-\\x7F]))((?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*|\\*)?(\\|)"
1593
+ "match": "(?:^|(?<=[\\s,(};]))(?![-\\w*]+\\|(?![-\\[:.*\\#a-zA-Z_]|[^\\x00-\\x7F]))((?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*|\\*)?(\\|)"
1594
1594
  },
1595
1595
  {
1596
1596
  "include": "#tag-names"
@@ -1612,7 +1612,7 @@
1612
1612
  ]
1613
1613
  }
1614
1614
  },
1615
- "match": "(?<![@\\w-])([.#])((?:-?\\d|-(?=$|[\\s,.#)\\[:{>+~|]|/\\*)|(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*(?:[!\"'%&(*;<?@^`|\\]}]|/(?!\\*))+)(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*)",
1615
+ "match": "(?<![@\\w-])([.\\#])((?:-?[0-9]|-(?=$|[\\s,.\\#)\\[:{>+~|]|/\\*)|(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*(?:[!\"'%&(*;<?@^`|\\]}]|/(?!\\*))+)(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*)",
1616
1616
  "name": "invalid.illegal.bad-identifier.css"
1617
1617
  },
1618
1618
  {
@@ -1628,7 +1628,7 @@
1628
1628
  ]
1629
1629
  }
1630
1630
  },
1631
- "match": "(\\.)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.#)\\[:{>+~|]|/\\*)",
1631
+ "match": "(\\.)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.\\#)\\[:{>+~|]|/\\*)",
1632
1632
  "name": "entity.other.attribute-name.class.css"
1633
1633
  },
1634
1634
  {
@@ -1644,7 +1644,7 @@
1644
1644
  ]
1645
1645
  }
1646
1646
  },
1647
- "match": "(\\#)(-?(?!\\d)(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.#)\\[:{>+~|]|/\\*)",
1647
+ "match": "(\\#)(-?(?![0-9])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.\\#)\\[:{>+~|]|/\\*)",
1648
1648
  "name": "entity.other.attribute-name.id.css"
1649
1649
  },
1650
1650
  {
@@ -1808,7 +1808,7 @@
1808
1808
  ]
1809
1809
  },
1810
1810
  "tag-names": {
1811
- "match": "(?i)(?<![\\w:-])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[+~>\\s,.#|){:\\[]|/\\*|$)",
1811
+ "match": "(?xi) (?<![\\w:-])\n(?:\n # HTML\n a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound\n | big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command\n | content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset\n | figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i\n | iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark\n | marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript\n | object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc\n | ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong\n | style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr\n | track|tt|u|ul|var|video|wbr|xmp\n\n # SVG\n | altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform\n | circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix\n | feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap\n | feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur\n | feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting\n | feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name\n | font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern\n | line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata\n | missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor\n | stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern\n\n # MathML\n | annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced\n | mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot\n | mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup\n | msup|mtable|mtd|mtext|mtr|munder|munderover|semantics\n)\n(?=[+~>\\s,.\\#|){:\\[]|/\\*|$)",
1812
1812
  "name": "entity.name.tag.css"
1813
1813
  },
1814
1814
  "unicode-range": {
package/grammars/cue.json CHANGED
@@ -20,12 +20,12 @@
20
20
  "name": "entity.name.namespace"
21
21
  }
22
22
  },
23
- "match": "(?<![\\p{L}\\p{Nd}_$#])(package)[ \\t]+([\\p{L}$#][\\p{L}\\p{Nd}_$#]*)(?![\\p{L}\\p{Nd}_$#])"
23
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(package)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)(?![\\p{L}\\p{Nd}_\\$\\#])"
24
24
  },
25
25
  {
26
26
  "patterns": [
27
27
  {
28
- "begin": "(?<![\\p{L}\\p{Nd}_$#])(import)[ \\t]+(\\()",
28
+ "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])(import)[ \\t]+(\\()",
29
29
  "beginCaptures": {
30
30
  "1": {
31
31
  "name": "keyword.other.import"
@@ -69,7 +69,7 @@
69
69
  "name": "punctuation.definition.string.end"
70
70
  }
71
71
  },
72
- "match": "(?:([\\p{L}$#][\\p{L}\\p{Nd}_$#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}$#][\\p{L}\\p{Nd}_$#]*))?(\")",
72
+ "match": "(?:([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*))?(\")",
73
73
  "name": "meta.import-spec"
74
74
  },
75
75
  {
@@ -105,7 +105,7 @@
105
105
  "name": "punctuation.definition.string.end"
106
106
  }
107
107
  },
108
- "match": "(?<![\\p{L}\\p{Nd}_$#])(import)[ \\t]+(?:([\\p{L}$#][\\p{L}\\p{Nd}_$#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}$#][\\p{L}\\p{Nd}_$#]*))?(\")",
108
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(import)[ \\t]+(?:([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*))?(\")",
109
109
  "name": "meta.import"
110
110
  }
111
111
  ]
@@ -124,7 +124,7 @@
124
124
  "attribute_element": {
125
125
  "patterns": [
126
126
  {
127
- "begin": "([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(=)",
127
+ "begin": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(=)",
128
128
  "beginCaptures": {
129
129
  "1": {
130
130
  "name": "variable.other"
@@ -133,7 +133,7 @@
133
133
  "name": "punctuation.bind"
134
134
  }
135
135
  },
136
- "end": "(?=[,)])",
136
+ "end": "(?=[,\\)])",
137
137
  "patterns": [
138
138
  {
139
139
  "include": "#attribute_string"
@@ -141,7 +141,7 @@
141
141
  ]
142
142
  },
143
143
  {
144
- "begin": "([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(\\()",
144
+ "begin": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(\\()",
145
145
  "beginCaptures": {
146
146
  "1": {
147
147
  "name": "variable.other"
@@ -176,11 +176,11 @@
176
176
  "include": "#string"
177
177
  },
178
178
  {
179
- "match": "[^\\n,\"'#=()]+",
179
+ "match": "[^\\n,\"'#=\\(\\)]+",
180
180
  "name": "string.unquoted"
181
181
  },
182
182
  {
183
- "match": "[^,)]+",
183
+ "match": "[^,\\)]+",
184
184
  "name": "invalid"
185
185
  }
186
186
  ]
@@ -211,7 +211,7 @@
211
211
  "declaration": {
212
212
  "patterns": [
213
213
  {
214
- "begin": "(@)([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(\\()",
214
+ "begin": "(@)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(\\()",
215
215
  "beginCaptures": {
216
216
  "1": {
217
217
  "name": "punctuation.definition.annotation"
@@ -285,10 +285,10 @@
285
285
  "name": "keyword.control.in"
286
286
  }
287
287
  },
288
- "match": "(?<![\\p{L}\\p{Nd}_$#])(for)[ \\t]+([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(?:[ \\t]*(,)[ \\t]*([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+))?[ \\t]+(in)(?![\\p{L}\\p{Nd}_$#])"
288
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(for)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?:[ \\t]*(,)[ \\t]*([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+))?[ \\t]+(in)(?![\\p{L}\\p{Nd}_\\$\\#])"
289
289
  },
290
290
  {
291
- "match": "(?<![\\p{L}\\p{Nd}_$#])if(?![\\p{L}\\p{Nd}_$#])",
291
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])if(?![\\p{L}\\p{Nd}_\\$\\#])",
292
292
  "name": "keyword.control.conditional"
293
293
  },
294
294
  {
@@ -303,18 +303,18 @@
303
303
  "name": "punctuation.bind"
304
304
  }
305
305
  },
306
- "match": "(?<![\\p{L}\\p{Nd}_$#])(let)[ \\t]+([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)[ \\t]*(=)(?![=])"
306
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(let)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)[ \\t]*(=)(?![=])"
307
307
  }
308
308
  ]
309
309
  },
310
310
  {
311
311
  "patterns": [
312
312
  {
313
- "match": "[+\\-\\*]|/(?![/*])",
313
+ "match": "[\\+\\-\\*]|/(?![/*])",
314
314
  "name": "keyword.operator"
315
315
  },
316
316
  {
317
- "match": "(?<![\\p{L}\\p{Nd}_$#])(?:div|mod|quo|rem)(?![\\p{L}\\p{Nd}_$#])",
317
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:div|mod|quo|rem)(?![\\p{L}\\p{Nd}_\\$\\#])",
318
318
  "name": "keyword.operator.word"
319
319
  },
320
320
  {
@@ -340,24 +340,24 @@
340
340
  "name": "variable.other.member"
341
341
  }
342
342
  },
343
- "match": "(?<!\\.)(\\.)([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(?![\\p{L}\\p{Nd}_$#])"
343
+ "match": "(?<!\\.)(\\.)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?![\\p{L}\\p{Nd}_\\$\\#])"
344
344
  },
345
345
  {
346
346
  "patterns": [
347
347
  {
348
- "match": "(?<![\\p{L}\\p{Nd}_$#])_(?!\\|)(?![\\p{L}\\p{Nd}_$#])",
348
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])_(?!\\|)(?![\\p{L}\\p{Nd}_\\$\\#])",
349
349
  "name": "constant.language.top"
350
350
  },
351
351
  {
352
- "match": "(?<![\\p{L}\\p{Nd}_$#])_\\|_(?![\\p{L}\\p{Nd}_$#])",
352
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])_\\|_(?![\\p{L}\\p{Nd}_\\$\\#])",
353
353
  "name": "constant.language.bottom"
354
354
  },
355
355
  {
356
- "match": "(?<![\\p{L}\\p{Nd}_$#])null(?![\\p{L}\\p{Nd}_$#])",
356
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])null(?![\\p{L}\\p{Nd}_\\$\\#])",
357
357
  "name": "constant.language.null"
358
358
  },
359
359
  {
360
- "match": "(?<![\\p{L}\\p{Nd}_$#])(?:true|false)(?![\\p{L}\\p{Nd}_$#])",
360
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:true|false)(?![\\p{L}\\p{Nd}_\\$\\#])",
361
361
  "name": "constant.language.bool"
362
362
  },
363
363
  {
@@ -365,15 +365,15 @@
365
365
  {
366
366
  "patterns": [
367
367
  {
368
- "match": "(?<![\\p{L}\\p{Nd}_\\.])\\d(?:_?\\d)*\\.(?:\\d(?:_?\\d)*)?(?:[eE][+\\-]?\\d(?:_?\\d)*)?(?![\\p{L}\\p{Nd}_\\.])",
368
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?(?:[eE][\\+\\-]?[0-9](?:_?[0-9])*)?(?![\\p{L}\\p{Nd}_\\.])",
369
369
  "name": "constant.numeric.float.decimal"
370
370
  },
371
371
  {
372
- "match": "(?<![\\p{L}\\p{Nd}_\\.])\\d(?:_?\\d)*[eE][+\\-]?\\d(?:_?\\d)*(?![\\p{L}\\p{Nd}_\\.])",
372
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])[0-9](?:_?[0-9])*[eE][\\+\\-]?[0-9](?:_?[0-9])*(?![\\p{L}\\p{Nd}_\\.])",
373
373
  "name": "constant.numeric.float.decimal"
374
374
  },
375
375
  {
376
- "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.\\d(?:_?\\d)*(?:[eE][+\\-]?\\d(?:_?\\d)*)?(?![\\p{L}\\p{Nd}_\\.])",
376
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.[0-9](?:_?[0-9])*(?:[eE][\\+\\-]?[0-9](?:_?[0-9])*)?(?![\\p{L}\\p{Nd}_\\.])",
377
377
  "name": "constant.numeric.float.decimal"
378
378
  }
379
379
  ]
@@ -383,17 +383,17 @@
383
383
  {
384
384
  "patterns": [
385
385
  {
386
- "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?\\d)*)(?:\\.\\d(?:_?\\d)*)?(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
386
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?[0-9])*)(?:\\.[0-9](?:_?[0-9])*)?(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
387
387
  "name": "constant.numeric.integer.other"
388
388
  },
389
389
  {
390
- "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.\\d(?:_?\\d)*(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
390
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.[0-9](?:_?[0-9])*(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
391
391
  "name": "constant.numeric.integer.other"
392
392
  }
393
393
  ]
394
394
  },
395
395
  {
396
- "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?\\d)*)(?![\\p{L}\\p{Nd}_\\.])",
396
+ "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?[0-9])*)(?![\\p{L}\\p{Nd}_\\.])",
397
397
  "name": "constant.numeric.integer.decimal"
398
398
  },
399
399
  {
@@ -416,13 +416,13 @@
416
416
  "include": "#string"
417
417
  },
418
418
  {
419
- "match": "(?<![\\p{L}\\p{Nd}_$#])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![\\p{L}\\p{Nd}_$#])",
419
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![\\p{L}\\p{Nd}_\\$\\#])",
420
420
  "name": "support.type"
421
421
  },
422
422
  {
423
423
  "patterns": [
424
424
  {
425
- "begin": "(?<![\\p{L}\\p{Nd}_$#])(len|close|and|or)(\\()",
425
+ "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])(len|close|and|or)(\\()",
426
426
  "beginCaptures": {
427
427
  "1": {
428
428
  "name": "support.function"
@@ -457,7 +457,7 @@
457
457
  ]
458
458
  },
459
459
  {
460
- "begin": "(?<![\\p{L}\\p{Nd}_$#])([\\p{L}$#][\\p{L}\\p{Nd}_$#]*)(\\.)(\\p{Lu}[\\p{L}\\p{Nd}_$#]*)(\\()",
460
+ "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)(\\.)(\\p{Lu}[\\p{L}\\p{Nd}_\\$\\#]*)(\\()",
461
461
  "beginCaptures": {
462
462
  "1": {
463
463
  "name": "support.module"
@@ -500,7 +500,7 @@
500
500
  ]
501
501
  },
502
502
  {
503
- "match": "(?<![\\p{L}\\p{Nd}_$#])(?:[\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)(?![\\p{L}\\p{Nd}_$#])",
503
+ "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:[\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?![\\p{L}\\p{Nd}_\\$\\#])",
504
504
  "name": "variable.other"
505
505
  },
506
506
  {
@@ -577,7 +577,7 @@
577
577
  "name": "punctuation.alias"
578
578
  }
579
579
  },
580
- "match": "([\\p{L}$#][\\p{L}\\p{Nd}_$#]*|_[\\p{L}\\p{Nd}_$#]+)[ \\t]*(=)"
580
+ "match": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)[ \\t]*(=)"
581
581
  },
582
582
  {
583
583
  "include": "#expression"
@@ -625,11 +625,11 @@
625
625
  ]
626
626
  },
627
627
  "invalid_in_braces": {
628
- "match": "[^}]+",
628
+ "match": "[^\\}]+",
629
629
  "name": "invalid"
630
630
  },
631
631
  "invalid_in_parens": {
632
- "match": "[^)]+",
632
+ "match": "[^\\)]+",
633
633
  "name": "invalid"
634
634
  },
635
635
  "punctuation_colon": {
@@ -187,7 +187,7 @@
187
187
  "operators": {
188
188
  "patterns": [
189
189
  {
190
- "match": "(\\+|-|\\/|\\*|\\%|\\?|!)",
190
+ "match": "(\\+|\\-|\\/|\\*|\\%|\\?|!)",
191
191
  "name": "keyword.operator.math.cypher"
192
192
  },
193
193
  {
package/grammars/d.json CHANGED
@@ -626,7 +626,7 @@
626
626
  "decimal-float": {
627
627
  "patterns": [
628
628
  {
629
- "match": "\\b((\\.\\d)|(0\\.)|(([1-9]|(0[1-9_]))[0-9_]*\\.))[0-9_]*((e-|E-|e\\+|E\\+|e|E)\\d[0-9_]*)?[LfF]?i?\\b",
629
+ "match": "\\b((\\.[0-9])|(0\\.)|(([1-9]|(0[1-9_]))[0-9_]*\\.))[0-9_]*((e-|E-|e\\+|E\\+|e|E)[0-9][0-9_]*)?[LfF]?i?\\b",
630
630
  "name": "constant.numeric.float.decimal.d"
631
631
  }
632
632
  ]
@@ -1216,7 +1216,7 @@
1216
1216
  "name": "meta.lexical.token.symbolic.d"
1217
1217
  }
1218
1218
  },
1219
- "end": "(?=[);,\\]}])",
1219
+ "end": "(?=[\\);,\\]}])",
1220
1220
  "patterns": [
1221
1221
  {
1222
1222
  "include": "source.d"
@@ -1294,7 +1294,7 @@
1294
1294
  "hexadecimal-float": {
1295
1295
  "patterns": [
1296
1296
  {
1297
- "match": "\\b0[xX][0-9a-fA-F_]*(\\.[0-9a-fA-F_]*)?(p-|P-|p\\+|P\\+|p|P)\\d[0-9_]*[LfF]?i?\\b",
1297
+ "match": "\\b0[xX][0-9a-fA-F_]*(\\.[0-9a-fA-F_]*)?(p-|P-|p\\+|P\\+|p|P)[0-9][0-9_]*[LfF]?i?\\b",
1298
1298
  "name": "constant.numeric.float.hexadecimal.d"
1299
1299
  }
1300
1300
  ]
@@ -2886,7 +2886,7 @@
2886
2886
  "include": "#keyword"
2887
2887
  },
2888
2888
  {
2889
- "match": "~=|~|>>>|>>=|>>|>=|>|=>|==|=|<>|<=|<<|<|%=|%|#|&=|&&|&|\\$|\\|=|\\|\\||\\||\\+=|\\+\\+|\\+|\\^=|\\^\\^=|\\^\\^|\\^|\\*=|\\*|\\}|\\{|\\]|\\[|\\)|\\(|\\.\\.\\.|\\.\\.|\\.|\\?|!>=|!>|!=|!<>=|!<>|!<=|!<|!|/=|/|@|:|;|,|-=|--|-",
2889
+ "match": "~=|~|>>>|>>=|>>|>=|>|=>|==|=|<>|<=|<<|<|%=|%|#|&=|&&|&|\\$|\\|=|\\|\\||\\||\\+=|\\+\\+|\\+|\\^=|\\^\\^=|\\^\\^|\\^|\\*=|\\*|\\}|\\{|\\]|\\[|\\)|\\(|\\.\\.\\.|\\.\\.|\\.|\\?|\\!>=|\\!>|\\!=|\\!<>=|\\!<>|\\!<=|\\!<|\\!|/=|/|@|:|;|,|-=|--|-",
2890
2890
  "name": "meta.lexical.token.symbolic.d"
2891
2891
  },
2892
2892
  {
@@ -190,7 +190,7 @@
190
190
  "name": "variable.language.dart"
191
191
  },
192
192
  {
193
- "match": "(?<!\\$)\\b((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|((\\d[0-9_]*\\.?[0-9_]*)|(\\.\\d[0-9_]*))((e|E)(\\+|-)?\\d[0-9_]*)?)\\b(?!\\$)",
193
+ "match": "(?<!\\$)\\b((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(([0-9][0-9_]*\\.?[0-9_]*)|(\\.[0-9][0-9_]*))((e|E)(\\+|-)?[0-9][0-9_]*)?)\\b(?!\\$)",
194
194
  "name": "constant.numeric.dart"
195
195
  },
196
196
  {
@@ -262,7 +262,7 @@
262
262
  "include": "#strings"
263
263
  },
264
264
  {
265
- "match": "\\w+",
265
+ "match": "[a-zA-Z0-9_]+",
266
266
  "name": "variable.parameter.dart"
267
267
  },
268
268
  {
@@ -342,7 +342,7 @@
342
342
  "operators": {
343
343
  "patterns": [
344
344
  {
345
- "match": "(?<!\\$)\\b(is!?)\\b(?!\\$)",
345
+ "match": "(?<!\\$)\\b(is\\!?)\\b(?!\\$)",
346
346
  "name": "keyword.operator.dart"
347
347
  },
348
348
  {
@@ -374,11 +374,11 @@
374
374
  "name": "keyword.operator.assignment.dart"
375
375
  },
376
376
  {
377
- "match": "(--|\\+\\+)",
377
+ "match": "(\\-\\-|\\+\\+)",
378
378
  "name": "keyword.operator.increment-decrement.dart"
379
379
  },
380
380
  {
381
- "match": "(-|\\+|\\*|\\/|\\~\\/|%)",
381
+ "match": "(\\-|\\+|\\*|\\/|\\~\\/|%)",
382
382
  "name": "keyword.operator.arithmetic.dart"
383
383
  },
384
384
  {
@@ -411,7 +411,7 @@
411
411
  "name": "variable.parameter.dart"
412
412
  }
413
413
  },
414
- "match": "\\$(\\w+)",
414
+ "match": "\\$([a-zA-Z0-9_]+)",
415
415
  "name": "meta.embedded.expression.dart"
416
416
  },
417
417
  {