tm-grammars 1.22.18 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/NOTICE +287 -1
  2. package/README.md +241 -239
  3. package/grammars/abap.json +36 -36
  4. package/grammars/actionscript-3.json +29 -29
  5. package/grammars/ada.json +78 -78
  6. package/grammars/angular-expression.json +62 -62
  7. package/grammars/angular-html.json +0 -1
  8. package/grammars/angular-inline-style.json +3 -3
  9. package/grammars/angular-inline-template.json +2 -2
  10. package/grammars/angular-template-blocks.json +3 -3
  11. package/grammars/angular-template.json +1 -1
  12. package/grammars/angular-ts.json +251 -251
  13. package/grammars/apache.json +31 -31
  14. package/grammars/apex.json +108 -108
  15. package/grammars/apl.json +18 -18
  16. package/grammars/applescript.json +11 -11
  17. package/grammars/ara.json +13 -13
  18. package/grammars/asciidoc.json +234 -234
  19. package/grammars/asm.json +90 -90
  20. package/grammars/astro.json +25 -25
  21. package/grammars/awk.json +8 -8
  22. package/grammars/ballerina.json +150 -150
  23. package/grammars/bat.json +28 -28
  24. package/grammars/beancount.json +33 -33
  25. package/grammars/berry.json +11 -11
  26. package/grammars/bibtex.json +12 -12
  27. package/grammars/bicep.json +12 -12
  28. package/grammars/blade.json +183 -183
  29. package/grammars/bsl.json +58 -58
  30. package/grammars/c.json +162 -162
  31. package/grammars/cadence.json +20 -20
  32. package/grammars/cairo.json +10 -10
  33. package/grammars/clarity.json +20 -20
  34. package/grammars/clojure.json +25 -25
  35. package/grammars/cmake.json +3 -3
  36. package/grammars/cobol.json +91 -91
  37. package/grammars/codeql.json +154 -154
  38. package/grammars/coffee.json +45 -45
  39. package/grammars/common-lisp.json +50 -50
  40. package/grammars/coq.json +10 -10
  41. package/grammars/cpp-macro.json +410 -410
  42. package/grammars/cpp.json +641 -641
  43. package/grammars/crystal.json +68 -68
  44. package/grammars/csharp.json +196 -196
  45. package/grammars/css.json +83 -83
  46. package/grammars/csv.json +1 -1
  47. package/grammars/cue.json +55 -55
  48. package/grammars/cypher.json +11 -11
  49. package/grammars/d.json +127 -32
  50. package/grammars/dart.json +18 -18
  51. package/grammars/dax.json +9 -9
  52. package/grammars/desktop.json +9 -9
  53. package/grammars/diff.json +3 -3
  54. package/grammars/dotenv.json +3 -3
  55. package/grammars/dream-maker.json +20 -20
  56. package/grammars/edge.json +8 -8
  57. package/grammars/elixir.json +44 -44
  58. package/grammars/elm.json +23 -23
  59. package/grammars/emacs-lisp.json +76 -76
  60. package/grammars/erb.json +2 -2
  61. package/grammars/erlang.json +29 -29
  62. package/grammars/es-tag-css.json +3 -3
  63. package/grammars/es-tag-glsl.json +3 -3
  64. package/grammars/es-tag-html.json +3 -3
  65. package/grammars/es-tag-sql.json +2 -2
  66. package/grammars/es-tag-xml.json +2 -2
  67. package/grammars/fennel.json +8 -8
  68. package/grammars/fish.json +10 -10
  69. package/grammars/fluent.json +10 -10
  70. package/grammars/fortran-fixed-form.json +1 -1
  71. package/grammars/fortran-free-form.json +106 -106
  72. package/grammars/fsharp.json +70 -70
  73. package/grammars/gdresource.json +15 -15
  74. package/grammars/gdscript.json +31 -27
  75. package/grammars/gdshader.json +18 -18
  76. package/grammars/genie.json +6 -6
  77. package/grammars/gherkin.json +1 -1
  78. package/grammars/git-commit.json +1 -1
  79. package/grammars/git-rebase.json +1 -1
  80. package/grammars/gleam.json +11 -11
  81. package/grammars/glimmer-js.json +35 -35
  82. package/grammars/glimmer-ts.json +35 -35
  83. package/grammars/glsl.json +4 -4
  84. package/grammars/gnuplot.json +41 -41
  85. package/grammars/go.json +155 -155
  86. package/grammars/graphql.json +20 -20
  87. package/grammars/groovy.json +44 -44
  88. package/grammars/hack.json +74 -74
  89. package/grammars/haml.json +24 -24
  90. package/grammars/handlebars.json +25 -25
  91. package/grammars/haskell.json +99 -99
  92. package/grammars/haxe.json +51 -51
  93. package/grammars/hcl.json +43 -43
  94. package/grammars/hjson.json +29 -29
  95. package/grammars/hlsl.json +15 -15
  96. package/grammars/html-derivative.json +0 -1
  97. package/grammars/html.json +28 -29
  98. package/grammars/http.json +17 -17
  99. package/grammars/hxml.json +3 -3
  100. package/grammars/hy.json +10 -10
  101. package/grammars/imba.json +168 -173
  102. package/grammars/ini.json +2 -2
  103. package/grammars/java.json +54 -54
  104. package/grammars/javascript.json +262 -262
  105. package/grammars/jinja-html.json +3 -3
  106. package/grammars/jinja.json +15 -15
  107. package/grammars/jison.json +18 -18
  108. package/grammars/json.json +6 -6
  109. package/grammars/json5.json +12 -12
  110. package/grammars/jsonc.json +6 -6
  111. package/grammars/jsonl.json +6 -6
  112. package/grammars/jsonnet.json +15 -15
  113. package/grammars/jssm.json +4 -4
  114. package/grammars/jsx.json +262 -262
  115. package/grammars/julia.json +45 -45
  116. package/grammars/kotlin.json +15 -15
  117. package/grammars/kusto.json +13 -13
  118. package/grammars/latex.json +260 -260
  119. package/grammars/lean.json +12 -12
  120. package/grammars/less.json +91 -91
  121. package/grammars/liquid.json +96 -62
  122. package/grammars/llvm.json +122 -0
  123. package/grammars/log.json +22 -22
  124. package/grammars/logo.json +2 -2
  125. package/grammars/lua.json +34 -34
  126. package/grammars/luau.json +20 -20
  127. package/grammars/make.json +22 -22
  128. package/grammars/markdown-vue.json +1 -1
  129. package/grammars/markdown.json +83 -83
  130. package/grammars/marko.json +19 -19
  131. package/grammars/matlab.json +29 -29
  132. package/grammars/mdc.json +17 -17
  133. package/grammars/mdx.json +278 -278
  134. package/grammars/mermaid.json +97 -97
  135. package/grammars/mipsasm.json +2 -2
  136. package/grammars/mojo.json +122 -122
  137. package/grammars/move.json +35 -35
  138. package/grammars/narrat.json +10 -10
  139. package/grammars/nextflow.json +11 -11
  140. package/grammars/nginx.json +45 -45
  141. package/grammars/nim.json +44 -44
  142. package/grammars/nix.json +71 -71
  143. package/grammars/nushell.json +36 -36
  144. package/grammars/objective-c.json +129 -129
  145. package/grammars/objective-cpp.json +245 -245
  146. package/grammars/ocaml.json +229 -229
  147. package/grammars/pascal.json +4 -4
  148. package/grammars/perl.json +64 -64
  149. package/grammars/php.json +199 -199
  150. package/grammars/plsql.json +10 -10
  151. package/grammars/po.json +4 -4
  152. package/grammars/polar.json +13 -13
  153. package/grammars/postcss.json +31 -31
  154. package/grammars/powerquery.json +10 -10
  155. package/grammars/powershell.json +54 -54
  156. package/grammars/prisma.json +13 -13
  157. package/grammars/prolog.json +3 -3
  158. package/grammars/proto.json +11 -11
  159. package/grammars/pug.json +30 -30
  160. package/grammars/puppet.json +35 -35
  161. package/grammars/purescript.json +843 -467
  162. package/grammars/python.json +126 -126
  163. package/grammars/qml.json +18 -18
  164. package/grammars/qss.json +7 -7
  165. package/grammars/r.json +17 -17
  166. package/grammars/racket.json +58 -58
  167. package/grammars/raku.json +15 -15
  168. package/grammars/razor.json +30 -30
  169. package/grammars/reg.json +3 -3
  170. package/grammars/regexp.json +15 -15
  171. package/grammars/rel.json +4 -4
  172. package/grammars/riscv.json +15 -15
  173. package/grammars/rst.json +26 -26
  174. package/grammars/ruby.json +103 -106
  175. package/grammars/rust.json +13 -13
  176. package/grammars/sas.json +9 -9
  177. package/grammars/sass.json +35 -35
  178. package/grammars/scala.json +75 -75
  179. package/grammars/scheme.json +16 -16
  180. package/grammars/scss.json +68 -68
  181. package/grammars/sdbl.json +18 -18
  182. package/grammars/shaderlab.json +8 -8
  183. package/grammars/shellscript.json +111 -111
  184. package/grammars/shellsession.json +1 -1
  185. package/grammars/smalltalk.json +5 -5
  186. package/grammars/solidity.json +20 -20
  187. package/grammars/soy.json +30 -30
  188. package/grammars/sparql.json +1 -1
  189. package/grammars/splunk.json +6 -6
  190. package/grammars/sql.json +8 -8
  191. package/grammars/ssh-config.json +2 -2
  192. package/grammars/stata.json +90 -90
  193. package/grammars/stylus.json +48 -48
  194. package/grammars/svelte.json +35 -25
  195. package/grammars/swift.json +114 -114
  196. package/grammars/system-verilog.json +25 -25
  197. package/grammars/systemd.json +16 -16
  198. package/grammars/talonscript.json +12 -12
  199. package/grammars/tasl.json +10 -10
  200. package/grammars/tcl.json +11 -11
  201. package/grammars/templ.json +34 -34
  202. package/grammars/terraform.json +42 -42
  203. package/grammars/tex.json +14 -14
  204. package/grammars/toml.json +15 -15
  205. package/grammars/tsx.json +262 -262
  206. package/grammars/turtle.json +2 -2
  207. package/grammars/twig.json +37 -37
  208. package/grammars/typescript.json +251 -251
  209. package/grammars/typespec.json +54 -273
  210. package/grammars/typst.json +34 -34
  211. package/grammars/v.json +32 -32
  212. package/grammars/vala.json +6 -6
  213. package/grammars/vb.json +7 -7
  214. package/grammars/verilog.json +4 -4
  215. package/grammars/vhdl.json +10 -10
  216. package/grammars/viml.json +22 -22
  217. package/grammars/vue-html.json +10 -10
  218. package/grammars/vue-sfc-style-variable-injection.json +1 -1
  219. package/grammars/vue.json +65 -65
  220. package/grammars/vyper.json +126 -126
  221. package/grammars/wasm.json +26 -26
  222. package/grammars/wenyan.json +7 -7
  223. package/grammars/wgsl.json +9 -9
  224. package/grammars/wikitext.json +66 -66
  225. package/grammars/wit.json +1409 -0
  226. package/grammars/wolfram.json +446 -446
  227. package/grammars/xml.json +11 -11
  228. package/grammars/xsl.json +1 -1
  229. package/grammars/yaml.json +24 -24
  230. package/grammars/zenscript.json +8 -8
  231. package/grammars/zig.json +11 -11
  232. package/index.d.ts +7 -0
  233. package/index.js +1226 -506
  234. package/package.json +1 -1
