tm-grammars 1.17.4 → 1.17.6

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 (95) hide show
  1. package/README.md +86 -86
  2. package/grammars/actionscript-3.json +12 -12
  3. package/grammars/angular-expression.json +20 -20
  4. package/grammars/angular-let-declaration.json +1 -1
  5. package/grammars/angular-ts.json +244 -244
  6. package/grammars/apex.json +61 -61
  7. package/grammars/apl.json +8 -8
  8. package/grammars/applescript.json +1 -1
  9. package/grammars/ara.json +6 -6
  10. package/grammars/asm.json +10 -10
  11. package/grammars/astro.json +2 -2
  12. package/grammars/ballerina.json +72 -72
  13. package/grammars/bicep.json +5 -5
  14. package/grammars/blade.json +16 -16
  15. package/grammars/c.json +11 -11
  16. package/grammars/clarity.json +25 -25
  17. package/grammars/codeql.json +182 -182
  18. package/grammars/coffee.json +9 -9
  19. package/grammars/common-lisp.json +2 -2
  20. package/grammars/cpp.json +3 -3
  21. package/grammars/crystal.json +4 -4
  22. package/grammars/csharp.json +93 -93
  23. package/grammars/css.json +15 -15
  24. package/grammars/dax.json +7 -7
  25. package/grammars/dream-maker.json +6 -6
  26. package/grammars/elixir.json +1 -1
  27. package/grammars/emacs-lisp.json +74 -74
  28. package/grammars/fsharp.json +48 -48
  29. package/grammars/gdscript.json +12 -12
  30. package/grammars/gleam.json +5 -5
  31. package/grammars/glimmer-js.json +1 -1
  32. package/grammars/glimmer-ts.json +1 -1
  33. package/grammars/gnuplot.json +1 -1
  34. package/grammars/go.json +1 -1
  35. package/grammars/groovy.json +2 -2
  36. package/grammars/hack.json +8 -8
  37. package/grammars/haskell.json +64 -62
  38. package/grammars/haxe.json +1 -1
  39. package/grammars/hcl.json +4 -4
  40. package/grammars/html.json +1 -1
  41. package/grammars/imba.json +57 -57
  42. package/grammars/java.json +5 -5
  43. package/grammars/javascript.json +252 -252
  44. package/grammars/jison.json +7 -7
  45. package/grammars/json.json +2 -2
  46. package/grammars/jsonc.json +2 -2
  47. package/grammars/jsonl.json +2 -2
  48. package/grammars/jsx.json +252 -252
  49. package/grammars/julia.json +20 -20
  50. package/grammars/lean.json +1 -1
  51. package/grammars/less.json +8 -8
  52. package/grammars/markdown.json +5 -5
  53. package/grammars/marko.json +1 -1
  54. package/grammars/matlab.json +7 -7
  55. package/grammars/mdc.json +6 -6
  56. package/grammars/mdx.json +2 -2
  57. package/grammars/mojo.json +93 -93
  58. package/grammars/narrat.json +2 -2
  59. package/grammars/nim.json +5 -5
  60. package/grammars/objective-c.json +7 -7
  61. package/grammars/objective-cpp.json +13 -13
  62. package/grammars/ocaml.json +93 -93
  63. package/grammars/php.json +10 -10
  64. package/grammars/puppet.json +4 -4
  65. package/grammars/purescript.json +1 -1
  66. package/grammars/python.json +92 -92
  67. package/grammars/r.json +5 -5
  68. package/grammars/racket.json +18 -15
  69. package/grammars/razor.json +15 -15
  70. package/grammars/regexp.json +8 -8
  71. package/grammars/rel.json +1 -1
  72. package/grammars/riscv.json +1 -1
  73. package/grammars/ruby.json +4 -4
  74. package/grammars/scala.json +2 -2
  75. package/grammars/scheme.json +11 -11
  76. package/grammars/scss.json +4 -4
  77. package/grammars/shellsession.json +1 -1
  78. package/grammars/stylus.json +4 -4
  79. package/grammars/svelte.json +6 -6
  80. package/grammars/swift.json +32 -32
  81. package/grammars/system-verilog.json +1 -1
  82. package/grammars/terraform.json +4 -4
  83. package/grammars/toml.json +3 -3
  84. package/grammars/tsx.json +252 -252
  85. package/grammars/twig.json +4 -4
  86. package/grammars/typescript.json +244 -244
  87. package/grammars/typespec.json +30 -30
  88. package/grammars/typst.json +11 -11
  89. package/grammars/vhdl.json +37 -37
  90. package/grammars/vue.json +2 -2
  91. package/grammars/vyper.json +112 -112
  92. package/grammars/wolfram.json +329 -329
  93. package/grammars/yaml.json +17 -17
  94. package/index.js +91 -91
  95. package/package.json +1 -1
