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
@@ -22,7 +22,7 @@
22
22
  ]
23
23
  }
24
24
  },
25
- "match": "^(?:((?:\\(\\S+\\)\\s*)?(?:sh\\S*?|\\w+\\S+[@:]\\S+(?:\\s+\\S+)?|\\[\\S+?[@:][^\\n]+?\\].*?))\\s*)?([>$#%❯➜]|\\p{Greek})\\s+(.*)$"
25
+ "match": "^(?:((?:\\(\\S+\\)\\s*)?(?:sh\\S*?|\\w+\\S+[@:]\\S+(?:\\s+\\S+)?|\\[\\S+?[@:]\\N+?].*?))\\s*)?([>$#%❯➜\\p{Greek}])\\s+(.*)$"
26
26
  },
27
27
  {
28
28
  "match": "^.+$",
@@ -4,7 +4,7 @@
4
4
  "st"
5
5
  ],
6
6
  "foldingStartMarker": "\\[",
7
- "foldingStopMarker": "^\\s*\\]|^\\s\\]",
7
+ "foldingStopMarker": "^(?:\\s*]|\\s])",
8
8
  "name": "smalltalk",
9
9
  "patterns": [
10
10
  {
@@ -67,11 +67,11 @@
67
67
  "include": "#numeric"
68
68
  },
69
69
  {
70
- "match": "<(?!<|=)|>(?!<|=|>)|<=|>=|=|==|~=|~~|>>|\\^",
70
+ "match": "<(?![<=])|>(?![<=>])|<=|>=|=|==|~=|~~|>>|\\^",
71
71
  "name": "keyword.operator.comparison.smalltalk"
72
72
  },
73
73
  {
74
- "match": "(\\*|\\+|\\-|/|\\\\)",
74
+ "match": "([*+\\-/\\\\])",
75
75
  "name": "keyword.operator.arithmetic.smalltalk"
76
76
  },
77
77
  {
@@ -130,7 +130,7 @@
130
130
  "name": "punctuation.definition.constant.smalltalk"
131
131
  }
132
132
  },
133
- "match": "(?>[a-zA-Z_]\\w*(?>[?!])?)(:)(?!:)",
133
+ "match": "(?>[a-zA-Z_]\\w*[?!]?)(:)(?!:)",
134
134
  "name": "constant.other.messages.smalltalk"
135
135
  },
136
136
  {
@@ -149,7 +149,7 @@
149
149
  "name": "punctuation.definition.constant.begin.smalltalk"
150
150
  }
151
151
  ],
152
- "end": "\\]",
152
+ "end": "]",
153
153
  "endCaptures": [
154
154
  {
155
155
  "name": "punctuation.definition.constant.end.smalltalk"
@@ -176,11 +176,11 @@
176
176
  "name": "keyword.control.import"
177
177
  }
178
178
  },
179
- "end": "(?=\\;)",
179
+ "end": "(?=;)",
180
180
  "patterns": [
181
181
  {
182
182
  "begin": "((?=\\{))",
183
- "end": "((?=\\}))",
183
+ "end": "((?=}))",
184
184
  "patterns": [
185
185
  {
186
186
  "match": "\\b(\\w+)\\b",
@@ -222,7 +222,7 @@
222
222
  "name": "constant.other.pragma"
223
223
  }
224
224
  },
225
- "match": "\\b(pragma)(?:\\s+([A-Za-z_]\\w+)\\s+([^\\s]+))?\\b"
225
+ "match": "\\b(pragma)(?:\\s+([A-Za-z_]\\w+)\\s+(\\S+))?\\b"
226
226
  },
227
227
  "control-unchecked": {
228
228
  "match": "\\b(unchecked)\\b",
@@ -383,7 +383,7 @@
383
383
  "name": "entity.name.type.enum"
384
384
  }
385
385
  },
386
- "end": "(?=\\})",
386
+ "end": "(?=})",
387
387
  "patterns": [
388
388
  {
389
389
  "match": "\\b(\\w+)\\b",
@@ -479,7 +479,7 @@
479
479
  "name": "entity.name.function"
480
480
  }
481
481
  },