@@ -59,7 +59,7 @@
59
59
  "name": "entity.name.class.proto"
60
60
  }
61
61
  },
62
- "end": "\\}",
62
+ "end": "}",
63
63
  "patterns": [
64
64
  {
65
65
  "include": "#reserved"
@@ -71,7 +71,7 @@
71
71
  "include": "#comments"
72
72
  },
73
73
  {
74
- "begin": "([A-Za-z][A-Za-z0-9_]*)\\s*(=)\\s*(0[xX][0-9a-fA-F]+|[0-9]+)",
74
+ "begin": "([A-Za-z][A-Za-z0-9_]*)\\s*(=)\\s*(0[xX]\\h+|[0-9]+)",
75
75
  "beginCaptures": {
76
76
  "1": {
77
77
  "name": "variable.other.proto"
@@ -98,7 +98,7 @@
98
98
  ]
99
99
  },
100
100
  "field": {
101
- "begin": "\\s*(optional|repeated|required)?\\s*\\b([\\w.]+)\\s+(\\w+)\\s*(=)\\s*(0[xX][0-9a-fA-F]+|[0-9]+)",
101
+ "begin": "\\s*(optional|repeated|required)?\\s*\\b([\\w.]+)\\s+(\\w+)\\s*(=)\\s*(0[xX]\\h+|[0-9]+)",
102
102
  "beginCaptures": {
103
103
  "1": {
104
104
  "name": "storage.modifier.proto"
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "fieldOptions": {
132
132
  "begin": "\\[",
133
- "end": "\\]",
133
+ "end": "]",
134
134
  "patterns": [
135
135
  {
136
136
  "include": "#constants"
@@ -251,7 +251,7 @@
251
251
  "name": "entity.name.class.message.proto"
252
252
  }
253
253
  },
254
- "end": "\\}",
254
+ "end": "}",
255
255
  "patterns": [
256
256
  {
257
257
  "include": "#reserved"
@@ -289,7 +289,7 @@
289
289
  "name": "entity.name.function"
290
290
  }
291
291
  },
292
- "end": "\\}|(;)",
292
+ "end": "}|(;)",
293
293
  "endCaptures": {
294
294
  "1": {
295
295
  "name": "punctuation.terminator.proto"
@@ -311,7 +311,7 @@
311
311
  ]
312
312
  },
313
313
  "number": {
314
- "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
314
+ "match": "\\b((0([xX])\\h*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))(([eE])([+\\-])?[0-9]+)?)\\b",
315
315
  "name": "constant.numeric.proto"
316
316
  },
317
317
  "oneof": {
@@ -324,7 +324,7 @@
324
324
  "name": "variable.other.proto"
325
325
  }
326
326
  },
327
- "end": "\\}",
327
+ "end": "}",
328
328
  "patterns": [
329
329
  {
330
330
  "include": "#optionStmt"
@@ -452,7 +452,7 @@
452
452
  "name": "entity.name.class.message.proto"
453
453
  }
454
454
  },
455
- "end": "\\}",
455
+ "end": "}",
456
456
  "patterns": [
457
457
  {
458
458
  "include": "#comments"
@@ -470,12 +470,12 @@
470
470
  "name": "storage.type.proto"
471
471
  },
472
472
  "string": {
473
- "match": "('([^']|\\')*')|(\"([^\"]|\\\")*\")",
473
+ "match": "('([[^']'])*')|(\"([[^\"]\"])*\")",
474
474
  "name": "string.quoted.double.proto"
475
475
  },
476
476
  "subMsgOption": {
477
477
  "begin": "\\{",
478
- "end": "\\}",
478
+ "end": "}",
479
479
  "patterns": [
480
480
  {
481
481
  "include": "#kv"
package/grammars/pug.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "pug",
4
4
  "patterns": [
5
5
  {
6
- "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?",
6
+ "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9\\-_]+)?",
7
7
  "name": "meta.tag.sgml.doctype.html"
8
8
  },
9
9
  {
@@ -240,7 +240,7 @@
240
240
  "name": "invalid.illegal.name.generic.filter.pug"
241
241
  },
242
242
  {
243
- "match": "[\\w-]",
243
+ "match": "[\\w\\-]",
244
244
  "name": "constant.language.name.generic.filter.pug"
245
245
  },
246
246
  {
@@ -255,7 +255,7 @@
255
255
  ]
256
256
  },
257
257
  {
258
- "begin": "^(\\s*)(?:(?=\\.$)|(?:(?=[\\w.#].*?\\.$)(?=(?:(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?<!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*)(?:(?:(?::\\s+)|(?<=\\)))(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?<!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*))*)\\.$)(?:(?:(#[\\w-]+)|(\\.[\\w-]+))|((?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))))",
258
+ "begin": "^(\\s*)(?:(?=\\.$)|(?=[\\w.#].*?\\.$)(?=(?:(?:#[\\w\\-]+|\\.[\\w\\-]+)|(?:[#!]\\{[^}]*}|\\w(?:[\\w:\\-]+[\\w\\-]|[\\w\\-]*)))(?:#[\\w\\-]+|\\.[\\w\\-]+|(?:\\((?:[^()'\"]*(?:'(?:[^']|(?<!\\\\)\\\\')*'|\"(?:[^\"]|(?<!\\\\)\\\\\")*\"))*[^()]*\\))*)*(?:(?::\\s+|(?<=\\)))(?:(?:#[\\w\\-]+|\\.[\\w\\-]+)|(?:[#!]\\{[^}]*}|\\w(?:[\\w:\\-]+[\\w\\-]|[\\w\\-]*)))(?:#[\\w\\-]+|\\.[\\w\\-]+|(?:\\((?:[^()'\"]*(?:'(?:[^']|(?<!\\\\)\\\\')*'|\"(?:[^\"]|(?<!\\\\)\\\\\")*\"))*[^()]*\\))*)*)*\\.$)(?:(?:(#[\\w\\-]+)|(\\.[\\w\\-]+))|([#!]\\{[^}]*}|\\w(?:[\\w:\\-]+[\\w\\-]|[\\w\\-]*))))",
259
259
  "beginCaptures": {
260
260
  "2": {
261
261
  "name": "meta.selector.css entity.other.attribute-name.id.css.pug"
@@ -357,7 +357,7 @@
357
357
  "include": "#printed_expression"
358
358
  },
359
359
  {
360
- "begin": "\\G(?=(#[^\\{\\w-])|[^\\w.#])",
360
+ "begin": "\\G(?=(#[^{\\w\\-])|[^\\w.#])",
361
361
  "end": "$",
362
362
  "patterns": [
363
363
  {
@@ -401,7 +401,7 @@
401
401
  "repository": {
402
402
  "babel_parens": {
403
403
  "begin": "\\(",
404
- "end": "\\)|(({\\s*)?$)",
404
+ "end": "\\)|((\\{\\s*)?$)",
405
405
  "patterns": [
406
406
  {
407
407
  "include": "#babel_parens"
@@ -604,11 +604,11 @@
604
604
  "html_entity": {
605
605
  "patterns": [
606
606
  {
607
- "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
607
+ "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x\\h+)(;)",
608
608
  "name": "constant.character.entity.html.text.pug"
609
609
  },
610
610
  {
611
- "match": "[<>&]",
611
+ "match": "[<>\\&]",
612
612
  "name": "invalid.illegal.html_entity.text.pug"
613
613
  }
614
614
  ]
@@ -623,7 +623,7 @@
623
623
  "name": "entity.name.function.pug"
624
624
  }
625
625
  },
626
- "end": "(\\])",
626
+ "end": "(])",
627
627
  "name": "inline.pug",
628
628
  "patterns": [
629
629
  {
@@ -633,8 +633,8 @@
633
633
  "include": "#mixin_call"
634
634
  },
635
635
  {
636
- "begin": "(?<!\\])(?=[\\w.#])|(:\\s*)",
637
- "end": "(?=\\]|(:.)|=|\\s)",
636
+ "begin": "(?<!])(?=[\\w.#])|(:\\s*)",
637
+ "end": "(?=]|(:.)|[=\\s])",
638
638
  "name": "tag.inline.pug",
639
639
  "patterns": [
640
640
  {
@@ -678,11 +678,11 @@
678
678
  },
679
679
  "inline_pug_text": {
680
680
  "begin": "",
681
- "end": "(?=\\])",
681
+ "end": "(?=])",
682
682
  "patterns": [
683
683
  {
684
684
  "begin": "\\[",
685
- "end": "\\]",
685
+ "end": "]",
686
686
  "patterns": [
687
687
  {
688
688
  "include": "#inline_pug_text"
@@ -711,12 +711,12 @@
711
711
  "name": "invalid.illegal.tag.pug"
712
712
  },
713
713
  "interpolated_value": {
714
- "begin": "(?<!\\\\)[#!]\\{(?=.*?\\})",
715
- "end": "\\}",
714
+ "begin": "(?<!\\\\)[#!]\\{(?=.*?})",
715
+ "end": "}",
716
716
  "name": "string.interpolated.pug",
717
717
  "patterns": [
718
718
  {
719
- "match": "{",
719
+ "match": "\\{",
720
720
  "name": "invalid.illegal.tag.pug"
721
721
  },
722
722
  {
@@ -726,7 +726,7 @@
726
726
  },
727
727
  "js_braces": {
728
728
  "begin": "\\{",
729
- "end": "\\}",
729
+ "end": "}",
730
730
  "patterns": [
731
731
  {
732
732
  "include": "#js_braces"
@@ -738,7 +738,7 @@
738
738
  },
739
739
  "js_brackets": {
740
740
  "begin": "\\[",
741
- "end": "\\]",
741
+ "end": "]",
742
742
  "patterns": [
743
743
  {
744
744
  "include": "#js_brackets"
@@ -761,7 +761,7 @@
761
761
  ]
762
762
  },
763
763
  "mixin_call": {
764
- "begin": "((?:mixin\\s+)|\\+)([\\w-]+)",
764
+ "begin": "(mixin\\s+|\\+)([\\w\\-]+)",
765
765
  "beginCaptures": {
766
766
  "1": {
767
767
  "name": "storage.type.function.pug"
@@ -816,16 +816,16 @@
816
816
  "name": "punctuation.definition.parameters.begin.js"
817
817
  }
818
818
  },
819
- "match": "(mixin\\s+)([\\w-]+)(?:(\\()\\s*((?:[a-zA-Z_]\\w*\\s*)(?:,\\s*[a-zA-Z_]\\w*\\s*)*)(\\)))?$"
819
+ "match": "(mixin\\s+)([\\w\\-]+)(?:(\\()\\s*([a-zA-Z_]\\w*\\s*(?:,\\s*[a-zA-Z_]\\w*\\s*)*)(\\)))?$"
820
820
  },
821
821
  "printed_expression": {
822
- "begin": "(!?\\=)\\s*",
822
+ "begin": "(!?=)\\s*",
823
823
  "captures": {
824
824
  "1": {
825
825
  "name": "constant"
826
826
  }
827
827
  },
828
- "end": "(?=\\])|$",
828
+ "end": "(?=])|$",
829
829
  "name": "source.js",
830
830
  "patterns": [
831
831
  {
@@ -879,7 +879,7 @@
879
879
  },
880
880
  {
881
881
  "begin": "=\\s*",
882
- "end": "$|(?=,|(?:\\s+[^!%&*\\-+~|<>?/])|\\))",
882
+ "end": "$|(?=,|\\s+[^!%\\&*\\-+~|<>?/]|\\))",
883
883
  "name": "attribute_value",
884
884
  "patterns": [
885
885
  {
@@ -897,8 +897,8 @@
897
897
  ]
898
898
  },
899
899
  {
900
- "begin": "(?<=[%&*\\-+~|<>:?/])\\s+",
901
- "end": "$|(?=,|(?:\\s+[^!%&*\\-+~|<>?/])|\\))",
900
+ "begin": "(?<=[%\\&*\\-+~|<>:?/])\\s+",
901
+ "end": "$|(?=,|\\s+[^!%\\&*\\-+~|<>?/]|\\))",
902
902
  "name": "attribute_value2",
903
903
  "patterns": [
904
904
  {
@@ -923,11 +923,11 @@
923
923
  "name": "invalid.illegal.tag.pug"
924
924
  }
925
925
  },
926
- "match": "\\.([^\\w-])?[\\w-]*",
926
+ "match": "\\.([^\\w\\-])?[\\w\\-]*",
927
927
  "name": "meta.selector.css entity.other.attribute-name.class.css.pug"
928
928
  },
929
929
  "tag_id": {
930
- "match": "#[\\w-]+",
930
+ "match": "#[\\w\\-]+",
931
931
  "name": "meta.selector.css entity.other.attribute-name.id.css.pug"
932
932
  },
933
933
  "tag_mixin_attributes": {
@@ -950,17 +950,17 @@
950
950
  ]
951
951
  },
952
952
  "tag_name": {
953
- "begin": "([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",
953
+ "begin": "([#!]\\{(?=.*?}))|(\\w(([\\w:\\-]+[\\w\\-])|([\\w\\-]*)))",
954
954
  "end": "(\\G(?<!\\5[^\\w-]))|\\}|$",
955
955
  "name": "meta.tag.other entity.name.tag.pug",
956
956
  "patterns": [
957
957
  {
958
958
  "begin": "\\G(?<=\\{)",
959
- "end": "(?=\\})",
959
+ "end": "(?=})",
960
960
  "name": "meta.tag.other entity.name.tag.pug",
961
961
  "patterns": [
962
962
  {
963
- "match": "{",
963
+ "match": "\\{",
964
964
  "name": "invalid.illegal.tag.pug"
965
965
  },
966
966
  {
@@ -998,7 +998,7 @@
998
998
  "name": "variable.parameter.javascript.embedded.pug"
999
999
  }
1000
1000
  },
1001
- "end": "(?=\\])|(({\\s*)?$)",
1001
+ "end": "(?=])|((\\{\\s*)?$)",
1002
1002
  "name": "source.js",
1003
1003
  "patterns": [
1004
1004
  {
@@ -3,8 +3,8 @@
3
3
  "fileTypes": [
4
4
  "pp"
5
5
  ],
6
- "foldingStartMarker": "(^\\s*/\\*|(\\{|\\[|\\()\\s*$)",
7
- "foldingStopMarker": "(\\*/|^\\s*(\\}|\\]|\\)))",
6
+ "foldingStartMarker": "(^\\s*/\\*|([{\\[(])\\s*$)",
7
+ "foldingStopMarker": "(\\*/|^\\s*([}\\])]))",
8
8
  "name": "puppet",
9
9
  "patterns": [
10
10
  {
@@ -28,7 +28,7 @@
28
28
  "name": "entity.name.type.class.puppet"
29
29
  }
30
30
  },
31
- "end": "(?={)",
31
+ "end": "(?=\\{)",
32
32
  "name": "meta.definition.class.puppet",
33
33
  "patterns": [
34
34
  {
@@ -53,7 +53,7 @@
53
53
  "name": "entity.name.type.class.puppet"
54
54
  }
55
55
  },
56
- "end": "(?={)",
56
+ "end": "(?=\\{)",
57
57
  "name": "meta.definition.class.puppet",
58
58
  "patterns": [
59
59
  {
@@ -63,11 +63,11 @@
63
63
  "name": "storage.modifier.puppet"
64
64
  }
65
65
  },
66
- "end": "(?=\\(|{)",
66
+ "end": "(?=[({])",
67
67
  "name": "meta.definition.class.inherits.puppet",
68
68
  "patterns": [
69
69
  {
70
- "match": "\\b((?:[-_A-Za-z0-9\".]+::)*[-_A-Za-z0-9\".]+)\\b",
70
+ "match": "\\b((?:[\\-_A-Za-z0-9\".]+::)*[\\-_A-Za-z0-9\".]+)\\b",
71
71
  "name": "support.type.puppet"
72
72
  }
73
73
  ]
@@ -93,7 +93,7 @@
93
93
  "name": "entity.name.type.plan.puppet"
94
94
  }
95
95
  },
96
- "end": "(?={)",
96
+ "end": "(?=\\{)",
97
97
  "name": "meta.definition.plan.puppet",
98
98
  "patterns": [
99
99
  {
@@ -117,7 +117,7 @@
117
117
  "name": "entity.name.function.puppet"
118
118
  }
119
119
  },
120
- "end": "(?={)",
120
+ "end": "(?=\\{)",
121
121
  "name": "meta.function.puppet",
122
122
  "patterns": [
123
123
  {
@@ -158,7 +158,7 @@
158
158
  "include": "#array"
159
159
  },
160
160
  {
161
- "match": "((\\$?)\"?[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*\"?):(?=\\s+|$)",
161
+ "match": "((\\$?)\"?[a-zA-Z_\\x7F-ÿ][a-zA-Z0-9_\\x7F-ÿ]*\"?):(?=\\s+|$)",
162
162
  "name": "entity.name.section.puppet"
163
163
  },
164
164
  {
@@ -183,11 +183,11 @@
183
183
  "name": "constant.other.key.puppet"
184
184
  },
185
185
  {
186
- "match": "(?<={)\\s*\\w+\\s*(?=})",
186
+ "match": "(?<=\\{)\\s*\\w+\\s*(?=})",
187
187
  "name": "constant.other.bareword.puppet"
188
188
  },
189
189
  {
190
- "match": "\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\b(?!.*{)",
190
+ "match": "\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\b(?!.*\\{)",
191
191
  "name": "support.function.puppet"
192
192
  },
193
193
  {
@@ -214,7 +214,7 @@
214
214
  "name": "punctuation.definition.array.begin.puppet"
215
215
  }
216
216
  },
217
- "end": "\\]",
217
+ "end": "]",
218
218
  "endCaptures": {
219
219
  "0": {
220
220
  "name": "punctuation.definition.array.end.puppet"
@@ -236,7 +236,7 @@
236
236
  "constants": {
237
237
  "patterns": [
238
238
  {
239
- "match": "\\b(absent|directory|false|file|present|running|stopped|true)\\b(?!.*{)",
239
+ "match": "\\b(absent|directory|false|file|present|running|stopped|true)\\b(?!.*\\{)",
240
240
  "name": "constant.language.puppet"
241
241
  }
242
242
  ]
@@ -289,7 +289,7 @@
289
289
  "name": "punctuation.definition.hash.begin.puppet"
290
290
  }
291
291
  },
292
- "end": "\\}",
292
+ "end": "}",
293
293
  "endCaptures": {
294
294
  "0": {
295
295
  "name": "punctuation.definition.hash.end.puppet"
@@ -312,13 +312,13 @@
312
312
  "heredoc": {
313
313
  "patterns": [
314
314
  {
315
- "begin": "@\\([[:blank:]]*\"([^:\\/) \\t]+)\"[[:blank:]]*(:[[:blank:]]*[a-z][a-zA-Z0-9_+]*[[:blank:]]*)?(\\/[[:blank:]]*[tsrnL$]*)?[[:blank:]]*\\)",
315
+ "begin": "@\\(\\p{blank}*\"([^:/) \\t]+)\"\\p{blank}*(:\\p{blank}*[a-z][a-zA-Z0-9_+]*\\p{blank}*)?(/\\p{blank}*[tsrnL$]*)?\\p{blank}*\\)",
316
316
  "beginCaptures": {
317
317
  "0": {
318
318
  "name": "punctuation.definition.string.begin.puppet"
319
319
  }
320
320
  },
321
- "end": "^[[:blank:]]*(\\|[[:blank:]]*-|\\||-)?[[:blank:]]*\\1",
321
+ "end": "^\\p{blank}*(\\|\\p{blank}*-|[|\\-])?\\p{blank}*\\1",
322
322
  "endCaptures": {
323
323
  "0": {
324
324
  "name": "punctuation.definition.string.end.puppet"
@@ -335,13 +335,13 @@
335
335
  ]
336
336
  },
337
337
  {
338
- "begin": "@\\([[:blank:]]*([^:\\/) \\t]+)[[:blank:]]*(:[[:blank:]]*[a-z][a-zA-Z0-9_+]*[[:blank:]]*)?(\\/[[:blank:]]*[tsrnL$]*)?[[:blank:]]*\\)",
338
+ "begin": "@\\(\\p{blank}*([^:/) \\t]+)\\p{blank}*(:\\p{blank}*[a-z][a-zA-Z0-9_+]*\\p{blank}*)?(/\\p{blank}*[tsrnL$]*)?\\p{blank}*\\)",
339
339
  "beginCaptures": {
340
340
  "0": {
341
341
  "name": "punctuation.definition.string.begin.puppet"
342
342
  }
343
343
  },
344
- "end": "^[[:blank:]]*(\\|[[:blank:]]*-|\\||-)?[[:blank:]]*\\1",
344
+ "end": "^\\p{blank}*(\\|\\p{blank}*-|[|\\-])?\\p{blank}*\\1",
345
345
  "endCaptures": {
346
346
  "0": {
347
347
  "name": "punctuation.definition.string.end.puppet"
@@ -354,7 +354,7 @@
354
354
  "interpolated_puppet": {
355
355
  "patterns": [
356
356
  {
357
- "begin": "(\\${)(\\d+)",
357
+ "begin": "(\\$\\{)(\\d+)",
358
358
  "beginCaptures": {
359
359
  "1": {
360
360
  "name": "punctuation.section.embedded.begin.puppet"
@@ -378,7 +378,7 @@
378
378
  ]
379
379
  },
380
380
  {
381
- "begin": "(\\${)(_[a-zA-Z0-9_]*)",
381
+ "begin": "(\\$\\{)(_[a-zA-Z0-9_]*)",
382
382
  "beginCaptures": {
383
383
  "1": {
384
384
  "name": "punctuation.section.embedded.begin.puppet"
@@ -402,7 +402,7 @@
402
402
  ]
403
403
  },
404
404
  {
405
- "begin": "(\\${)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)",
405
+ "begin": "(\\$\\{)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)",
406
406
  "beginCaptures": {
407
407
  "1": {
408
408
  "name": "punctuation.section.embedded.begin.puppet"
@@ -426,7 +426,7 @@
426
426
  ]
427
427
  },
428
428
  {
429
- "begin": "\\${",
429
+ "begin": "\\$\\{",
430
430
  "beginCaptures": {
431
431
  "0": {
432
432
  "name": "punctuation.section.embedded.begin.puppet"
@@ -488,7 +488,7 @@
488
488
  "name": "punctuation.section.scope.puppet"
489
489
  }
490
490
  },
491
- "end": "\\}",
491
+ "end": "}",
492
492
  "patterns": [
493
493
  {
494
494
  "include": "#escaped_char"
@@ -505,7 +505,7 @@
505
505
  "name": "punctuation.section.scope.puppet"
506
506
  }
507
507
  },
508
- "end": "\\}",
508
+ "end": "}",
509
509
  "patterns": [
510
510
  {
511
511
  "include": "#escaped_char"
@@ -525,7 +525,7 @@
525
525
  "name": "punctuation.section.scope.puppet"
526
526
  }
527
527
  },
528
- "end": "\\]",
528
+ "end": "]",
529
529
  "patterns": [
530
530
  {
531
531
  "include": "#escaped_char"
@@ -542,7 +542,7 @@
542
542
  "name": "punctuation.section.scope.puppet"
543
543
  }
544
544
  },
545
- "end": "\\]",
545
+ "end": "]",
546
546
  "patterns": [
547
547
  {
548
548
  "include": "#escaped_char"
@@ -595,15 +595,15 @@
595
595
  "numbers": {
596
596
  "patterns": [
597
597
  {
598
- "match": "(?<!\\w|\\d)([-+]?)(?i:0x)(?i:[0-9a-f])+(?!\\w|\\d)",
598
+ "match": "(?<![\\w\\d])([\\-+]?)(?i:0x)(?i:[0-9a-f])+(?![\\w\\d])",
599
599
  "name": "constant.numeric.hexadecimal.puppet"
600
600
  },
601
601
  {
602
- "match": "(?<!\\w|\\.)([-+]?)(?<!\\d)\\d+(?i:e(\\+|-){0,1}\\d+){0,1}(?!\\w|\\d|\\.)",
602
+ "match": "(?<![\\w.])([\\-+]?)(?<!\\d)\\d+(?i:e([+\\-])?\\d+)?(?![\\w\\d.])",
603
603
  "name": "constant.numeric.integer.puppet"
604
604
  },
605
605
  {
606
- "match": "(?<!\\w)([-+]?)\\d+\\.\\d+(?i:e(\\+|-){0,1}\\d+){0,1}(?!\\w|\\d)",
606
+ "match": "(?<!\\w)([\\-+]?)\\d+\\.\\d+(?i:e([+\\-])?\\d+)?(?![\\w\\d])",
607
607
  "name": "constant.numeric.integer.puppet"
608
608
  }
609
609
  ]
@@ -639,17 +639,17 @@
639
639
  "puppet-datatypes": {
640
640
  "patterns": [
641
641
  {
642
- "match": "(?<![a-zA-Z\\$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])",
642
+ "match": "(?<![a-zA-Z$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])",
643
643
  "name": "storage.type.puppet"
644
644
  }
645
645
  ]
646
646
  },
647
647
  "regex-literal": {
648
- "match": "(\\/)(.+?)(?:[^\\\\]\\/)",
648
+ "match": "(/)(.+?)[^\\\\]/",
649
649
  "name": "string.regexp.literal.puppet"
650
650
  },
651
651
  "resource-definition": {
652
- "begin": "(?:^|\\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\s*({)\\s*",
652
+ "begin": "(?:^|\\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\s*(\\{)\\s*",
653
653
  "beginCaptures": {
654
654
  "1": {
655
655
  "name": "meta.definition.resource.puppet storage.type.puppet"
@@ -680,11 +680,11 @@
680
680
  "name": "punctuation.definition.variable.puppet"
681
681
  }
682
682
  },
683
- "match": "((\\$+)[a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=,|\\))",
683
+ "match": "((\\$+)[a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=[,)])",
684
684
  "name": "meta.function.argument.puppet"
685
685
  },
686
686
  {
687
- "begin": "((\\$+)[a-zA-Z_][a-zA-Z0-9_]*)(?:\\s*(=)\\s*)\\s*",
687
+ "begin": "((\\$+)[a-zA-Z_][a-zA-Z0-9_]*)\\s*(=)\\s*\\s*",
688
688
  "captures": {
689
689
  "1": {
690
690
  "name": "variable.other.puppet"
@@ -696,7 +696,7 @@
696
696
  "name": "keyword.operator.assignment.puppet"
697
697
  }
698
698
  },
699
- "end": "(?=,|\\))",
699
+ "end": "(?=[,)])",
700
700
  "name": "meta.function.argument.puppet",
701
701
  "patterns": [
702
702
  {