@@ -316,7 +316,7 @@
316
316
  "name": "meta.property-list.css",
317
317
  "patterns": [
318
318
  {
319
- "match": "(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",
319
+ "match": "(?<![\\w-])--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",
320
320
  "name": "variable.css"
321
321
  },
322
322
  {
@@ -709,7 +709,7 @@
709
709
  "name": "meta.function.stylus",
710
710
  "patterns": [
711
711
  {
712
- "match": "(?x)\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",
712
+ "match": "--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",
713
713
  "name": "variable.argument.stylus"
714
714
  },
715
715
  {
@@ -787,7 +787,7 @@
787
787
  "name": "keyword.other.unit.css"
788
788
  }
789
789
  },
790
- "match": "(?x) (?<!\\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|%)?",
790
+ "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|%)?",
791
791
  "name": "constant.numeric.css"
792
792
  }
793
793
  ]
@@ -1120,7 +1120,7 @@
1120
1120
  "name": "punctuation.definition.entity.css"
1121
1121
  }
1122
1122
  },
1123
- "match": "(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
1123
+ "match": "(?i)(\\[)\\s*(-?[_a-z\\\\[^\u0000-]][_a-z0-9\\-\\\\[^\u0000-]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[^\u0000-]][_a-z0-9\\-\\\\[^\u0000-]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
1124
1124
  "name": "meta.attribute-selector.css"
1125
1125
  },
1126
1126
  {
@@ -231,7 +231,7 @@
231
231
  ]
232
232
  },
233
233
  "attributes-directives": {
234
- "begin": "(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*(?=\\s*=))|((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*))((\\|\\w+)*)",
234
+ "begin": "(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[_$A-Za-z][_\\-$0-9A-Za-z]*(?=\\s*=))|((?:--)?[_$A-Za-z][_\\-$0-9A-Za-z]*))((\\|\\w+)*)",
235
235
  "beginCaptures": {
236
236
  "1": {
237
237
  "patterns": [
@@ -394,7 +394,7 @@
394
394
  ]
395
395
  },
396
396
  "attributes-keyvalue": {
397
- "begin": "((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*)",
397
+ "begin": "((?:--)?[_$A-Za-z][_\\-$0-9A-Za-z]*)",
398
398
  "beginCaptures": {
399
399
  "0": {
400
400
  "patterns": [
@@ -755,7 +755,7 @@
755
755
  "include": "#destructuring-const"
756
756
  },
757
757
  {
758
- "begin": "\\G\\s*([_$[:alpha:]][_$[:alnum:]]+)\\s*",
758
+ "begin": "\\G\\s*([_$A-Za-z][_$0-9A-Za-z]+)\\s*",
759
759
  "beginCaptures": {
760
760
  "1": {
761
761
  "name": "variable.other.constant.svelte"
@@ -827,7 +827,7 @@
827
827
  ]
828
828
  }
829
829
  },
830
- "match": "(\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*)"
830
+ "match": "(\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s*)"
831
831
  },
832
832
  {
833
833
  "match": ",",
@@ -883,7 +883,7 @@
883
883
  ]
884
884
  }
885
885
  },
886
- "match": "[_$[:alpha:]][_$[:alnum:]]*"
886
+ "match": "[_$A-Za-z][_$0-9A-Za-z]*"
887
887
  },
888
888
  {
889
889
  "match": ",",
@@ -1151,7 +1151,7 @@
1151
1151
  "include": "source.ts#comment"
1152
1152
  },
1153
1153
  {
1154
- "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
1154
+ "match": "(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",
1155
1155
  "name": "storage.modifier.ts"
1156
1156
  },
1157
1157
  {
@@ -1028,7 +1028,7 @@
1028
1028
  ]
1029
1029
  },
1030
1030
  "declarations-function": {
1031
- "begin": "(?x)\n\\b\n(func)\n\\s+\n(\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\n| (?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n)\n\\s*\n(?=\\(|<)",
1031
+ "begin": "\\b(func)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)|(?:((?<oph>[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g<oph>|(?<opc>[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+)))\\s*(?=\\(|<)",
1032
1032
  "beginCaptures": {
1033
1033
  "1": {
1034
1034
  "name": "storage.type.function.swift"
@@ -1394,11 +1394,11 @@
1394
1394
  "name": "punctuation.definition.identifier.swift"
1395
1395
  }
1396
1396
  },
1397
- "match": "(?x)\n(?<=\\G|\\.)\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)",
1397
+ "match": "(?<=\\G|\\.)(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)",
1398
1398
  "name": "entity.name.type.swift"
1399
1399
  },
