tm-grammars 1.22.19 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/NOTICE +286 -1
  2. package/README.md +241 -239
  3. package/grammars/abap.json +36 -36
  4. package/grammars/actionscript-3.json +29 -29
  5. package/grammars/ada.json +78 -78
  6. package/grammars/angular-expression.json +62 -62
  7. package/grammars/angular-html.json +0 -1
  8. package/grammars/angular-inline-style.json +3 -3
  9. package/grammars/angular-inline-template.json +2 -2
  10. package/grammars/angular-template-blocks.json +3 -3
  11. package/grammars/angular-template.json +1 -1
  12. package/grammars/angular-ts.json +251 -251
  13. package/grammars/apache.json +31 -31
  14. package/grammars/apex.json +108 -108
  15. package/grammars/apl.json +18 -18
  16. package/grammars/applescript.json +11 -11
  17. package/grammars/ara.json +13 -13
  18. package/grammars/asciidoc.json +234 -234
  19. package/grammars/asm.json +90 -90
  20. package/grammars/astro.json +25 -25
  21. package/grammars/awk.json +8 -8
  22. package/grammars/ballerina.json +150 -150
  23. package/grammars/bat.json +28 -28
  24. package/grammars/beancount.json +33 -33
  25. package/grammars/berry.json +11 -11
  26. package/grammars/bibtex.json +12 -12
  27. package/grammars/bicep.json +12 -12
  28. package/grammars/blade.json +183 -183
  29. package/grammars/bsl.json +58 -58
  30. package/grammars/c.json +162 -162
  31. package/grammars/cadence.json +20 -20
  32. package/grammars/cairo.json +10 -10
  33. package/grammars/clarity.json +20 -20
  34. package/grammars/clojure.json +25 -25
  35. package/grammars/cmake.json +3 -3
  36. package/grammars/cobol.json +91 -91
  37. package/grammars/codeql.json +154 -154
  38. package/grammars/coffee.json +45 -45
  39. package/grammars/common-lisp.json +50 -50
  40. package/grammars/coq.json +10 -10
  41. package/grammars/cpp-macro.json +410 -410
  42. package/grammars/cpp.json +641 -641
  43. package/grammars/crystal.json +68 -68
  44. package/grammars/csharp.json +196 -196
  45. package/grammars/css.json +83 -83
  46. package/grammars/csv.json +1 -1
  47. package/grammars/cue.json +55 -55
  48. package/grammars/cypher.json +11 -11
  49. package/grammars/d.json +127 -32
  50. package/grammars/dart.json +18 -18
  51. package/grammars/dax.json +9 -9
  52. package/grammars/desktop.json +9 -9
  53. package/grammars/diff.json +3 -3
  54. package/grammars/dotenv.json +3 -3
  55. package/grammars/dream-maker.json +20 -20
  56. package/grammars/edge.json +8 -8
  57. package/grammars/elixir.json +44 -44
  58. package/grammars/elm.json +23 -23
  59. package/grammars/emacs-lisp.json +76 -76
  60. package/grammars/erb.json +2 -2
  61. package/grammars/erlang.json +29 -29
  62. package/grammars/es-tag-css.json +3 -3
  63. package/grammars/es-tag-glsl.json +3 -3
  64. package/grammars/es-tag-html.json +3 -3
  65. package/grammars/es-tag-sql.json +2 -2
  66. package/grammars/es-tag-xml.json +2 -2
  67. package/grammars/fennel.json +8 -8
  68. package/grammars/fish.json +10 -10
  69. package/grammars/fluent.json +10 -10
  70. package/grammars/fortran-fixed-form.json +1 -1
  71. package/grammars/fortran-free-form.json +106 -106
  72. package/grammars/fsharp.json +70 -70
  73. package/grammars/gdresource.json +15 -15
  74. package/grammars/gdscript.json +31 -27
  75. package/grammars/gdshader.json +18 -18
  76. package/grammars/genie.json +6 -6
  77. package/grammars/gherkin.json +1 -1
  78. package/grammars/git-commit.json +1 -1
  79. package/grammars/git-rebase.json +1 -1
  80. package/grammars/gleam.json +11 -11
  81. package/grammars/glimmer-js.json +35 -35
  82. package/grammars/glimmer-ts.json +35 -35
  83. package/grammars/glsl.json +4 -4
  84. package/grammars/gnuplot.json +41 -41
  85. package/grammars/go.json +155 -155
  86. package/grammars/graphql.json +20 -20
  87. package/grammars/groovy.json +44 -44
  88. package/grammars/hack.json +74 -74
  89. package/grammars/haml.json +24 -24
  90. package/grammars/handlebars.json +25 -25
  91. package/grammars/haskell.json +99 -99
  92. package/grammars/haxe.json +51 -51
  93. package/grammars/hcl.json +43 -43
  94. package/grammars/hjson.json +29 -29
  95. package/grammars/hlsl.json +15 -15
  96. package/grammars/html-derivative.json +0 -1
  97. package/grammars/html.json +28 -29
  98. package/grammars/http.json +17 -17
  99. package/grammars/hxml.json +3 -3
  100. package/grammars/hy.json +10 -10
  101. package/grammars/imba.json +168 -173
  102. package/grammars/ini.json +2 -2
  103. package/grammars/java.json +54 -54
  104. package/grammars/javascript.json +262 -262
  105. package/grammars/jinja-html.json +3 -3
  106. package/grammars/jinja.json +15 -15
  107. package/grammars/jison.json +18 -18
  108. package/grammars/json.json +6 -6
  109. package/grammars/json5.json +12 -12
  110. package/grammars/jsonc.json +6 -6
  111. package/grammars/jsonl.json +6 -6
  112. package/grammars/jsonnet.json +15 -15
  113. package/grammars/jssm.json +4 -4
  114. package/grammars/jsx.json +262 -262
  115. package/grammars/julia.json +45 -45
  116. package/grammars/kotlin.json +15 -15
  117. package/grammars/kusto.json +13 -13
  118. package/grammars/latex.json +260 -260
  119. package/grammars/lean.json +12 -12
  120. package/grammars/less.json +91 -91
  121. package/grammars/liquid.json +96 -62
  122. package/grammars/llvm.json +122 -0
  123. package/grammars/log.json +22 -22
  124. package/grammars/logo.json +2 -2
  125. package/grammars/lua.json +34 -34
  126. package/grammars/luau.json +20 -20
  127. package/grammars/make.json +22 -22
  128. package/grammars/markdown-vue.json +1 -1
  129. package/grammars/markdown.json +83 -83
  130. package/grammars/marko.json +19 -19
  131. package/grammars/matlab.json +29 -29
  132. package/grammars/mdc.json +17 -17
  133. package/grammars/mdx.json +278 -278
  134. package/grammars/mermaid.json +97 -97
  135. package/grammars/mipsasm.json +2 -2
  136. package/grammars/mojo.json +122 -122
  137. package/grammars/move.json +35 -35
  138. package/grammars/narrat.json +10 -10
  139. package/grammars/nextflow.json +11 -11
  140. package/grammars/nginx.json +45 -45
  141. package/grammars/nim.json +44 -44
  142. package/grammars/nix.json +71 -71
  143. package/grammars/nushell.json +36 -36
  144. package/grammars/objective-c.json +129 -129
  145. package/grammars/objective-cpp.json +245 -245
  146. package/grammars/ocaml.json +229 -229
  147. package/grammars/pascal.json +4 -4
  148. package/grammars/perl.json +64 -64
  149. package/grammars/php.json +199 -199
  150. package/grammars/plsql.json +10 -10
  151. package/grammars/po.json +4 -4
  152. package/grammars/polar.json +13 -13
  153. package/grammars/postcss.json +31 -31
  154. package/grammars/powerquery.json +10 -10
  155. package/grammars/powershell.json +54 -54
  156. package/grammars/prisma.json +13 -13
  157. package/grammars/prolog.json +3 -3
  158. package/grammars/proto.json +11 -11
  159. package/grammars/pug.json +30 -30
  160. package/grammars/puppet.json +35 -35
  161. package/grammars/purescript.json +843 -467
  162. package/grammars/python.json +126 -126
  163. package/grammars/qml.json +18 -18
  164. package/grammars/qss.json +7 -7
  165. package/grammars/r.json +17 -17
  166. package/grammars/racket.json +58 -58
  167. package/grammars/raku.json +15 -15
  168. package/grammars/razor.json +30 -30
  169. package/grammars/reg.json +3 -3
  170. package/grammars/regexp.json +15 -15
  171. package/grammars/rel.json +4 -4
  172. package/grammars/riscv.json +15 -15
  173. package/grammars/rst.json +26 -26
  174. package/grammars/ruby.json +103 -106
  175. package/grammars/rust.json +13 -13
  176. package/grammars/sas.json +9 -9
  177. package/grammars/sass.json +35 -35
  178. package/grammars/scala.json +75 -75
  179. package/grammars/scheme.json +16 -16
  180. package/grammars/scss.json +68 -68
  181. package/grammars/sdbl.json +18 -18
  182. package/grammars/shaderlab.json +8 -8
  183. package/grammars/shellscript.json +111 -111
  184. package/grammars/shellsession.json +1 -1
  185. package/grammars/smalltalk.json +5 -5
  186. package/grammars/solidity.json +20 -20
  187. package/grammars/soy.json +30 -30
  188. package/grammars/sparql.json +1 -1
  189. package/grammars/splunk.json +6 -6
  190. package/grammars/sql.json +8 -8
  191. package/grammars/ssh-config.json +2 -2
  192. package/grammars/stata.json +90 -90
  193. package/grammars/stylus.json +48 -48
  194. package/grammars/svelte.json +35 -25
  195. package/grammars/swift.json +114 -114
  196. package/grammars/system-verilog.json +25 -25
  197. package/grammars/systemd.json +16 -16
  198. package/grammars/talonscript.json +12 -12
  199. package/grammars/tasl.json +10 -10
  200. package/grammars/tcl.json +11 -11
  201. package/grammars/templ.json +34 -34
  202. package/grammars/terraform.json +42 -42
  203. package/grammars/tex.json +14 -14
  204. package/grammars/toml.json +15 -15
  205. package/grammars/tsx.json +262 -262
  206. package/grammars/turtle.json +2 -2
  207. package/grammars/twig.json +37 -37
  208. package/grammars/typescript.json +251 -251
  209. package/grammars/typespec.json +54 -273
  210. package/grammars/typst.json +34 -34
  211. package/grammars/v.json +32 -32
  212. package/grammars/vala.json +6 -6
  213. package/grammars/vb.json +7 -7
  214. package/grammars/verilog.json +4 -4
  215. package/grammars/vhdl.json +10 -10
  216. package/grammars/viml.json +22 -22
  217. package/grammars/vue-html.json +10 -10
  218. package/grammars/vue-sfc-style-variable-injection.json +1 -1
  219. package/grammars/vue.json +65 -65
  220. package/grammars/vyper.json +126 -126
  221. package/grammars/wasm.json +26 -26
  222. package/grammars/wenyan.json +7 -7
  223. package/grammars/wgsl.json +9 -9
  224. package/grammars/wikitext.json +66 -66
  225. package/grammars/wit.json +1409 -0
  226. package/grammars/wolfram.json +446 -446
  227. package/grammars/xml.json +11 -11
  228. package/grammars/xsl.json +1 -1
  229. package/grammars/yaml.json +24 -24
  230. package/grammars/zenscript.json +8 -8
  231. package/grammars/zig.json +11 -11
  232. package/index.d.ts +7 -0
  233. package/index.js +1003 -283
  234. package/package.json +1 -1