482
- "end": "(?=\\{|;)",
482
+ "end": "(?=[{;])",
483
483
  "patterns": [
484
484
  {
485
485
  "include": "#natspec"
@@ -777,7 +777,7 @@
777
777
  "name": "entity.name.type.struct"
778
778
  }
779
779
  },
780
- "end": "(?=\\})",
780
+ "end": "(?=})",
781
781
  "patterns": [
782
782
  {
783
783
  "include": "#type-primitive"
@@ -837,7 +837,7 @@
837
837
  "name": "keyword.control.exceptions"
838
838
  },
839
839
  {
840
- "match": "\\b(selfdestruct|suicide)\\b",
840
+ "match": "\\b(s(?:elfdestruct|uicide))\\b",
841
841
  "name": "keyword.control.contract"
842
842
  },
843
843
  {
@@ -1012,11 +1012,11 @@
1012
1012
  "name": "constant.numeric.decimal"
1013
1013
  },
1014
1014
  "number-hex": {
1015
- "match": "\\b(0[xX][a-fA-F0-9]+)\\b",
1015
+ "match": "\\b(0[xX]\\h+)\\b",
1016
1016
  "name": "constant.numeric.hexadecimal"
1017
1017
  },
1018
1018
  "number-scientific": {
1019
- "match": "\\b(?:0\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\.\\d{1,2})?)(?:e[+-]?[0-9_]+)?",
1019
+ "match": "\\b(?:0\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\.\\d{1,2})?)(?:e[+\\-]?[0-9_]+)?",
1020
1020
  "name": "constant.numeric.scientific"
1021
1021
  },
1022
1022
  "operator": {
@@ -1039,19 +1039,19 @@
1039
1039
  ]
1040
1040
  },
1041
1041
  "operator-arithmetic": {
1042
- "match": "(\\+|\\-|\\/|\\*)",
1042
+ "match": "([+\\-/*])",
1043
1043
  "name": "keyword.operator.arithmetic"
1044
1044
  },
1045
1045
  "operator-assignment": {
1046
- "match": "(\\:?=)",
1046
+ "match": "(:?=)",
1047
1047
  "name": "keyword.operator.assignment"
1048
1048
  },
1049
1049
  "operator-binary": {
1050
- "match": "(\\^|\\&|\\||<<|>>)",
1050
+ "match": "([\\^\\&|]|<<|>>)",
1051
1051
  "name": "keyword.operator.binary"
1052
1052
  },
1053
1053
  "operator-logic": {
1054
- "match": "(==|\\!=|<(?!<)|<=|>(?!>)|>=|\\&\\&|\\|\\||\\:(?!=)|\\?|\\!)",
1054
+ "match": "(==|!=|<(?!<)|<=|>(?!>)|>=|&&|\\|\\||:(?!=)|[?!])",
1055
1055
  "name": "keyword.operator.logic"
1056
1056
  },
1057
1057
  "operator-mapping": {
@@ -1093,7 +1093,7 @@
1093
1093
  "name": "punctuation.brace.curly.begin"
1094
1094
  },
1095
1095
  {
1096
- "match": "\\}",
1096
+ "match": "}",
1097
1097
  "name": "punctuation.brace.curly.end"
1098
1098
  },
1099
1099
  {
@@ -1101,7 +1101,7 @@
1101
1101
  "name": "punctuation.brace.square.begin"
1102
1102
  },
1103
1103
  {
1104
- "match": "\\]",
1104
+ "match": "]",
1105
1105
  "name": "punctuation.brace.square.end"
1106
1106
  },