1400
1400
  {
1401
- "match": "(?x)\n(?<=\\G|\\.)\n\\$[0-9]+",
1401
+ "match": "(?<=\\G|\\.)\\$[0-9]+",
1402
1402
  "name": "entity.name.type.swift"
1403
1403
  },
1404
1404
  {
@@ -1412,7 +1412,7 @@
1412
1412
  ]
1413
1413
  }
1414
1414
  },
1415
- "match": "(?x)\n(?<=\\G|\\.)\n(?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n(?=\\.|;|$|//|/\\*|\\s)",
1415
+ "match": "(?<=\\G|\\.)(?:((?<oph>[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g<oph>|(?<opc>[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+))(?=\\.|;|$|//|/\\*|\\s)",
1416
1416
  "name": "entity.name.type.swift"
1417
1417
  },
1418
1418
  {
@@ -1508,7 +1508,7 @@
1508
1508
  ]
1509
1509
  },
1510
1510
  "declarations-macro": {
1511
- "begin": "(?x)\n\\b\n(macro)\n\\s+\n((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\n\\s*\n(?=\\(|<|=)",
1511
+ "begin": "\\b(macro)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(?=\\(|<|=)",
1512
1512
  "beginCaptures": {
1513
1513
  "1": {
1514
1514
  "name": "storage.type.function.swift"
@@ -1548,7 +1548,7 @@
1548
1548
  ]
1549
1549
  },
1550
1550
  "declarations-operator": {
1551
- "begin": "(?x)\n(?:\n\\b(prefix|infix|postfix)\n\\s+\n)?\n\\b\n(operator)\n\\s+\n(\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| \\.\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*+\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )++ )\n)\n\\s*",
1551
+ "begin": "(?:\\b(prefix|infix|postfix)\\s+)?\\b(operator)\\s+(((?<oph>[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g<oph>|\\.|(?<opc>[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*+)|(\\.(\\g<oph>|\\g<opc>|\\.)++))\\s*",
1552
1552
  "beginCaptures": {
1553
1553
  "1": {
1554
1554
  "name": "storage.modifier.swift"
@@ -1985,7 +1985,7 @@
1985
1985
  ]
1986
1986
  },
1987
1987
  "declarations-protocol-protocol-method": {
1988
- "begin": "(?x)\n\\b\n(func)\n\\s+\n(\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\n| (?:\n(\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n(\n\\g<oph>\n| (?<opc>\n[\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)*\n)\n| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ )\n)\n)\n\\s*\n(?=\\(|<)",
1988
+ "begin": "\\b(func)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)|(?:((?<oph>[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g<oph>|(?<opc>[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+)))\\s*(?=\\(|<)",
1989
1989
  "beginCaptures": {
1990
1990
  "1": {
1991
1991
  "name": "storage.type.function.swift"
@@ -2180,7 +2180,7 @@
2180
2180
  "include": "#comments"
2181
2181
  },
2182
2182
  {
2183
- "begin": "(?x)\n(?:(_)|((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q1>))\n\\s+\n(((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q2>))\n\\s*(:)",
2183
+ "begin": "(?:(_)|((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q1>))\\s+(((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q2>))\\s*(:)",
2184
2184
  "beginCaptures": {
2185
2185
  "1": {
2186
2186
  "name": "entity.name.function.swift"
@@ -2239,7 +2239,7 @@
2239
2239
  ]
2240
2240
  },
2241
2241
  "declarations-type-enum-enum-case": {
2242
- "begin": "(?x)((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",
2242
+ "begin": "((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",
2243
2243
  "beginCaptures": {
2244
2244
  "1": {
2245
2245
  "name": "variable.other.enummember.swift"
@@ -2412,7 +2412,7 @@
2412
2412
  ]
2413
2413
  },
2414
2414
  "declarations-typed-variable-declaration": {
2415
- "begin": "(?x)\n\\b(?:(async)\\s+)?(let|var)\\b\\s+\n(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\\s*\n:",
2415
+ "begin": "\\b(?:(async)\\s+)?(let|var)\\b\\s+(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\\s*:",
2416
2416
  "beginCaptures": {
2417
2417
  "1": {
2418
2418
  "name": "storage.modifier.async.swift"
@@ -2639,7 +2639,7 @@
2639
2639
  }
2640
2640
  },
2641
2641
  "comment": "a reference to a function with disambiguating argument labels, such as foo(_:), foo(bar:), etc.",
2642
- "match": "(?x)\n((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>))\n\\(\n(\n(\n((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>))\n:\n)+\n)\n\\)"
2642
+ "match": "((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>))\\(((((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>)):)+)\\)"
2643
2643
  },
2644
2644
  "expressions-without-trailing-closures-or-member-references-expression-element-list": {
2645
2645
  "patterns": [
@@ -3091,7 +3091,7 @@
3091
3091
  }
3092
3092
  },
3093
3093
  "comment": "Single-line regular expression literals must be matched all in one go\n in order to avoid ambiguities with operators, and to adhere to certain\n parsing rules in SE-0354/SE-0355, such as:\n - A regex literal will not be parsed if it contains an unbalanced ).\n - A regex may end with a space only if it began with an escaped space",
3094
- "match": "(?x)\n(((\\#+)?)/)\n(?(3)|(?!/))\n(?(3)|(?!\\s))\n(\\\\\\s)?\n(?<guts>\n(?>\n(?:\n\\\\Q\n(?:(?!\\\\E)(?!/\\2).)*+\n(?:\\\\E\n\n| (?(3)|(?<!\\s))(?=/\\2)\n)\n| \\\\.\n| \\(\\?\\#[^)]*\\)\n| \\(\\?\n\n\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+\n.+?\n\\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})\n(?:\\[(?!\\d)\\w+\\])?\n[X<>]?\n\\)\n| (?<class>\\[ (?:\\\\. | [^\\[\\]] | \\g<class>)+ \\])\n| \\(\\g<guts>?+\\)\n| (?:(?!/\\2)[^()\\[\\\\])+\n)+\n)\n)?+\n# may end with a space only if it is an extended literal or contains only a single escaped space\n(?(3)|(?(5)(?<!\\s)))\n(/\\2)\n| \\#+/.+(\\n)",
3094
+ "match": "(((\\#+)?)/)(?(3)|(?!/))(?(3)|(?!\\s))(\\\\\\s)?(?<guts>(?>(?:\\\\Q(?:(?!\\\\E)(?!/\\2).)*+(?:\\\\E|(?(3)|(?<!\\s))(?=/\\2))|\\\\.|\\(\\?\\#[^)]*\\)|\\(\\?\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+.+?\\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})(?:\\[(?!\\d)\\w+\\])?[X<>]?\\)|(?<class>\\[\\s(?:\\\\.\\s|\\s[^\\[\\]]|\\g<class>)+\\])|\\(\\g<guts>?+\\)|(?:(?!/\\2)[^()\\[\\\\])+)+))?+(?(3)|(?(5)(?<!\\s)))(/\\2)|\\#+/.+(\\n)",
3095
3095
  "name": "string.regexp.line.swift"
3096
3096
  }
3097
3097
  ]
@@ -3127,7 +3127,7 @@
3127
3127
  }
3128
3128
  },
3129
3129
  "comment": "'\\g{' NamedOrNumberRef '}'",
3130
- "match": "(?x)(\\\\g\\{) (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) (\\})"
3130
+ "match": "(\\\\g\\{)(?:((?!\\d)\\w+)(?:([+-])(\\d+))?|([+-]?\\d+)(?:([+-])(\\d+))?)(\\})"
3131
3131
  },
3132
3132
  {
3133
3133
  "captures": {
@@ -3145,7 +3145,7 @@
3145
3145
  }
3146
3146
  },
3147
3147
  "comment": "'\\g' NumberRef",
3148
- "match": "(?x)(\\\\g) ([+-]?\\d+) (?:([+-])(\\d+))?"
3148
+ "match": "(\\\\g)([+-]?\\d+)(?:([+-])(\\d+))?"
3149
3149
  },