@@ -238,7 +238,7 @@
238
238
  ],
239
239
  "repository": {
240
240
  "attributes": {
241
- "begin": "(#)(\\!?)(\\[)",
241
+ "begin": "(#)(!?)(\\[)",
242
242
  "beginCaptures": {
243
243
  "1": {
244
244
  "name": "punctuation.definition.attribute.rust"
@@ -247,7 +247,7 @@
247
247
  "name": "punctuation.brackets.attribute.rust"
248
248
  }
249
249
  },
250
- "end": "\\]",
250
+ "end": "]",
251
251
  "endCaptures": {
252
252
  "0": {
253
253
  "name": "punctuation.brackets.attribute.rust"
@@ -366,7 +366,7 @@
366
366
  "name": "entity.name.type.numeric.rust"
367
367
  }
368
368
  },
369
- "match": "\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",
369
+ "match": "\\b\\d[\\d_]*(\\.?)[\\d_]*(?:([Ee])([+\\-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",
370
370
  "name": "constant.numeric.decimal.rust"
371
371
  },
372
372
  {
@@ -420,7 +420,7 @@
420
420
  "name": "constant.character.escape.unicode.punctuation.rust"
421
421
  }
422
422
  },
423
- "match": "(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))",
423
+ "match": "(\\\\)(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(}))|.)",
424
424
  "name": "constant.character.escape.rust"
