tm-grammars 1.22.2 → 1.22.4

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 +166 -166
  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 +10 -10
  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 +2 -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 +204 -204
  201. package/package.json +1 -1
package/grammars/c.json CHANGED
@@ -119,7 +119,7 @@
119
119
  ],
120
120
  "repository": {
121
121
  "access-method": {
122
- "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\])]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",
122
+ "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",
123
123
  "beginCaptures": {
124
124
  "1": {
125
125
  "name": "variable.object.c"
@@ -503,7 +503,7 @@
503
503
  ]
504
504
  },
505
505
  "anon_pattern_range_8": {
506
- "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\])]))?(\\[)(?!\\])",
506
+ "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
507
507
  "beginCaptures": {
508
508
  "1": {
509
509
  "name": "variable.object.c"
@@ -749,7 +749,7 @@
749
749
  "include": "#line_continuation_character"
750
750
  },
751
751
  {
752
- "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?",
752
+ "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
753
753
  "name": "storage.type.class.doxygen.c"
754
754
  },
755
755
  {
@@ -834,7 +834,7 @@
834
834
  "2": {
835
835
  "patterns": [
836
836
  {
837
- "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?",
837
+ "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
838
838
  "name": "storage.type.class.doxygen.c"
839
839
  },
840
840
  {
@@ -934,7 +934,7 @@
934
934
  "name": "comment.block.documentation.c",
935
935
  "patterns": [
936
936
  {
937
- "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?",
937
+ "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
938
938
  "name": "storage.type.class.doxygen.c"
939
939
  },
940
940
  {
@@ -1571,7 +1571,7 @@
1571
1571
  "name": "keyword.operator.plus.exponent.hexadecimal.c"
1572
1572
  }
1573
1573
  },
1574
- "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?<!')([pP])(\\+?)(-?)((?:\\d(?:\\d|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?$"
1574
+ "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?<!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?$"
1575
1575
  },
1576
1576
  {
1577
1577
  "captures": {
@@ -1624,7 +1624,7 @@
1624
1624
  "name": "keyword.operator.plus.exponent.decimal.c"
1625
1625
  }
1626
1626
  },
1627
- "match": "(\\G(?=[0-9.])(?!0[xXbB]))(\\d(?:\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=\\d)\\.|\\.(?=\\d)))(\\d(?:\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?<!')([eE])(\\+?)(-?)((?:\\d(?:\\d|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?$"
1627
+ "match": "(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?<!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?$"
1628
1628
  },
1629
1629
  {
1630
1630
  "captures": {
@@ -1711,7 +1711,7 @@
1711
1711
  "name": "keyword.other.unit.suffix.integer.c"
1712
1712
  }
1713
1713
  },
1714
- "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?<!')([pP])(\\+?)(-?)((?:\\d(?:\\d|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$"
1714
+ "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?<!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$"
1715
1715
  },
1716
1716
  {
1717
1717
  "captures": {
@@ -1749,7 +1749,7 @@
1749
1749
  "name": "keyword.other.unit.suffix.integer.c"
1750
1750
  }
1751
1751
  },
1752
- "match": "(\\G(?=[0-9.])(?!0[xXbB]))(\\d(?:\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?<!')([eE])(\\+?)(-?)((?:\\d(?:\\d|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$"
1752
+ "match": "(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?<!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$"
1753
1753
  },
1754
1754
  {
1755
1755
  "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
@@ -2073,7 +2073,7 @@
2073
2073
  "preprocessor-rule-conditional-line": {
2074
2074
  "patterns": [
2075
2075
  {
2076
- "match": "(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|:|&&|\\|\\||\\\\\\s*\\n)))",
2076
+ "match": "(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|&&|\\|\\||\\\\\\s*\\n)))",
2077
2077
  "name": "keyword.control.directive.conditional.c"
2078
2078
  },
2079
2079
  {
@@ -3005,7 +3005,7 @@
3005
3005
  "name": "variable.parameter.probably.c"
3006
3006
  }
3007
3007
  },
3008
- "match": "(?<=(?:[a-zA-Z_0-9] |[&*>\\])]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))"
3008
+ "match": "(?<=(?:[a-zA-Z_0-9] |[&*>\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))"
3009
3009
  },
3010
3010
  "static_assert": {
3011
3011
  "begin": "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)static_assert|_Static_assert(?!\\w))((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()",
@@ -533,22 +533,22 @@
533
533
  "repository": {
534
534
  "binary": {
535
535
  "comment": "",
536
- "match": "(\\B-|\\b)0b[01]([_01]*[01])?\\b",
536
+ "match": "(\\B\\-|\\b)0b[01]([_01]*[01])?\\b",
537
537
  "name": "constant.numeric.integer.binary.cadence"
538
538
  },
539
539
  "decimal": {
540
540
  "comment": "",
541
- "match": "(\\B-|\\b)\\d([_0-9]*\\d)?\\b",
541
+ "match": "(\\B\\-|\\b)[0-9]([_0-9]*[0-9])?\\b",
542
542
  "name": "constant.numeric.integer.decimal.cadence"
543
543
  },
544
544
  "hexadecimal": {
545
545
  "comment": "",
546
- "match": "(\\B-|\\b)0x[0-9A-Fa-f]([_0-9A-Fa-f]*[0-9A-Fa-f])?\\b",
546
+ "match": "(\\B\\-|\\b)0x[0-9A-Fa-f]([_0-9A-Fa-f]*[0-9A-Fa-f])?\\b",
547
547
  "name": "constant.numeric.integer.hexadecimal.cadence"
548
548
  },
549
549
  "octal": {
550
550
  "comment": "",
551
- "match": "(\\B-|\\b)0o[0-7]([_0-7]*[0-7])?\\b",
551
+ "match": "(\\B\\-|\\b)0o[0-7]([_0-7]*[0-7])?\\b",
552
552
  "name": "constant.numeric.integer.octal.cadence"
553
553
  }
554
554
  }
@@ -600,7 +600,7 @@
600
600
  "operators": {
601
601
  "patterns": [
602
602
  {
603
- "match": "-",
603
+ "match": "\\-",
604
604
  "name": "keyword.operator.arithmetic.unary.cadence"
605
605
  },
606
606
  {
@@ -620,7 +620,7 @@
620
620
  "name": "keyword.operator.force-move.cadence"
621
621
  },
622
622
  {
623
- "match": "\\+|-|\\*|/",
623
+ "match": "\\+|\\-|\\*|/",
624
624
  "name": "keyword.operator.arithmetic.cadence"
625
625
  },
626
626
  {
@@ -51,7 +51,7 @@
51
51
  ]
52
52
  },
53
53
  {
54
- "begin": "\\b(with_attr)\\s+([a-zA-Z_]\\w*)\\s*[({]",
54
+ "begin": "\\b(with_attr)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s*[({]",
55
55
  "beginCaptures": {
56
56
  "1": {
57
57
  "name": "keyword.control.with_attr"
@@ -99,11 +99,11 @@
99
99
  "name": "comment.line.sharp"
100
100
  },
101
101
  {
102
- "match": "\\b[a-zA-Z_]\\w*:\\s*$",
102
+ "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*:\\s*$",
103
103
  "name": "entity.name.function"
104
104
  },
105
105
  {
106
- "begin": "\\b(func)\\s+([a-zA-Z_]\\w*)\\s*[({]",
106
+ "begin": "\\b(func)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s*[({]",
107
107
  "beginCaptures": {
108
108
  "1": {
109
109
  "name": "storage.type.function.cairo"
@@ -127,7 +127,7 @@
127
127
  ]
128
128
  },
129
129
  {
130
- "begin": "\\b(struct|namespace)\\s+([a-zA-Z_]\\w*)\\s*\\{",
130
+ "begin": "\\b(struct|namespace)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\{",
131
131
  "beginCaptures": {
132
132
  "1": {
133
133
  "name": "storage.type.function.cairo"
@@ -151,7 +151,7 @@
151
151
  ]
152
152
  },
153
153
  {
154
- "match": "\\b[+-]?\\d+\\b",
154
+ "match": "\\b[+-]?[0-9]+\\b",
155
155
  "name": "constant.numeric.decimal"
156
156
  },
157
157
  {
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "repository": {
34
34
  "built-in-func": {
35
- "begin": "(\\()\\s*(-|\\+|<=|>=|<|>|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|get-stacks-block-info\\?|get-tenure-info\\?|get-burn-block-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\\s+",
35
+ "begin": "(\\()\\s*(\\-|\\+|<\\=|>\\=|<|>|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|get-stacks-block-info\\?|get-tenure-info\\?|get-burn-block-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\\s+",
36
36
  "beginCaptures": {
37
37
  "1": {
38
38
  "name": "punctuation.built-in-function.start.clarity"
@@ -206,7 +206,7 @@
206
206
  "name": "meta.tuple-def",
207
207
  "patterns": [
208
208
  {
209
- "match": "([a-zA-Z][\\w?!\\-]*)(?=:)",
209
+ "match": "([a-zA-Z][\\w\\?\\!\\-]*)(?=:)",
210
210
  "name": "entity.name.tag.tuple-data-type-key.clarity"
211
211
  },
212
212
  {
@@ -217,7 +217,7 @@
217
217
  ]
218
218
  },
219
219
  "define-constant": {
220
- "begin": "(\\()\\s*(define-constant)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
220
+ "begin": "(\\()\\s*(define-constant)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
221
221
  "beginCaptures": {
222
222
  "1": {
223
223
  "name": "punctuation.define-constant.start.clarity"
@@ -243,7 +243,7 @@
243
243
  ]
244
244
  },
245
245
  "define-data-var": {
246
- "begin": "(\\()\\s*(define-data-var)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
246
+ "begin": "(\\()\\s*(define-data-var)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
247
247
  "beginCaptures": {
248
248
  "1": {
249
249
  "name": "punctuation.define-data-var.start.clarity"
@@ -293,7 +293,7 @@
293
293
  "include": "#expression"
294
294
  },
295
295
  {
296
- "begin": "(\\()\\s*([a-zA-Z][\\w?!\\-]*)\\s*",
296
+ "begin": "(\\()\\s*([a-zA-Z][\\w\\?\\!\\-]*)\\s*",
297
297
  "beginCaptures": {
298
298
  "1": {
299
299
  "name": "punctuation.function-signature.start.clarity"
@@ -311,7 +311,7 @@
311
311
  "name": "meta.define-function-signature",
312
312
  "patterns": [
313
313
  {
314
- "begin": "(\\()\\s*([a-zA-Z][\\w?!\\-]*)\\s+",
314
+ "begin": "(\\()\\s*([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
315
315
  "beginCaptures": {
316
316
  "1": {
317
317
  "name": "punctuation.function-argument.start.clarity"
@@ -358,10 +358,10 @@
358
358
  "name": "punctuation.define-fungible-token.end.clarity"
359
359
  }
360
360
  },
361
- "match": "(\\()\\s*(define-fungible-token)\\s+([a-zA-Z][\\w?!\\-]*)(?:\\s+(u\\d+))?"
361
+ "match": "(\\()\\s*(define-fungible-token)\\s+([a-zA-Z][\\w\\?\\!\\-]*)(?:\\s+(u\\d+))?"
362
362
  },
363
363
  "define-map": {
364
- "begin": "(\\()\\s*(define-map)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
364
+ "begin": "(\\()\\s*(define-map)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
365
365
  "beginCaptures": {
366
366
  "1": {
367
367
  "name": "punctuation.define-map.start.clarity"
@@ -390,7 +390,7 @@
390
390
  ]
391
391
  },
392
392
  "define-non-fungible-token": {
393
- "begin": "(\\()\\s*(define-non-fungible-token)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
393
+ "begin": "(\\()\\s*(define-non-fungible-token)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
394
394
  "beginCaptures": {
395
395
  "1": {
396
396
  "name": "punctuation.define-non-fungible-token.start.clarity"
@@ -416,7 +416,7 @@
416
416
  ]
417
417
  },
418
418
  "define-trait": {
419
- "begin": "(\\()\\s*(define-trait)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
419
+ "begin": "(\\()\\s*(define-trait)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
420
420
  "beginCaptures": {
421
421
  "1": {
422
422
  "name": "punctuation.define-trait.start.clarity"
@@ -455,7 +455,7 @@
455
455
  "include": "#expression"
456
456
  },
457
457
  {
458
- "begin": "(\\()\\s*([a-zA-Z][\\w!?\\-]*)\\s+",
458
+ "begin": "(\\()\\s*([a-zA-Z][\\w\\!\\?\\-]*)\\s+",
459
459
  "beginCaptures": {
460
460
  "1": {
461
461
  "name": "punctuation.trait-function.start.clarity"
@@ -524,7 +524,7 @@
524
524
  ]
525
525
  },
526
526
  "get-set-func": {
527
- "begin": "(\\()\\s*(var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get)\\s+([a-zA-Z][\\w?!\\-]*)\\s*",
527
+ "begin": "(\\()\\s*(var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s*",
528
528
  "beginCaptures": {
529
529
  "1": {
530
530
  "name": "punctuation.get-set-func.start.clarity"
@@ -593,7 +593,7 @@
593
593
  "name": "meta.let-var",
594
594
  "patterns": [
595
595
  {
596
- "begin": "(\\()([a-zA-Z][\\w?!\\-]*)\\s+",
596
+ "begin": "(\\()([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
597
597
  "beginCaptures": {
598
598
  "1": {
599
599
  "name": "punctuation.let-local-var.start.clarity"
@@ -807,7 +807,7 @@
807
807
  "name": "meta.tuple",
808
808
  "patterns": [
809
809
  {
810
- "match": "([a-zA-Z][\\w?!\\-]*)(?=:)",
810
+ "match": "([a-zA-Z][\\w\\?\\!\\-]*)(?=:)",
811
811
  "name": "entity.name.tag.tuple-key.clarity"
812
812
  },
813
813
  {
@@ -821,7 +821,7 @@
821
821
  }
822
822
  },
823
823
  "use-trait": {
824
- "begin": "(\\()\\s*(use-trait)\\s+([a-zA-Z][\\w?!\\-]*)\\s+",
824
+ "begin": "(\\()\\s*(use-trait)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",
825
825
  "beginCaptures": {
826
826
  "1": {
827
827
  "name": "punctuation.use-trait.start.clarity"
@@ -847,7 +847,7 @@
847
847
  ]
848
848
  },
849
849
  "user-func": {
850
- "begin": "(\\()\\s*(([a-zA-Z][\\w?!\\-]*))\\s*",
850
+ "begin": "(\\()\\s*(([a-zA-Z][\\w\\?\\!\\-]*))\\s*",
851
851
  "beginCaptures": {
852
852
  "1": {
853
853
  "name": "punctuation.user-function.start.clarity"
@@ -93,7 +93,7 @@
93
93
  "name": "constant.numeric.octal.clojure"
94
94
  },
95
95
  {
96
- "match": "([-+]?\\d+(?:(\\.|(?=[eEM]))\\d*([eE][-+]?\\d+)?)M?)",
96
+ "match": "([-+]?[0-9]+(?:(\\.|(?=[eEM]))[0-9]*([eE][-+]?[0-9]+)?)M?)",
97
97
  "name": "constant.numeric.double.clojure"
98
98
  },
99
99
  {
@@ -106,13 +106,13 @@
106
106
  ]
107
107
  },
108
108
  "dynamic-variables": {
109
- "match": "\\*[\\w\\.\\-_:+=><!?\\d]+\\*",
109
+ "match": "\\*[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\d]+\\*",
110
110
  "name": "meta.symbol.dynamic.clojure"
111
111
  },
112
112
  "keyfn": {
113
113
  "patterns": [
114
114
  {
115
- "match": "(?<=(\\s|\\(|\\[|\\{))(if(-[-\\p{Ll}?]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-\\p{Ll}?]*)?|binding|loop|recur|fn|throw[\\p{Ll}\\-]*|try|catch|finally|([\\p{Ll}]*case))(?=(\\s|\\)|\\]|\\}))",
115
+ "match": "(?<=(\\s|\\(|\\[|\\{))(if(-[-\\p{Ll}\\?]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-\\p{Ll}\\?]*)?|binding|loop|recur|fn|throw[\\p{Ll}\\-]*|try|catch|finally|([\\p{Ll}]*case))(?=(\\s|\\)|\\]|\\}))",
116
116
  "name": "storage.control.clojure"
117
117
  },
118
118
  {
@@ -122,7 +122,7 @@
122
122
  ]
123
123
  },
124
124
  "keyword": {
125
- "match": "(?<=(\\s|\\(|\\[|\\{)):[\\w#\\.\\-_:+=><\\/!?\\*]+(?=(\\s|\\)|\\]|\\}|\\,))",
125
+ "match": "(?<=(\\s|\\(|\\[|\\{)):[\\w\\#\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}|\\,))",
126
126
  "name": "constant.keyword.clojure"
127
127
  },
128
128
  "map": {
@@ -132,7 +132,7 @@
132
132
  "name": "punctuation.section.map.begin.clojure"
133
133
  }
134
134
  },
135
- "end": "(\\}(?=[}\\])\\s]*(?:;|$)))|(\\})",
135
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
136
136
  "endCaptures": {
137
137
  "1": {
138
138
  "name": "punctuation.section.map.end.trailing.clojure"
@@ -157,7 +157,7 @@
157
157
  "name": "punctuation.section.metadata.map.begin.clojure"
158
158
  }
159
159
  },
160
- "end": "(\\}(?=[}\\])\\s]*(?:;|$)))|(\\})",
160
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
161
161
  "endCaptures": {
162
162
  "1": {
163
163
  "name": "punctuation.section.metadata.map.end.trailing.clojure"
@@ -196,7 +196,7 @@
196
196
  "name": "meta.symbol.namespace.clojure"
197
197
  }
198
198
  },
199
- "match": "([\\p{L}\\.\\-_+=><!?\\*][\\w\\.\\-_:+=><!?\\*\\d]*)/"
199
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)/"
200
200
  }
201
201
  ]
202
202
  },
@@ -207,7 +207,7 @@
207
207
  "name": "punctuation.section.expression.begin.clojure"
208
208
  }
209
209
  },
210
- "end": "(\\))$|(\\)(?=[}\\])\\s]*(?:;|$)))|(\\))",
210
+ "end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
211
211
  "endCaptures": {
212
212
  "1": {
213
213
  "name": "punctuation.section.expression.end.trailing.clojure"
@@ -257,7 +257,7 @@
257
257
  "name": "punctuation.section.set.begin.clojure"
258
258
  }
259
259
  },
260
- "end": "(\\}(?=[}\\])\\s]*(?:;|$)))|(\\})",
260
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
261
261
  "endCaptures": {
262
262
  "1": {
263
263
  "name": "punctuation.section.set.end.trailing.clojure"
@@ -280,7 +280,7 @@
280
280
  "name": "punctuation.section.expression.begin.clojure"
281
281
  }
282
282
  },
283
- "end": "(\\))$|(\\)(?=[}\\])\\s]*(?:;|$)))|(\\))",
283
+ "end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
284
284
  "endCaptures": {
285
285
  "1": {
286
286
  "name": "punctuation.section.expression.end.trailing.clojure"
@@ -311,7 +311,7 @@
311
311
  "include": "#dynamic-variables"
312
312
  },
313
313
  {
314
- "match": "([\\p{L}\\.\\-_+=><!?\\*][\\w\\.\\-_:+=><!?\\*\\d]*)",
314
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
315
315
  "name": "entity.global.clojure"
316
316
  },
317
317
  {
@@ -389,13 +389,13 @@
389
389
  "symbol": {
390
390
  "patterns": [
391
391
  {
392
- "match": "([\\p{L}\\.\\-_+=><!?\\*][\\w\\.\\-_:+=><!?\\*\\d]*)",
392
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
393
393
  "name": "meta.symbol.clojure"
394
394
  }
395
395
  ]
396
396
  },
397
397
  "var": {
398
- "match": "(?<=(\\s|\\(|\\[|\\{)\\#)'[\\w\\.\\-_:+=><\\/!?\\*]+(?=(\\s|\\)|\\]|\\}))",
398
+ "match": "(?<=(\\s|\\(|\\[|\\{)\\#)'[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}))",
399
399
  "name": "meta.var.clojure"
400
400
  },
401
401
  "vector": {
@@ -405,7 +405,7 @@
405
405
  "name": "punctuation.section.vector.begin.clojure"
406
406
  }
407
407
  },
408
- "end": "(\\](?=[}\\])\\s]*(?:;|$)))|(\\])",
408
+ "end": "(\\](?=[\\}\\]\\)\\s]*(?:;|$)))|(\\])",
409
409
  "endCaptures": {
410
410
  "1": {
411
411
  "name": "punctuation.section.vector.end.trailing.clojure"