3150
3150
  {
3151
3151
  "captures": {
@@ -3175,7 +3175,7 @@
3175
3175
  }
3176
3176
  },
3177
3177
  "comment": "'\\k<' NamedOrNumberRef '>'\n \"\\k'\" NamedOrNumberRef \"'\"\n '\\g<' NamedOrNumberRef '>'\n \"\\g'\" NamedOrNumberRef \"'\"",
3178
- "match": "(?x)(\\\\[gk](<)|\\\\[gk]') (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) ((?(2)>|'))"
3178
+ "match": "(\\\\[gk](<)|\\\\[gk]')(?:((?!\\d)\\w+)(?:([+-])(\\d+))?|([+-]?\\d+)(?:([+-])(\\d+))?)((?(2)>|'))"
3179
3179
  },
3180
3180
  {
3181
3181
  "captures": {
@@ -3196,7 +3196,7 @@
3196
3196
  }
3197
3197
  },
3198
3198
  "comment": "'\\k{' NamedRef '}'",
3199
- "match": "(?x)(\\\\k\\{) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\})"
3199
+ "match": "(\\\\k\\{)((?!\\d)\\w+)(?:([+-])(\\d+))?(\\})"
3200
3200
  },
3201
3201
  {
3202
3202
  "match": "\\\\[1-9][0-9]+",
@@ -3221,7 +3221,7 @@
3221
3221
  }
3222
3222
  },
3223
3223
  "comment": "'(?P=' NamedRef ')'",