425
425
  },
426
426
  "functions": {
@@ -657,7 +657,7 @@
657
657
  "name": "punctuation.definition.interpolation.rust"
658
658
  }
659
659
  },
660
- "match": "({)[^\"{}]*(})",
660
+ "match": "(\\{)[^\"{}]*(})",
661
661
  "name": "meta.interpolation.rust"
662
662
  },
663
663
  "keywords": {
@@ -711,11 +711,11 @@
711
711
  "name": "storage.modifier.mut.rust"
712
712
  },
713
713
  {
714
- "match": "(\\^|\\||\\|\\||&&|<<|>>|!)(?!=)",
714
+ "match": "([\\^|]|\\|\\||&&|<<|>>|!)(?!=)",
715
715
  "name": "keyword.operator.logical.rust"
716
716
  },
717
717
  {
718
- "match": "&(?![&=])",
718
+ "match": "&(?![\\&=])",
719
719
  "name": "keyword.operator.borrow.and.rust"
720
720
  },
721
721
  {
@@ -723,7 +723,7 @@
723
723
  "name": "keyword.operator.assignment.rust"
724
724
  },
725
725
  {
726
- "match": "(?<![<>])=(?!=|>)",
726
+ "match": "(?<![<>])=(?![=>])",
727
727
  "name": "keyword.operator.assignment.equal.rust"
728
728
  },