1107
1107
  {
@@ -1117,11 +1117,11 @@
1117
1117
  "string": {
1118
1118
  "patterns": [
1119
1119
  {
1120
- "match": "\\\"(?:\\\\\"|[^\\\"])*\\\"",
1120
+ "match": "\"(?:\\\\\"|[^\"])*\"",
1121
1121
  "name": "string.quoted.double"
1122
1122
  },
1123
1123
  {
1124
- "match": "\\'(?:\\\\'|[^\\'])*\\'",
1124
+ "match": "'(?:\\\\'|[^'])*'",
1125
1125
  "name": "string.quoted.single"
1126
1126
  }
1127
1127
  ]
@@ -1149,7 +1149,7 @@
1149
1149
  "type-primitive": {
1150
1150
  "patterns": [
1151
1151
  {
1152
- "begin": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b(?:\\[\\])(\\()",
1152
+ "begin": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b\\[](\\()",
1153
1153
  "beginCaptures": {
1154
1154
  "1": {
1155
1155
  "name": "support.type.primitive"
@@ -1185,7 +1185,7 @@
1185
1185
  "name": "variable.parameter.function"
1186
1186
  }
1187
1187
  },
1188
- "match": "\\b(\\_\\w+)\\b"
1188
+ "match": "\\b(_\\w+)\\b"
1189
1189
  },
1190
1190
  {
1191
1191
  "captures": {
@@ -1193,7 +1193,7 @@
1193
1193
  "name": "support.variable.property"
1194
1194
  }
1195
1195
  },
1196
- "match": "(?:\\.)(\\w+)\\b"
1196
+ "match": "\\.(\\w+)\\b"
1197
1197
  },
1198
1198
  {
1199
1199
  "captures": {
package/grammars/soy.json CHANGED
@@ -46,7 +46,7 @@
46
46
  "name": "entity.name.type.soy"
47
47
  }
48
48
  },
49
- "match": "{(alias)\\s+([\\w\\.]+)(?:\\s+(as)\\s+(\\w+))?}"
49
+ "match": "\\{(alias)\\s+([\\w.]+)(?:\\s+(as)\\s+(\\w+))?}"
50
50
  },
51
51
  "attribute": {
52
52
  "captures": {
@@ -109,7 +109,7 @@
109
109
  "call": {
110
110
  "patterns": [
111
111
  {
112
- "begin": "{((?:del)?call)\\s+([\\w\\.]+)(?=[^/]*?})",
112
+ "begin": "\\{((?:del)?call)\\s+([\\w.]+)(?=[^/]*?})",
113
113
  "beginCaptures": {
114
114
  "1": {
115
115
  "name": "storage.type.function.soy"
@@ -118,7 +118,7 @@
118
118
  "name": "entity.name.function.soy"
119
119
  }
120
120
  },
121
- "end": "{/(\\1)}",
121
+ "end": "\\{/(\\1)}",
122
122
  "endCaptures": {
123
123
  "1": {
124
124
  "name": "storage.type.function.soy"
@@ -140,7 +140,7 @@
140
140
  ]
141
141
  },
142
142
  {
143
- "begin": "{((?:del)?call)(\\s+[\\w\\.]+)",
143
+ "begin": "\\{((?:del)?call)(\\s+[\\w.]+)",
144
144
  "beginCaptures": {
145
145
  "1": {
146
146
  "name": "storage.type.function.soy"
@@ -182,13 +182,13 @@
182
182
  ]
183
183
  },
184
184
  {
185
- "match": "^\\s*(\\/\\/.*)$",
185
+ "match": "^\\s*(//.*)$",
186
186
  "name": "comment.line.double-slash.soy"
187
187
  }
188
188
  ]
189
189
  },
190
190
  "condition": {
191
- "begin": "{/?(if|elseif|switch|case)\\s*",
191
+ "begin": "\\{/?(if|elseif|switch|case)\\s*",
192
192
  "beginCaptures": {
193
193
  "1": {
194
194
  "name": "keyword.control.soy"
@@ -210,10 +210,10 @@
210
210
  "name": "keyword.control.soy"
211
211
  }
212
212
  },
213
- "match": "{(else|ifempty|default)}"
213
+ "match": "\\{(else|ifempty|default)}"
214
214
  },
215
215
  "css": {
216
- "begin": "{(css)\\s+",
216
+ "begin": "\\{(css)\\s+",
217
217
  "beginCaptures": {
218
218
  "1": {
219
219
  "name": "keyword.other.soy"
@@ -235,7 +235,7 @@
235
235
  "name": "entity.name.type.soy"
236
236
  }
237
237
  },
238
- "match": "{(delpackage)\\s+([\\w\\.]+)}"
238
+ "match": "\\{(delpackage)\\s+([\\w.]+)}"
239
239
  },
240
240
  "expression": {
241
241
  "patterns": [
@@ -263,7 +263,7 @@
263
263
  ]
264
264
  },
265
265
  "for": {
266
- "begin": "{/?(foreach|for)(?=\\s|})",
266
+ "begin": "\\{/?(for(?:each|))(?=[\\s}])",
267
267
  "beginCaptures": {
268
268
  "1": {
269
269
  "name": "keyword.control.soy"
@@ -300,7 +300,7 @@
300
300
  "let": {
301
301
  "patterns": [
302
302
  {
303
- "begin": "{(let)\\s+(\\$\\w+\\s*:)",
303
+ "begin": "\\{(let)\\s+(\\$\\w+\\s*:)",
304
304
  "beginCaptures": {
305
305
  "1": {
306
306
  "name": "storage.type.soy"
@@ -320,7 +320,7 @@
320
320
  ]
321
321
  },
322
322
  {
323
- "begin": "{(let)\\s+(\\$\\w+)",
323
+ "begin": "\\{(let)\\s+(\\$\\w+)",
324
324
  "beginCaptures": {
325
325
  "1": {
326
326
  "name": "storage.type.soy"
@@ -329,7 +329,7 @@
329
329
  "name": "variable.soy"
330
330
  }
331
331
  },
332
- "end": "{/(\\1)}",
332
+ "end": "\\{/(\\1)}",
333
333
  "endCaptures": {
334
334
  "1": {
335
335
  "name": "storage.type.soy"
@@ -347,13 +347,13 @@
347
347
  ]
348
348
  },
349
349
  "literal": {
350
- "begin": "{(literal)}",
350
+ "begin": "\\{(literal)}",
351
351
  "beginCaptures": {
352
352
  "1": {
353
353
  "name": "keyword.other.soy"
354
354
  }
355
355
  },
356
- "end": "{/(\\1)}",
356
+ "end": "\\{/(\\1)}",
357
357
  "endCaptures": {
358
358
  "1": {
359
359
  "name": "keyword.other.soy"
@@ -368,7 +368,7 @@
368
368
  }
369
369
  },
370
370
  "end": "}",
371
- "match": "{/?(msg|fallbackmsg)",
371
+ "match": "\\{/?(msg|fallbackmsg)",
372
372
  "patterns": [
373
373
  {
374
374
  "include": "#attribute"
@@ -384,24 +384,24 @@
384
384
  "name": "entity.name.type.soy"
385
385
  }
386
386
  },
387
- "match": "{(namespace)\\s+([\\w\\.]+)}"
387
+ "match": "\\{(namespace)\\s+([\\w.]+)}"
388
388
  },
389
389
  "null": {
390
390
  "match": "null",
391
391
  "name": "language.constant.null.soy"
392
392
  },
393
393
  "number": {
394
- "match": "-?\\.?\\d+|\\d[\\.\\d]*",
394
+ "match": "-?\\.?\\d+|\\d[.\\d]*",
395
395
  "name": "language.constant.numeric"
396
396
  },
397
397
  "operator": {
398
- "match": "-|not|\\*|\\/|%|\\+|<=|>=|<|>|==|!=|and|or|\\?:|\\?|:",
398
+ "match": "-|not|[*/%+]|<=|>=|[<>]|==|!=|and|or|\\?:|[?:]",
399
399
  "name": "keyword.operator.soy"
400
400
  },
401
401
  "param": {
402
402
  "patterns": [
403
403
  {
404
- "begin": "{(param)\\s+(\\w+\\s*\\:)",
404
+ "begin": "\\{(param)\\s+(\\w+\\s*:)",
405
405
  "beginCaptures": {
406
406
  "1": {
407
407
  "name": "storage.type.soy"
@@ -418,7 +418,7 @@
418
418
  ]
419
419
  },
420
420
  {
421
- "begin": "{(param)\\s+(\\w+)",
421
+ "begin": "\\{(param)\\s+(\\w+)",
422
422
  "beginCaptures": {
423
423
  "1": {
424
424
  "name": "storage.type.soy"
@@ -427,7 +427,7 @@
427
427
  "name": "variable.parameter.soy"
428
428
  }
429
429
  },
430
- "end": "{/(\\1)}",
430
+ "end": "\\{/(\\1)}",
431
431
  "endCaptures": {
432
432
  "1": {
433
433
  "name": "storage.type.soy"
@@ -445,7 +445,7 @@
445
445
  ]
446
446
  },
447
447
  "print": {
448
- "begin": "{(print)?\\s*",
448
+ "begin": "\\{(print)?\\s*",
449
449
  "beginCaptures": {
450
450
  "1": {
451
451
  "name": "keyword.other.soy"
@@ -472,7 +472,7 @@
472
472
  "name": "language.support.constant"
473
473
  }
474
474
  },
475
- "match": "{(sp|nil|\\\\r|\\\\n|\\\\t|lb|rb)}"
475
+ "match": "\\{(sp|nil|\\\\r|\\\\n|\\\\t|lb|rb)}"
476
476
  },
477
477
  "string": {
478
478
  "begin": "'",
@@ -480,13 +480,13 @@
480
480
  "name": "string.quoted.single.soy",
481
481
  "patterns": [
482
482
  {
483
- "match": "\\\\(?:[\\\\'\"nrtbf]|u[0-9a-fA-F]{4})",
483
+ "match": "\\\\(?:[\\\\'\"nrtbf]|u\\h{4})",
484
484
  "name": "constant.character.escape.soy"
485
485
  }
486
486
  ]
487
487
  },
488
488
  "template": {
489
- "begin": "{(template|deltemplate)\\s([\\w\\.]+)",
489
+ "begin": "\\{(template|deltemplate)\\s([\\w.]+)",
490
490
  "beginCaptures": {
491
491
  "1": {
492
492
  "name": "storage.type.soy"
@@ -495,7 +495,7 @@
495
495
  "name": "entity.name.function.soy"
496
496
  }
497
497
  },
498
- "end": "{(/\\1)}",
498
+ "end": "\\{(/\\1)}",
499
499
  "endCaptures": {
500
500
  "1": {
501
501
  "name": "storage.type.soy"
@@ -503,7 +503,7 @@
503
503
  },
504
504
  "patterns": [
505
505
  {
506
- "begin": "{(@param)(\\??)\\s+(\\S+\\s*:)",
506
+ "begin": "\\{(@param)(\\??)\\s+(\\S+\\s*:)",
507
507
  "beginCaptures": {
508
508
  "1": {
509
509
  "name": "keyword.parameter.soy"
@@ -565,7 +565,7 @@
565
565
  ]
566
566
  },
567
567
  "variable-ref": {
568
- "match": "\\$[\\a-zA-Z_][\\w\\.]*",
568
+ "match": "\\$[\\a-zA-Z_][\\w.]*",
569
569
  "name": "variable.other.soy"
570
570
  },
571
571
  "variant": {
@@ -592,7 +592,7 @@
592
592
  ]
593
593
  },
594
594
  "xid": {
595
- "begin": "{(xid)\\s+",
595
+ "begin": "\\{(xid)\\s+",
596
596
  "beginCaptures": {
597
597
  "1": {
598
598
  "name": "keyword.other.soy"
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "repository": {
27
27
  "expression-operators": {
28
- "match": "(?:\\|\\||&&|=|!=|<|>|<=|>=|\\*|/|\\+|-|\\||\\^|\\?|\\!)",
28
+ "match": "(?:\\|\\||&&|=|!=|[<>]|<=|>=|[*/+\\-|\\^?!])",
29
29
  "name": "support.class.sparql"
30
30
  },
31
31
  "functions": {
@@ -7,7 +7,7 @@
7
7
  "name": "splunk",
8
8
  "patterns": [
9
9
  {
10
- "match": "(?<=(\\||\\[))([\\s]*)\\b(abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|append|appendcols|appendpipe|arules|associate|audit|autoregress|bucket|bucketdir|chart|cluster|collect|concurrency|contingency|convert|correlate|crawl|datamodel|dbinspect|dbxquery|dbxlookup|dedup|delete|delta|diff|dispatch|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|file|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geostats|head|highlight|history|input|inputcsv|inputlookup|iplocation|join|kmeans|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|metadata|metasearch|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b(?=[\\s])",
10
+ "match": "(?<=([|\\[]))(\\s*)\\b(abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|append|appendcols|appendpipe|arules|associate|audit|autoregress|bucket|bucketdir|chart|cluster|collect|concurrency|contingency|convert|correlate|crawl|datamodel|dbinspect|dbxquery|dbxlookup|dedup|delete|delta|diff|dispatch|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|file|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geostats|head|highlight|history|input|inputcsv|inputlookup|iplocation|join|kmeans|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|metadata|metasearch|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b(?=\\s)",
11
11
  "name": "support.class.splunk_search"
12
12
  },
13
13
  {
@@ -19,7 +19,7 @@
19
19
  "name": "support.function.splunk_search"
20
20
  },
21
21
  {
22
- "match": "(?<=\\`)[\\w]+(?=\\(|\\`)",
22
+ "match": "(?<=`)\\w+(?=[(`])",
23
23
  "name": "entity.name.function.splunk_search"
24
24
  },
25
25
  {
@@ -27,7 +27,7 @@
27
27
  "name": "constant.numeric.splunk_search"
28
28
  },
29
29
  {
30
- "match": "(\\\\\\\\|\\\\\\||\\\\\\*|\\\\\\=)",
30
+ "match": "(\\\\[\\\\|*=])",
31
31
  "name": "contant.character.escape.splunk_search"
32
32
  },
33
33
  {
@@ -39,11 +39,11 @@
39
39
  "name": "constant.language.splunk_search"
40
40
  },
41
41
  {
42
- "match": "(?<=\\(|,|[^=]\\s{300})([^\\(\\)\\\",=]+)(?=\\)|,)",
42
+ "match": "(?<=[(,]|[^=]\\s{300})([^()\",=]+)(?=[),])",
43
43
  "name": "variable.parameter.splunk_search"
44
44
  },
45
45
  {
46
- "match": "([\\w\\.]+)(\\[\\]|\\{\\})?([\\s]*)(?=\\=)",
46
+ "match": "([\\w.]+)(\\[]|\\{})?(\\s*)(?==)",
47
47
  "name": "variable.splunk_search"
48
48
  },
49
49
  {
@@ -61,7 +61,7 @@
61
61
  "name": "string.quoted.single.splunk_search"
62
62
  },
63
63
  {
64
- "begin": "query=\\\"",
64
+ "begin": "query=\"",
65
65
  "end": "(?<!\\\\)\"",
66
66
  "name": "meta.embedded.block.sql"
67
67
  },
package/grammars/sql.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "name": "text.variable"
8
8
  },
9
9
  {
10
- "match": "(\\[)[^\\]]*(\\])",
10
+ "match": "(\\[)[^\\]]*(])",
11
11
  "name": "text.bracketed"
12
12
  },
13
13
  {
@@ -118,7 +118,7 @@
118
118
  "name": "storage.type.sql"
119
119
  }
120
120
  },
121
- "match": "(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?\n\n\t\t\t\t# special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s|tz))?\\b(?:\\((\\d+)\\))?(\\s(with|without)\\stime\\szone\\b)?\n\n\t\t\t"
121
+ "match": "(?i)\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?|\\b(timestamp)(s|tz)?\\b(?:\\((\\d+)\\))?(\\s(with(?:|out))\\stime\\szone\\b)?"
122
122
  },
123
123
  {
124
124
  "match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|nocheck|check|constraint|collate|default)\\b)",
@@ -169,11 +169,11 @@
169
169
  "name": "keyword.operator.star.sql"
170
170
  },
171
171
  {
172
- "match": "[!<>]?=|<>|<|>",
172
+ "match": "[!<>]?=|<>|[<>]",
173
173
  "name": "keyword.operator.comparison.sql"
174
174
  },
175
175
  {
176
- "match": "-|\\+|/",
176
+ "match": "[\\-+/]",
177
177
  "name": "keyword.operator.math.sql"
178
178
  },
179
179
  {
@@ -366,7 +366,7 @@
366
366
  "include": "#regexps"
367
367
  },
368
368
  {
369
- "match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b",
369
+ "match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b",
370
370
  "name": "keyword.other.sql"
371
371
  },
372
372
  {
@@ -470,7 +470,7 @@
470
470
  "name": "punctuation.definition.string.begin.sql"
471
471
  }
472
472
  },
473
- "end": "\\}",
473
+ "end": "}",
474
474
  "endCaptures": {
475
475
  "0": {
476
476
  "name": "punctuation.definition.string.end.sql"
@@ -498,7 +498,7 @@
498
498
  "name": "punctuation.definition.string.end.sql"
499
499
  }
500
500
  },
501
- "match": "(#\\{)([^\\}]*)(\\})",
501
+ "match": "(#\\{)([^}]*)(})",
502
502
  "name": "string.interpolated.sql"
503
503
  },
504
504
  "strings": {
@@ -606,7 +606,7 @@
606
606
  "name": "punctuation.definition.string.begin.sql"
607
607
  }
608
608
  },
609
- "end": "\\}",
609
+ "end": "}",
610
610
  "endCaptures": {
611
611
  "0": {
612
612
  "name": "punctuation.definition.string.end.sql"
@@ -8,7 +8,7 @@
8
8
  "name": "ssh-config",
9
9
  "patterns": [
10
10
  {
11
- "match": "\\b(A(cceptEnv|dd(ressFamily|KeysToAgent)|llow(AgentForwarding|Groups|StreamLocalForwarding|TcpForwarding|Users)|uth(enticationMethods|orized((Keys(Command(User)?|File)|Principals(Command(User)?|File)))))|B(anner|atchMode|ind(Address|Interface))|C(anonical(Domains|ize(FallbackLocal|Hostname|MaxDots|PermittedCNAMEs))|ertificateFile|hallengeResponseAuthentication|heckHostIP|hrootDirectory|iphers?|learAllForwardings|ientAlive(CountMax|Interval)|ompression(Level)?|onnect(Timeout|ionAttempts)|ontrolMaster|ontrolPath|ontrolPersist)|D(eny(Groups|Users)|isableForwarding|ynamicForward)|E(nableSSHKeysign|scapeChar|xitOnForwardFailure|xposeAuthInfo)|F(ingerprintHash|orceCommand|orward(Agent|X11(Timeout|Trusted)?))|G(atewayPorts|SSAPI(Authentication|CleanupCredentials|ClientIdentity|DelegateCredentials|KeyExchange|RenewalForcesRekey|ServerIdentity|StrictAcceptorCheck|TrustDns)|atewayPorts|lobalKnownHostsFile)|H(ashKnownHosts|ost(based(AcceptedKeyTypes|Authentication|KeyTypes|UsesNameFromPacketOnly)|Certificate|Key(Agent|Algorithms|Alias)?|Name))|I(dentit(iesOnly|y(Agent|File))|gnore(Rhosts|Unknown|UserKnownHosts)|nclude|PQoS)|K(bdInteractive(Authentication|Devices)|erberos(Authentication|GetAFSToken|OrLocalPasswd|TicketCleanup)|exAlgorithms)|L(istenAddress|ocal(Command|Forward)|oginGraceTime|ogLevel)|M(ACs|atch|ax(AuthTries|Sessions|Startups))|N(oHostAuthenticationForLocalhost|umberOfPasswordPrompts)|P(KCS11Provider|asswordAuthentication|ermit(EmptyPasswords|LocalCommand|Open|RootLogin|TTY|Tunnel|User(Environment|RC))|idFile|ort|referredAuthentications|rint(LastLog|Motd)|rotocol|roxy(Command|Jump|UseFdpass)|ubkey(AcceptedKeyTypes|Authentication))|R(Domain|SAAuthentication|ekeyLimit|emote(Command|Forward)|equestTTY|evoked(HostKeys|Keys)|hostsRSAAuthentication)|S(endEnv|erverAlive(CountMax|Interval)|treamLocalBind(Mask|Unlink)|trict(HostKeyChecking|Modes)|ubsystem|yslogFacility)|T(CPKeepAlive|rustedUserCAKeys|unnel(Device)?)|U(pdateHostKeys|se(BlacklistedKeys|DNS|Keychain|PAM|PrivilegedPort|r(KnownHostsFile)?))|V(erifyHostKeyDNS|ersionAddendum|isualHostKey)|X(11(DisplayOffset|Forwarding|UseLocalhost)|AuthLocation))\\b",
11
+ "match": "\\b(A(cceptEnv|dd(ressFamily|KeysToAgent)|llow(AgentForwarding|Groups|StreamLocalForwarding|TcpForwarding|Users)|uth(enticationMethods|orized((Keys(Command(User)?|File)|Principals(Command(User)?|File)))))|B(anner|atchMode|ind(Address|Interface))|C(anonical(Domains|ize(FallbackLocal|Hostname|MaxDots|PermittedCNAMEs))|ertificateFile|hallengeResponseAuthentication|heckHostIP|hrootDirectory|iphers?|learAllForwardings|ientAlive(CountMax|Interval)|ompression(Level)?|onnect(Timeout|ionAttempts)|ontrolMaster|ontrolPath|ontrolPersist)|D(eny(Groups|Users)|isableForwarding|ynamicForward)|E(nableSSHKeysign|scapeChar|xitOnForwardFailure|xposeAuthInfo)|F(ingerprintHash|orceCommand|orward(Agent|X11(T(?:imeout|rusted))?))|G(atewayPorts|SSAPI(Authentication|CleanupCredentials|ClientIdentity|DelegateCredentials|KeyExchange|RenewalForcesRekey|ServerIdentity|StrictAcceptorCheck|TrustDns)|atewayPorts|lobalKnownHostsFile)|H(ashKnownHosts|ost(based(AcceptedKeyTypes|Authentication|KeyTypes|UsesNameFromPacketOnly)|Certificate|Key(A(?:gent|lgorithms|lias))?|Name))|I(dentit(iesOnly|y(Agent|File))|gnore(Rhosts|Unknown|UserKnownHosts)|nclude|PQoS)|K(bdInteractive(Authentication|Devices)|erberos(Authentication|GetAFSToken|OrLocalPasswd|TicketCleanup)|exAlgorithms)|L(istenAddress|ocal(Command|Forward)|oginGraceTime|ogLevel)|M(ACs|atch|ax(AuthTries|Sessions|Startups))|N(oHostAuthenticationForLocalhost|umberOfPasswordPrompts)|P(KCS11Provider|asswordAuthentication|ermit(EmptyPasswords|LocalCommand|Open|RootLogin|TTY|Tunnel|User(Environment|RC))|idFile|ort|referredAuthentications|rint(LastLog|Motd)|rotocol|roxy(Command|Jump|UseFdpass)|ubkey(A(?:cceptedKeyTypes|uthentication)))|R(Domain|SAAuthentication|ekeyLimit|emote(Command|Forward)|equestTTY|evoked(HostKeys|Keys)|hostsRSAAuthentication)|S(endEnv|erverAlive(CountMax|Interval)|treamLocalBind(Mask|Unlink)|trict(HostKeyChecking|Modes)|ubsystem|yslogFacility)|T(CPKeepAlive|rustedUserCAKeys|unnel(Device)?)|U(pdateHostKeys|se(BlacklistedKeys|DNS|Keychain|PAM|PrivilegedPort|r(KnownHostsFile)?))|V(erifyHostKeyDNS|ersionAddendum|isualHostKey)|X(11(DisplayOffset|Forwarding|UseLocalhost)|AuthLocation))\\b",
12
12
  "name": "keyword.other.ssh-config"
13
13
  },
14
14
  {
@@ -65,7 +65,7 @@
65
65
  "name": "meta.toc-list.ssh-config"
66
66
  }
67
67
  },
68
- "match": "(?:^| |\\t)(Host)\\s+((.*))$"
68
+ "match": "(?:^|[ \\t])(Host)\\s+((.*))$"
69
69
  },
70
70
  {
71
71
  "match": "\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b",