3224
- "match": "(?x)(\\(\\?(?:P[=>]|&)) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\))"
3224
+ "match": "(\\(\\?(?:P[=>]|&))((?!\\d)\\w+)(?:([+-])(\\d+))?(\\))"
3225
3225
  },
3226
3226
  {
3227
3227
  "match": "\\(\\?R\\)",
@@ -3246,7 +3246,7 @@
3246
3246
  }
3247
3247
  },
3248
3248
  "comment": "'(?' NumberRef ')'",
3249
- "match": "(?x)(\\(\\?) ([+-]?\\d+) (?:([+-])(\\d+))? (\\))"
3249
+ "match": "(\\(\\?)([+-]?\\d+)(?:([+-])(\\d+))?(\\))"
3250
3250
  }
3251
3251
  ]
3252
3252
  },
@@ -3280,7 +3280,7 @@
3280
3280
  "name": "keyword.control.directive.regexp"
3281
3281
  }
3282
3282
  },
3283
- "match": "(?x)\n(\\(\\*)\n(?:\n(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)\n(?:(:)([^)]+))?\n| (?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+))\n| (\nCRLF | CR | ANYCRLF | ANY | LF | NUL\n| BSR_ANYCRLF | BSR_UNICODE\n| NOTEMPTY_ATSTART | NOTEMPTY\n| NO_AUTO_POSSESS | NO_DOTSTAR_ANCHOR\n| NO_JIT | NO_START_OPT | UTF | UCP\n)\n)\n(\\))"
3283
+ "match": "(\\(\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+))|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\))"
3284
3284
  },
3285
3285
  "literals-regular-expression-literal-callout": {
3286
3286
  "captures": {
@@ -3351,7 +3351,7 @@
3351
3351
  "name": "entity.name.function.callout.regexp"
3352
3352
  }
3353
3353
  },
3354
- "match": "(?x)\n# PCRECallout\n(\\()(?<keyw>\\?C)\n(?:\n(?<num>\\d+)\n| `(?<name>(?:[^`]|``)*)`\n| '(?<name>(?:[^']|'')*)'\n| \"(?<name>(?:[^\"]|\"\")*)\"\n| \\^(?<name>(?:[^\\^]|\\^\\^)*)\\^\n| %(?<name>(?:[^%]|%%)*)%\n| \\#(?<name>(?:[^#]|\\#\\#)*)\\#\n| \\$(?<name>(?:[^$]|\\$\\$)*)\\$\n| \\{(?<name>(?:[^}]|\\}\\})*)\\}\n)?\n(\\))\n# NamedCallout\n| (\\()(?<keyw>\\*)\n(?<name>(?!\\d)\\w+)\n(?:\\[(?<tag>(?!\\d)\\w+)\\])?\n(?:\\{ [^,}]+ (?:,[^,}]+)* \\})?\n(\\))\n# InterpolatedCallout\n| (\\()(?<keyw>\\?)\n\n(\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+) .+? \\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})\n(?:\\[(?<tag>(?!\\d)\\w+)\\])?\n(?<keyw>[X<>]?)\n(\\))",
3354
+ "match": "(\\()(?<keyw>\\?C)(?:(?<num>\\d+)|`(?<name>(?:[^`]|``)*)`|'(?<name>(?:[^']|'')*)'|\"(?<name>(?:[^\"]|\"\")*)\"|\\^(?<name>(?:[^\\^]|\\^\\^)*)\\^|%(?<name>(?:[^%]|%%)*)%|\\#(?<name>(?:[^#]|\\#\\#)*)\\#|\\$(?<name>(?:[^$]|\\$\\$)*)\\$|\\{(?<name>(?:[^}]|\\}\\})*)\\})?(\\))|(\\()(?<keyw>\\*)(?<name>(?!\\d)\\w+)(?:\\[(?<tag>(?!\\d)\\w+)\\])?(?:\\{[^,}]+(?:,[^,}]+)*\\})?(\\))|(\\()(?<keyw>\\?)(\\{(?<g1>\\{)?+(?<g2>\\{)?+(?<g3>\\{)?+(?<g4>\\{)?+(?<g5>\\{)?+).+?\\}(?(<g1>)\\})(?(<g2>)\\})(?(<g3>)\\})(?(<g4>)\\})(?(<g5>)\\})(?:\\[(?<tag>(?!\\d)\\w+)\\])?(?<keyw>[X<>]?)(\\))",
3355
3355
  "name": "meta.callout.regexp"
3356
3356
  },
3357
3357
  "literals-regular-expression-literal-character-properties": {
@@ -3369,7 +3369,7 @@
3369
3369
  "name": "punctuation.definition.character-class.regexp"
3370
3370
  }
3371
3371
  },