729
729
  {
@@ -758,7 +758,7 @@
758
758
  "name": "punctuation.brackets.curly.rust"
759
759
  }
760
760
  },
761
- "match": "(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))"
761
+ "match": "(?:\\b|(?:(\\))|(])|(})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))"
762
762
  },
763
763
  {
764
764
  "match": "::",
@@ -781,7 +781,7 @@
781
781
  "name": "keyword.operator.access.dot.rust"
782
782
  },
783
783
  {
784
- "match": "\\.{2}(=|\\.)?",
784
+ "match": "\\.{2}([=.])?",
785
785
  "name": "keyword.operator.range.rust"
786
786
  },
787
787
  {
@@ -817,7 +817,7 @@
817
817
  "name": "entity.name.type.lifetime.rust"
818
818
  }
819
819
  },
820
- "match": "(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"
820
+ "match": "(')([a-zA-Z_][0-9a-zA-Z_]*)(?!')\\b"
821
821
  },
822
822
  {
823
823
  "captures": {
@@ -831,7 +831,7 @@
831
831
  "name": "entity.name.type.lifetime.rust"
832
832
  }
833
833
  },
834
- "match": "(\\&)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"
834
+ "match": "(&)(')([a-zA-Z_][0-9a-zA-Z_]*)(?!')\\b"
835
835
  }
836
836
  ]
837
837
  },
@@ -874,7 +874,7 @@
874
874
  "name": "keyword.operator.namespace.rust"
875
875
  }
876
876
  },
877
- "match": "(?<![A-Za-z0-9_])([A-Za-z0-9_]+)((?<!super|self)::)"
877
+ "match": "(?<![A-Za-z0-9_])([A-Za-z0-9_]+)((?<!s(?:uper|elf))::)"
878
878
  }
879
879
  ]
880
880
  },
package/grammars/sas.json CHANGED
@@ -49,7 +49,7 @@
49
49
  "name": "keyword.other.sas"
50
50
  }
51
51
  },
52
- "match": "(?i:(?:(stack|pgm|view|source)\\s?=\\s?)|(debug|nesting|nolist))"
52
+ "match": "(?i:(stack|pgm|view|source)\\s?=\\s?|(debug|nesting|nolist))"
53
53
  }
54
54
  ]
55
55
  },
@@ -138,7 +138,7 @@
138
138
  "name": "meta.function-call.sas"
139
139
  },
140
140
  {
141
- "match": "(?i:\\b(_n_|_error_)\\b)",
141
+ "match": "(?i:\\b(_(?:n_|error_))\\b)",
142
142
  "name": "variable.language.sas"
143
143
  },
144
144
  {
@@ -147,7 +147,7 @@
147
147
  "name": "support.class.sas"
148
148
  }
149
149
  },
150
- "match": "\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards|cards4|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cos|cosh|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines|datalines4|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erf|erfc|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipname|fipnamel|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|index|indexc|indexw|infile|informat|initcmd|initstmt|inner|input|inputc|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mod|mode|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|new|news|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource|nosource2|nosplash|nosymbolgen|note|notes|notitle|notitles|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p(1|5|10|25|50|75|90|95|99)|pad|pad2|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peek|peekc|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|put|putc|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s|s2|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sin|sinh|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stname|stnamel|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|table|tables|tan|tanh|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trim|trimn|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varray|varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|vinformatn|vinformatnx|vinformatw|vinformatwx|vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|vnamex|vnferr|vtype|vtypex|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsum|wsumx|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipname|zipnamel|zipstate))\\b",
150
+ "match": "\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards|cards4|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cos|cosh|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines|datalines4|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erf|erfc|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipname|fipnamel|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|index|indexc|indexw|infile|informat|initcmd|initstmt|inner|input|inputc|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mod|mode|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|new|news|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource|nosource2|nosplash|nosymbolgen|note|notes|notitle|notitles|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p([15]|10|25|50|75|90|95|99)|pad|pad2|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peek|peekc|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|put|putc|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s|s2|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sin|sinh|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stname|stnamel|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|table|tables|tan|tanh|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trim|trimn|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varray|varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|vinformatn|vinformatnx|vinformatw|vinformatwx|vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|vnamex|vnferr|vtype|vtypex|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsum|wsumx|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipname|zipnamel|zipstate))\\b",
151
151
  "name": "support.function.sas"
152
152
  }
153
153
  ],