3372
- "match": "(?x)\n\\\\[pP]\\{ ([\\s\\w-]+(?:=[\\s\\w-]+)?) \\}\n| (\\[:) ([\\s\\w-]+(?:=[\\s\\w-]+)?) (:\\])",
3372
+ "match": "\\\\[pP]\\{([\\s\\w-]+(?:=[\\s\\w-]+)?)\\}|(\\[:)\\s([\\s\\w-]+(?:=[\\s\\w-]+)?)(:\\])",
3373
3373
  "name": "constant.other.character-class.set.regexp"
3374
3374
  },
3375
3375
  "literals-regular-expression-literal-custom-char-class": {
@@ -3426,7 +3426,7 @@
3426
3426
  },
3427
3427
  "literals-regular-expression-literal-group-option-toggle": {
3428
3428
  "comment": "A matching option sequence may be part of an \"isolated group\" which has an implicit scope that wraps the remaining elements of the current group",
3429
- "match": "(?x)\n\\(\\?\n(?:\n\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n)\n\\)",
3429
+ "match": "\\(\\?(?:\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*-(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*)\\)",
3430
3430
  "name": "keyword.other.option-toggle.regexp"
3431
3431
  },
3432
3432
  "literals-regular-expression-literal-group-or-conditional": {
@@ -3455,7 +3455,7 @@
3455
3455
  ]
3456
3456
  },
3457
3457
  {
3458
- "begin": "(?x)\n# KnownConditionalStart\n(\\() (?<cond>\\?\\()\n(?:\n(?<NumberRef> (?<num>[+-]?\\d+)(?:(?<op>[+-])(?<num>\\d+))? )\n| (?<cond>R) \\g<NumberRef>?\n| (?<cond>R&) (?<NamedRef> (?<name>(?!\\d)\\w+) (?:(?<op>[+-])(?<num>\\d+))? )\n| (?<cond><) (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>>)\n| (?<cond>') (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>')\n| (?<cond>DEFINE)\n| (?<cond>VERSION)(?<compar>>?=)(?<num>\\d+\\.\\d+)\n)\n(?<cond>\\))\n| (\\()(?<cond>\\?)(?=\\()",
3458
+ "begin": "(\\()(?<cond>\\?\\()(?:(?<NumberRef>(?<num>[+-]?\\d+)(?:(?<op>[+-])(?<num>\\d+))?)|(?<cond>R)\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\d)\\w+)(?:(?<op>[+-])(?<num>\\d+))?)|(?<cond><)(?:\\g<NamedRef>|\\g<NumberRef>)(?<cond>>)|(?<cond>')(?:\\g<NamedRef>|\\g<NumberRef>)(?<cond>')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\d+\\.\\d+))(?<cond>\\))|(\\()(?<cond>\\?)(?=\\()",
3459
3459
  "beginCaptures": {
3460
3460
  "1": {
3461
3461
  "name": "punctuation.definition.group.regexp"
@@ -3535,7 +3535,7 @@
3535
3535
  ]
3536
3536
  },
3537
3537
  {
3538
- "begin": "(?x)\n(\\()\n(\n\n(\\?)\n(?:\n([:|>=!*] | <[=!*])\n\n| P?< (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) >\n| ' (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) '\n\n| (?:\n\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+\n| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*\n):\n)\n\n| \\*(\natomic\n|pla|positive_lookahead\n|nla|negative_lookahead\n|plb|positive_lookbehind\n|nlb|negative_lookbehind\n|napla|non_atomic_positive_lookahead\n|naplb|non_atomic_positive_lookbehind\n|sr|script_run\n|asr|atomic_script_run\n):\n)?+",
3538
+ "begin": "(\\()((\\?)(?:([:|>=!*]|<[=!*])|P?<(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)>|'(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)'|(?:\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*-(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*):)|\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+",
3539
3539
  "beginCaptures": {
3540
3540
  "1": {
3541
3541
  "name": "punctuation.definition.group.regexp"
@@ -3716,7 +3716,7 @@
3716
3716
  ]
3717
3717
  },
3718
3718
  "literals-regular-expression-literal-unicode-scalars": {
3719
- "match": "(?x)\n\\\\u\\{\\s*(?:[0-9a-fA-F]+\\s*)+\\}\n| \\\\u[0-9a-fA-F]{4}\n| \\\\x\\{[0-9a-fA-F]+\\}\n| \\\\x[0-9a-fA-F]{0,2}\n| \\\\U[0-9a-fA-F]{8}\n| \\\\o\\{[0-7]+\\}\n| \\\\0[0-7]{0,3}\n| \\\\N\\{(?:U\\+[0-9a-fA-F]{1,8} | [\\s\\w-]+)\\}",
3719
+ "match": "\\\\u\\{\\s*(?:[0-9a-fA-F]+\\s*)+\\}|\\\\u[0-9a-fA-F]{4}|\\\\x\\{[0-9a-fA-F]+\\}|\\\\x[0-9a-fA-F]{0,2}|\\\\U[0-9a-fA-F]{8}|\\\\o\\{[0-7]+\\}|\\\\0[0-7]{0,3}|\\\\N\\{(?:U\\+[0-9a-fA-F]{1,8}|[\\s\\w-]+)\\}",
3720
3720
  "name": "constant.character.numeric.regexp"
3721
3721
  },
3722
3722
  "literals-string": {
@@ -4017,7 +4017,7 @@
4017
4017
  "name": "keyword.operator.type-casting.swift"
4018
4018
  },
4019
4019
  {
4020
- "begin": "(?x)\n(?=\n(?<oph>\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n)\n| \\.\n(\n\\g<oph>\n| \\.\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)",
4020
+ "begin": "(?=(?<oph>[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])|\\.(\\g<oph>|\\.|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))",
4021
4021
  "comment": "This rule helps us speed up the matching.",
4022
4022
  "end": "(?!\\G)",
4023
4023
  "patterns": [
@@ -4049,7 +4049,7 @@
4049
4049
  }
4050
4050
  },
4051
4051
  "comment": "Prefix unary operator",
4052
- "match": "(?x)\n\\G\n\n(?<=^|[\\s(\\[{,;:])\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?![\\s)\\]},;:]|\\z)"
4052
+ "match": "\\G(?<=^|[\\s(\\[{,;:])((?!(//|/\\*|\\*/))([/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?![\\s)\\]},;:]|\\z)"
4053
4053
  },
4054
4054
  {
4055
4055
  "captures": {
@@ -4071,7 +4071,7 @@
4071
4071
  }
4072
4072
  },
4073
4073
  "comment": "Postfix unary operator",
4074
- "match": "(?x)\n\\G\n\n(?<!^|[\\s(\\[{,;:])\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?=[\\s)\\]},;:]|\\z)"
4074
+ "match": "\\G(?<!^|[\\s(\\[{,;:])((?!(//|/\\*|\\*/))([/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?=[\\s)\\]},;:]|\\z)"
4075
4075
  },