@@ -155,8 +155,8 @@
155
155
  "blockComment": {
156
156
  "patterns": [
157
157
  {
158
- "begin": "\\/\\*",
159
- "end": "\\*\\/",
158
+ "begin": "/\\*",
159
+ "end": "\\*/",
160
160
  "name": "comment.block.slashstar.sas"
161
161
  }
162
162
  ]
@@ -164,7 +164,7 @@
164
164
  "constant": {
165
165
  "patterns": [
166
166
  {
167
- "match": "(?<![&\\}])\\b[0-9]*\\.?[0-9]+([eEdD][-+]?[0-9]+)?\\b",
167
+ "match": "(?<![\\&}])\\b[0-9]*\\.?[0-9]+([eEdD][\\-+]?[0-9]+)?\\b",
168
168
  "name": "constant.numeric.sas"
169
169
  },
170
170
  {
@@ -227,7 +227,7 @@
227
227
  "dataSetOptions": {
228
228
  "patterns": [
229
229
  {
230
- "match": "(?<=\\s|\\(|\\))(?i:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\\s?=",
230
+ "match": "(?<=[\\s()])(?i:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\\s?=",
231
231
  "name": "keyword.other.sas"
232
232
  }
233
233
  ]
@@ -243,7 +243,7 @@
243
243
  "operator": {
244
244
  "patterns": [
245
245
  {
246
- "match": "([\\+\\-\\*\\^\\/])",
246
+ "match": "([+\\-*\\^/])",
247
247
  "name": "keyword.operator.arithmetic.sas"
248
248
  },
249
249
  {
@@ -251,7 +251,7 @@
251
251
  "name": "keyword.operator.comparison.sas"
252
252
  },
253
253
  {
254
- "match": "([¬<>^~]?=(:)?|>|<|\\||!|¦|¬|^|~|<>|><|\\|\\|)",
254
+ "match": "([¬<>\\^~]?=(:)?|[><|!¦¬]|^|~|<>|><|\\|\\|)",
255
255
  "name": "keyword.operator.sas"
256
256
  }
257
257
  ]
@@ -64,13 +64,13 @@
64
64
  "include": "#placeholder-selector"
65
65
  },
66
66
  {
67
- "begin": "\\$[a-zA-Z0-9_-]+(?=:)",
67
+ "begin": "\\$[a-zA-Z0-9_\\-]+(?=:)",
68
68
  "captures": {
69
69
  "0": {
70
70
  "name": "variable.other.name"
71
71
  }
72
72
  },
73
- "end": "$\\n?|(?=\\)\\s\\)|\\)\\n)",
73
+ "end": "$\\n?|(?=\\)(?:\\s\\)|\\n))",
74
74
  "name": "sass.script.maps",
75
75
  "patterns": [
76
76
  {
@@ -151,13 +151,13 @@
151
151
  "include": "#dotdotdot"
152
152
  },
153
153
  {
154
- "begin": "@include|\\+(?!\\W|\\d)",
154
+ "begin": "@include|\\+(?![\\W\\d])",
155
155
  "captures": {
156
156
  "0": {
157
157
  "name": "keyword.control.at-rule.css.sass"
158
158
  }
159
159
  },
160
- "end": "(?=\\n|\\()",
160
+ "end": "(?=[\\n(])",
161
161
  "name": "support.function.name.sass.library"
162
162
  },
163
163
  {
@@ -227,19 +227,19 @@
227
227
  "name": "support.function.name.sass",
228
228
  "patterns": [
229
229
  {
230
- "match": "[\\w-]+",
230
+ "match": "[\\w\\-]+",
231
231
  "name": "entity.name.function"
232
232
  }
233
233
  ]
234
234
  },
235
235
  {
236
236
  "begin": "@",
237
- "end": "$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))",
237
+ "end": "$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)([\\s,]))",
238
238
  "name": "keyword.control.at-rule.css.sass"
239
239
  },
240
240
  {
241
- "begin": "(?<!\\-|\\()\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|u|slot)\\b(?!-|\\)|:\\s)|&",
242
- "end": "$\\n?|(?=\\s|,|\\(|\\)|\\.|\\#|\\[|>|-|_)",
241
+ "begin": "(?<![\\-(])\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|u|slot)\\b(?![\\-)]|:\\s)|&",
242
+ "end": "$\\n?|(?=[\\s,().#\\[>\\-_])",
243
243
  "name": "entity.name.tag.css.sass.symbol",
244
244
  "patterns": [
245
245
  {
@@ -252,7 +252,7 @@
252
252
  },
253
253
  {
254
254
  "begin": "#",
255
- "end": "$\\n?|(?=\\s|,|\\(|\\)|\\.|\\[|>)",
255
+ "end": "$\\n?|(?=[\\s,().\\[>])",
256
256
  "name": "entity.other.attribute-name.id.css.sass",
257
257
  "patterns": [
258
258
  {
@@ -264,8 +264,8 @@
264
264
  ]
265
265
  },
266
266
  {
267
- "begin": "\\.|(?<=&)(-|_)",
268
- "end": "$\\n?|(?=\\s|,|\\(|\\)|\\[|>)",
267
+ "begin": "\\.|(?<=&)([\\-_])",
268
+ "end": "$\\n?|(?=[\\s,()\\[>])",
269
269
  "name": "entity.other.attribute-name.class.css.sass",
270
270
  "patterns": [
271
271
  {
@@ -278,7 +278,7 @@
278
278
  },
279
279
  {
280
280
  "begin": "\\[",
281
- "end": "\\]",
281
+ "end": "]",
282
282
  "name": "entity.other.attribute-selector.sass",
283
283
  "patterns": [
284
284
  {
@@ -288,20 +288,20 @@
288
288
  "include": "#single-quoted"
289
289
  },
290
290
  {
291
- "match": "\\^|\\$|\\*|~",
291
+ "match": "[\\^$*~]",
292
292
  "name": "keyword.other.regex.sass"
293
293
  }
294
294
  ]
295
295
  },
296
296
  {
297
- "match": "^((?<=\\]|\\)|not\\(|\\*|>|>\\s)|\n*):[a-z:-]+|(::|:-)[a-z:-]+",
297
+ "match": "^((?<=[\\])]|not\\(|[*>]|>\\s)|\\n*):[a-z:\\-]+|(:[:\\-])[a-z:\\-]+",
298
298
  "name": "entity.other.attribute-name.pseudo-class.css.sass"
299
299
  },
300
300
  {
301
301
  "include": "#module"
302
302
  },
303
303
  {
304
- "match": "[\\w-]*\\(",
304
+ "match": "[\\w\\-]*\\(",
305
305
  "name": "entity.name.function"
306
306
  },
307
307
  {
@@ -314,7 +314,7 @@
314
314
  "name": "meta.property-list.css.sass.prop",
315
315
  "patterns": [
316
316
  {
317
- "match": "(?<=:)[a-z-]+\\s",
317
+ "match": "(?<=:)[a-z\\-]+\\s",
318
318
  "name": "support.type.property-name.css.sass.prop.name"
319
319
  },
320
320
  {
@@ -352,7 +352,7 @@
352
352
  "name": "variable.css"
353
353
  },
354
354
  {
355
- "match": "[\\w-]*\\(",
355
+ "match": "[\\w\\-]*\\(",
356
356
  "name": "entity.name.function"
357
357
  },
358
358
  {
@@ -395,8 +395,8 @@
395
395
  "include": "#function-content"
396
396
  },
397
397
  {
398
- "begin": "(?<=})(?!\\n|\\(|\\)|[a-zA-Z0-9_-]+:)",
399
- "end": "\\s|(?=,|\\.|\\[|\\)|\\n)",
398
+ "begin": "(?<=})(?![\\n()]|[a-zA-Z0-9_\\-]+:)",
399
+ "end": "\\s|(?=[,.\\[)\\n])",
400
400
  "name": "entity.name.tag.css.sass",
401
401
  "patterns": [
402
402
  {
@@ -411,7 +411,7 @@
411
411
  "include": "#operator"
412
412
  },
413
413
  {
414
- "match": "[a-z-]+((?=:|#{))",
414
+ "match": "[a-z\\-]+((?=:|#\\{))",
415
415
  "name": "support.type.property-name.css.sass.prop.name"
416
416
  },
417
417
  {
@@ -431,16 +431,16 @@
431
431
  "name": "comment.punctuation.comma.sass"
432
432
  },
433
433
  "comment-param": {
434
- "match": "\\@(\\w+)",
434
+ "match": "@(\\w+)",
435
435
  "name": "storage.type.class.jsdoc"
436
436
  },
437
437
  "comment-tag": {
438
- "begin": "(?<={{)",
438
+ "begin": "(?<=\\{\\{)",
439
439
  "end": "(?=}})",
440
440
  "name": "comment.tag.sass"
441
441
  },
442
442
  "curly-brackets": {
443
- "match": "{|}",
443
+ "match": "[{}]",
444
444
  "name": "invalid"
445
445
  },
446
446
  "dotdotdot": {
@@ -472,7 +472,7 @@
472
472
  "name": "keyword.other.important.css.sass"
473
473
  },
474
474
  "function": {
475
- "match": "(?<=[\\s|\\(|,|:])(?!url|format|attr)[a-zA-Z0-9_-][\\w-]*(?=\\()",
475
+ "match": "(?<=[\\s|(,:])(?!url|format|attr)[a-zA-Z0-9_\\-][\\w\\-]*(?=\\()",
476
476
  "name": "support.function.name.sass"
477
477
  },
478
478
  "function-content": {
@@ -485,7 +485,7 @@
485
485
  "name": "constant.character.css.sass"
486
486
  },
487
487
  "interpolation": {
488
- "begin": "#{",
488
+ "begin": "#\\{",
489
489
  "end": "}",
490
490
  "name": "support.function.interpolation.sass",
491
491
  "patterns": [
@@ -521,15 +521,15 @@
521
521
  "name": "constant.numeric.module.dot"
522
522
  }
523
523
  },
524
- "match": "([\\w-]+?)(\\.)",
524
+ "match": "([\\w\\-]+?)(\\.)",
525
525
  "name": "constant.character.module"
526
526
  },
527
527
  "numeric": {
528
- "match": "(-|\\.)?[0-9]+(\\.[0-9]+)?",
528
+ "match": "([\\-.])?[0-9]+(\\.[0-9]+)?",
529
529
  "name": "constant.numeric.css.sass"
530
530
  },
531
531
  "operator": {
532
- "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~",
532
+ "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|[*/%=!<>~]",
533
533
  "name": "keyword.operator.sass"
534
534
  },
535
535
  "parent-selector": {
@@ -550,15 +550,15 @@
550
550
  "name": "entity.other.inherited-class.placeholder-selector.css.sass"
551
551
  },
552
552
  "property-value": {
553
- "match": "[a-zA-Z0-9_-]+",
553
+ "match": "[a-zA-Z0-9_\\-]+",
554
554
  "name": "meta.property-value.css.sass support.constant.property-value.css.sass"
555
555
  },
556
556
  "pseudo-class": {
557
- "match": ":[a-z:-]+",
557
+ "match": ":[a-z:\\-]+",
558
558
  "name": "entity.other.attribute-name.pseudo-class.css.sass"
559
559
  },
560
560
  "quoted-interpolation": {
561
- "begin": "#{",
561
+ "begin": "#\\{",
562
562
  "end": "}",
563
563
  "name": "support.function.interpolation.sass",
564
564
  "patterns": [
@@ -584,7 +584,7 @@
584
584
  "name": "support.type.property-name.css.sass"
585
585
  },
586
586
  "rgb-value": {
587
- "match": "(#)([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b",
587
+ "match": "(#)(\\h{3,4}|\\h{6}|\\h{8})\\b",
588
588
  "name": "constant.language.color.rgb-value.css.sass"
589
589
  },
590
590
  "semicolon": {
@@ -602,15 +602,15 @@
602
602
  ]
603
603
  },
604
604
  "unit": {
605
- "match": "(?<=[\\d]|})(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|fr|%)",
605
+ "match": "(?<=[\\d}])(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|fr|%)",
606
606
  "name": "keyword.control.unit.css.sass"
607
607
  },
608
608
  "variable": {
609
- "match": "\\$[a-zA-Z0-9_-]+",
609
+ "match": "\\$[a-zA-Z0-9_\\-]+",
610
610
  "name": "variable.other.value"
611
611
  },
612
612
  "variable-root": {
613
- "match": "\\$[a-zA-Z0-9_-]+",
613
+ "match": "\\$[a-zA-Z0-9_\\-]+",
614
614
  "name": "variable.other.root"
615
615
  }
616
616
  },