4076
4076
  {
4077
4077
  "captures": {
@@ -4129,7 +4129,7 @@
4129
4129
  }
4130
4130
  },
4131
4131
  "comment": "Infix operator",
4132
- "match": "(?x)\n\\G\n\n(\n(?!(//|/\\*|\\*/))\n(\n[/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++"
4132
+ "match": "\\G((?!(//|/\\*|\\*/))([/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++"
4133
4133
  },
4134
4134
  {
4135
4135
  "captures": {
@@ -4143,7 +4143,7 @@
4143
4143
  }
4144
4144
  },
4145
4145
  "comment": "Dot prefix unary operator",
4146
- "match": "(?x)\n\\G\n\n(?<=^|[\\s(\\[{,;:])\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?![\\s)\\]},;:]|\\z)"
4146
+ "match": "\\G(?<=^|[\\s(\\[{,;:])\\.((?!(//|/\\*|\\*/))(\\.|[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?![\\s)\\]},;:]|\\z)"
4147
4147
  },
4148
4148
  {
4149
4149
  "captures": {
@@ -4157,7 +4157,7 @@
4157
4157
  }
4158
4158
  },
4159
4159
  "comment": "Dot postfix unary operator",
4160
- "match": "(?x)\n\\G\n\n(?<!^|[\\s(\\[{,;:])\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++\n(?=[\\s)\\]},;:]|\\z)"
4160
+ "match": "\\G(?<!^|[\\s(\\[{,;:])\\.((?!(//|/\\*|\\*/))(\\.|[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?=[\\s)\\]},;:]|\\z)"
4161
4161
  },
4162
4162
  {
4163
4163
  "captures": {
@@ -4175,7 +4175,7 @@
4175
4175
  }
4176
4176
  },
4177
4177
  "comment": "Dot infix operator",
4178
- "match": "(?x)\n\\G\n\n\\.\n(\n(?!(//|/\\*|\\*/))\n(\n\\.\n| [/=\\-+!*%<>&|^~?]\n| [\\x{00A1}-\\x{00A7}]\n| [\\x{00A9}\\x{00AB}]\n| [\\x{00AC}\\x{00AE}]\n| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]\n| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]\n| [\\x{2030}-\\x{203E}]\n| [\\x{2041}-\\x{2053}]\n| [\\x{2055}-\\x{205E}]\n| [\\x{2190}-\\x{23FF}]\n| [\\x{2500}-\\x{2775}]\n| [\\x{2794}-\\x{2BFF}]\n| [\\x{2E00}-\\x{2E7F}]\n| [\\x{3001}-\\x{3003}]\n| [\\x{3008}-\\x{3030}]\n\n| [\\x{0300}-\\x{036F}]\n| [\\x{1DC0}-\\x{1DFF}]\n| [\\x{20D0}-\\x{20FF}]\n| [\\x{FE00}-\\x{FE0F}]\n| [\\x{FE20}-\\x{FE2F}]\n| [\\x{E0100}-\\x{E01EF}]\n)\n)++"
4178
+ "match": "\\G\\.((?!(//|/\\*|\\*/))(\\.|[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++"
4179
4179
  }
4180
4180
  ]
4181
4181
  },
@@ -1133,7 +1133,7 @@
1133
1133
  "name": "constant.character.escape.systemverilog"
1134
1134
  },
1135
1135
  {
1136
- "match": "(?x)%\n(\\d+\\$)?\n['\\-+0\n[,;:_]?\n((-?\\d+)|\\*(-?\\d+\\$)?)?\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\n(hh|h|ll|l|j|z|t|L)?\n[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]",
1136
+ "match": "%(\\d+\\$)?['\\-+0[,;:_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]",
1137
1137
  "name": "constant.character.format.placeholder.systemverilog"
1138
1138
  },
1139
1139
  {
@@ -28,7 +28,7 @@
28
28
  }
29
29
  },
30
30
  "comment": "Matches traversal attribute access such as .attr",
31
- "end": "[[:alpha:]][\\w-]*|\\d*",
31
+ "end": "[A-Za-z][\\w-]*|\\d*",
32
32
  "endCaptures": {
33
33
  "0": {
34
34
  "patterns": [
@@ -62,7 +62,7 @@
62
62
  }
63
63
  },
64
64
  "comment": "Identifier \"=\" with optional parens",
65
- "match": "(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*",
65
+ "match": "(\\()?(\\b(?!null\\b|false\\b|true\\b)[A-Za-z][0-9A-Za-z_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*",
66
66
  "name": "variable.declaration.hcl"
67
67
  },
68
68
  "attribute_splat": {
@@ -431,7 +431,7 @@
431
431
  },
432
432
  "local_identifiers": {
433
433
  "comment": "Local Identifiers",
434
- "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b",
434
+ "match": "\\b(?!null|false|true)[A-Za-z][0-9A-Za-z_-]*\\b",
435
435
  "name": "variable.other.readwrite.hcl"
436
436
  },
437
437
  "named_value_references": {
@@ -565,7 +565,7 @@
565
565
  }
566
566
  },
567
567
  "comment": "Literal, named object key",
568
- "match": "\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\>?)\\s*"
568
+ "match": "\\b((?!null|false|true)[A-Za-z][0-9A-Za-z_-]*)\\s*(\\=\\>?)\\s*"
569
569
  },
570
570
  {
571
571
  "captures": {
@@ -170,7 +170,7 @@
170
170
  ]
171
171
  },
172
172
  {
173
- "begin": "(?x)\n(\n(\n(?:\n[A-Za-z0-9_-]+\n| \" (?:[^\"\\\\]|\\\\.)* \"\n| ' [^']* '\n)\n(?:\n\\s* \\. \\s*\n| (?= \\s* =)\n)\n){2,}\n)\n\\s*(=)\\s*\n",
173
+ "begin": "(((?:[A-Za-z0-9_-]+|\"(?:[^\"\\\\]|\\\\.)*\"|'[^']*')(?:\\s*\\.\\s*|(?=\\s*=))){2,})\\s*(=)\\s*",
174
174
  "captures": {
175
175
  "1": {
176
176
  "name": "variable.other.key.toml",
@@ -340,11 +340,11 @@
340
340
  "name": "constant.numeric.toml"
341
341
  },
342
342
  {
343
- "match": "(?x)\n\\G\n(\n[+-]?\n(\n0\n| ([1-9](([0-9]|_[0-9])+)?)\n)\n)\n(?=[.eE])\n(\n\\.\n([0-9](([0-9]|_[0-9])+)?)\n)?\n(\n[eE]\n([+-]?[0-9](([0-9]|_[0-9])+)?)\n)?\n",
343
+ "match": "\\G([+-]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.eE])(\\.([0-9](([0-9]|_[0-9])+)?))?([eE]([+-]?[0-9](([0-9]|_[0-9])+)?))?",
344
344
  "name": "constant.numeric.float.toml"
345
345
  },
346
346
  {
347
- "match": "(?x)\n\\G\n(\n[+-]?\n(\n0\n| ([1-9](([0-9]|_[0-9])+)?)\n)\n)\n",
347
+ "match": "\\G([+-]?(0|([1-9](([0-9]|_[0-9])+)?)))",
348
348
  "name": "constant.numeric.integer.toml"
349
349
  },
350
350
  {