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
@@ -72,9 +72,9 @@
72
72
  ],
73
73
  "repository": {
74
74
  "block-comment": {
75
- "begin": "\\#\\|",
75
+ "begin": "#\\|",
76
76
  "contentName": "comment.block.commonlisp",
77
- "end": "\\|\\#",
77
+ "end": "\\|#",
78
78
  "name": "comment",
79
79
  "patterns": [
80
80
  {
@@ -84,7 +84,7 @@
84
84
  ]
85
85
  },
86
86
  "class": {
87
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|\nstandard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|\ngeneric-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
87
+ "match": "(?i)(?<=^|[\\s(])(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|standard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|generic-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)(?=([\\s()]))",
88
88
  "name": "support.class.commonlisp"
89
89
  },
90
90
  "comment": {
@@ -109,31 +109,31 @@
109
109
  ]
110
110
  },
111
111
  "condition-type": {
112
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|\nsimple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|\nfloating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|\ndivision-by-zero|control-error|condition|cell-error|arithmetic-error)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
112
+ "match": "(?i)(?<=^|[\\s(])(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|simple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|floating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|division-by-zero|control-error|condition|cell-error|arithmetic-error)(?=([\\s()]))",
113
113
  "name": "support.type.exception.commonlisp"
114
114
  },
115
115
  "constant": {
116
116
  "patterns": [
117
117
  {
118
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|\nnil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|\nmost-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|\nmost-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|\nlong-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|\nleast-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|\nleast-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|\nleast-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|\nleast-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|\nlambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|\ncall-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|\nboole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
118
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|nil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|most-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|most-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|long-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|least-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|least-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|least-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|least-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|lambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|call-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|boole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)(?=([\\s()]))",
119
119
  "name": "constant.language.commonlisp"
120
120
  },
121
121
  {
122
- "match": "(?<=^|\\s|\\(|,@|,\\.|,)([+-]?[0-9]+(?:\\/[0-9]+)*|[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?|(\\#b|\\#B)[01\\/+-]+|(\\#o|\\#O)[0-7\\/+-]+|(\\#x|\\#X)[0-9a-fA-F\\/+-]+|(\\#[0-9]+[rR]?)[0-9a-zA-Z\\/+-]+)(?=(\\s|\\)))",
122
+ "match": "(?<=^|[\\s(]|,@|,\\.|,)([+\\-]?[0-9]+(?:/[0-9]+)*|[\\-+]?[0-9]*\\.?[0-9]+([eE][\\-+]?[0-9]+)?|(#[bB])[01/+\\-]+|(#[oO])[0-7/+\\-]+|(#[xX])[/+\\-\\h]+|(#[0-9]+[rR]?)[0-9a-zA-Z/+\\-]+)(?=([\\s)]))",
123
123
  "name": "constant.numeric.commonlisp"
124
124
  },
125
125
  {
126
- "match": "(?xi)\n(?<=\\s) # preceded by space\n(\\.)\n(?=\\s)",
126
+ "match": "(?i)(?<=\\s)(\\.)(?=\\s)",
127
127
  "name": "variable.other.constant.dot.commonlisp"
128
128
  },
129
129
  {
130
- "match": "(?<=^|\\s|\\(|,@|,\\.|,)([+-]?[0-9]*\\.[0-9]*((e|s|f|d|l|E|S|F|D|L)[+-]?[0-9]+)?|[+-]?[0-9]+(\\.[0-9]*)?(e|s|f|d|l|E|S|F|D|L)[+-]?[0-9]+)(?=(\\s|\\)))",
130
+ "match": "(?<=^|[\\s(]|,@|,\\.|,)([+\\-]?[0-9]*\\.[0-9]*(([esfdlESFDL])[+\\-]?[0-9]+)?|[+\\-]?[0-9]+(\\.[0-9]*)?([esfdlESFDL])[+\\-]?[0-9]+)(?=([\\s)]))",
131
131
  "name": "constant.numeric.commonlisp"
132
132
  }
133
133
  ]
134
134
  },
135
135
  "declaration": {
136
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
136
+ "match": "(?i)(?<=^|[\\s(])(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)(?=([\\s()]))",
137
137
  "name": "storage.type.function.declaration.commonlisp"
138
138
  },
139
139
  "def-name": {
@@ -175,7 +175,7 @@
175
175
  ]
176
176
  }
177
177
  },
178
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by (\n(defun|defsetf|defmethod|defmacro|define-symbol-macro|define-setf-expander|\ndefine-modify-macro|define-method-combination|define-compiler-macro|defgeneric) #1 keywords\n\\s+\n( \\(\\s*\n ([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+) #3\n \\s*\n ((,@|,\\.|,)?) #4\n ([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) #6 (<3>something+ <6>name)\n |\n ((,@|,\\.|,)?) #7\n ([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) #9 name\n) #2\n(?=(\\s|\\(|\\)))"
178
+ "match": "(?i)(?<=^|[\\s(])(def(?:un|setf|method|macro|ine-symbol-macro|ine-setf-expander|ine-modify-macro|ine-method-combination|ine-compiler-macro|generic))\\s+(\\(\\s*([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+)\\s*((,(?:[@.]|))?)([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)|((,(?:[@.]|))?)([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?))(?=([\\s()]))"
179
179
  },
180
180
  {
181
181
  "captures": {
@@ -186,7 +186,7 @@
186
186
  "name": "entity.name.type.commonlisp"
187
187
  }
188
188
  },
189
- "match": "(?xi)\n(?<=^|\\s|\\()\n(deftype|defpackage|define-condition|defclass) # keywords\n\\s+\n([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) # name\n(?=(\\s|\\(|\\)))"
189
+ "match": "(?i)(?<=^|[\\s(])(def(?:type|package|ine-condition|class))\\s+([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)(?=([\\s()]))"
190
190
  },
191
191
  {
192
192
  "captures": {
@@ -205,7 +205,7 @@
205
205
  ]
206
206
  }
207
207
  },
208
- "match": "(?xi)\n(?<=^|\\s|\\()\n(defconstant) # keywords\n\\s+\n([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) # name\n(?=(\\s|\\(|\\)))"
208
+ "match": "(?i)(?<=^|[\\s(])(defconstant)\\s+([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)(?=([\\s()]))"
209
209
  },
210
210
  {
211
211
  "captures": {
@@ -213,7 +213,7 @@
213
213
  "name": "storage.type.function.defname.commonlisp"
214
214
  }
215
215
  },
216
- "match": "(?xi)\n(?<=^|\\s|\\()\n(defvar|defparameter) # keywords\n\\s+\n(?=(\\s|\\(|\\)))"
216
+ "match": "(?i)(?<=^|[\\s(])(def(?:var|parameter))\\s+(?=([\\s()]))"
217
217
  },
218
218
  {
219
219
  "captures": {
@@ -224,7 +224,7 @@
224
224
  "name": "entity.name.type.commonlisp"
225
225
  }
226
226
  },
227
- "match": "(?xi)\n(?<=^|\\s|\\()\n(defstruct) # keywords\n\\s+\\(?\\s*\n([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) # name\n(?=(\\s|\\(|\\)))"
227
+ "match": "(?i)(?<=^|[\\s(])(defstruct)\\s+\\(?\\s*([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)(?=([\\s()]))"
228
228
  },
229
229
  {
230
230
  "captures": {
@@ -243,58 +243,58 @@
243
243
  ]
244
244
  }
245
245
  },
246
- "match": "(?xi)\n(?<=^|\\s|\\()\n(macrolet|labels|flet) # keywords\n\\s+\\(\\s*\\(\\s*\n([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) # name\n(?=(\\s|\\(|\\)))"
246
+ "match": "(?i)(?<=^|[\\s(])(macrolet|labels|flet)\\s+\\(\\s*\\(\\s*([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)(?=([\\s()]))"
247
247
  }
248
248
  ]
249
249
  },
250
250
  "escape": {
251
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:\\#\\\\\\S+?)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
251
+ "match": "(?i)(?<=^|[\\s(])#\\\\\\S+?(?=([\\s()]))",
252
252
  "name": "constant.character.escape.commonlisp"
253
253
  },
254
254
  "function": {
255
255
  "patterns": [
256
256
  {
257
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|\n rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf|get|fourth|first|\n find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|\n cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|\n caaar|caaadr|caaaar|bit|aref)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
257
+ "match": "(?i)(?<=^|[\\s(]|#')(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf|get|fourth|first|find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|caaar|caaadr|caaaar|bit|aref)(?=([\\s()]))",
258
258
  "name": "support.function.accessor.commonlisp"
259
259
  },
260
260
  {
261
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|\nunexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|\nstring-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|\nset-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|\nremove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|\nnunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|\nnset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|\ninvoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|\nget-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|\ndelete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
261
+ "match": "(?i)(?<=^|[\\s(]|#')(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|unexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|string-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|set-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|remove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|nunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|nset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|invoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|get-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|delete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)(?=([\\s()]))",
262
262
  "name": "support.function.f.sideeffects.commonlisp"
263
263
  },
264
264
  {
265
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|\nuser-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|\ntype-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|\ntranslate-logical-pathname|tanh|tan|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=|string>|\nstring=|string<=|string<|string\\/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|\nstring-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|\nstable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh|sin|\nsimple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|\nset-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|\nread-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|\nrational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|\nprin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|\npathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|\nparse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|\noutput-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|\nminusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|\nmake-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|\nmake-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|\nmake-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|\nlong-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|\nlog|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\*|list|lisp-implementation-version|\nlisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|\ninput-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|\nhash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|\nget-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|\nfloat-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|\nfile-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt|exp|every|evenp|\neval|equalp|equal|eql|eq|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|\necho-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|\ndelete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh|cos|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|\ncopy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp|cons|conjugate|concatenated-stream-streams|concatenate|compute-restarts|\ncomplexp|complex|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp|\ncharacter|char>=|char>|char=|char<=|char<|char\\/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|\nchar-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|\nbroadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|\nbit-andc1|bit-and|atom|atanh|atan|assoc-if-not|assoc-if|assoc|asinh|asin|ash|arrayp|array-total-size|array-row-major-index|array-rank|\narray-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions|array-dimension|arithmetic-error-operation|\narithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh|acos|acons|\nabs|>=|>|=|<=|<|1-|1\\+|\\/=|\\/|-|\\+|\\*)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
265
+ "match": "(?i)(?<=^|[\\s(]|#')(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|user-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|type-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|translate-logical-pathname|tanh|tan|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=|string>|string=|string<=|string<|string/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|string-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|stable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh|sin|simple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|set-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|read-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|rational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|prin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|pathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|parse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|output-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|minusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|make-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|make-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|make-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|long-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|log|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\*|list|lisp-implementation-version|lisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|input-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|hash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|get-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|float-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|file-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt|exp|every|evenp|eval|equalp|equal|eql|eq|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|echo-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|delete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh|cos|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|copy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp|cons|conjugate|concatenated-stream-streams|concatenate|compute-restarts|complexp|complex|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp|character|char>=|char>|char=|char<=|char<|char/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|char-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|broadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|bit-andc1|bit-and|atom|atanh|atan|assoc-if-not|assoc-if|assoc|asinh|asin|ash|arrayp|array-total-size|array-row-major-index|array-rank|array-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions|array-dimension|arithmetic-error-operation|arithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh|acos|acons|abs|>=|[>=]|<=|<|1-|1\\+|/=|[/\\-+*])(?=([\\s()]))",
266
266
  "name": "support.function.f.sideeffects.commonlisp"
267
267
  },
268
268
  {
269
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|\nremove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|\ninitialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|\nchange-class|allocate-instance|add-method)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
269
+ "match": "(?i)(?<=^|[\\s(]|#')(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|remove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|initialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|change-class|allocate-instance|add-method)(?=([\\s()]))",
270
270
  "name": "support.function.sgf.nosideeffects.commonlisp"
271
271
  },
272
272
  {
273
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:reinitialize-instance)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
273
+ "match": "(?i)(?<=^|[\\s(]|#')reinitialize-instance(?=([\\s()]))",
274
274
  "name": "support.function.sgf.sideeffects.commonlisp"
275
275
  },
276
276
  {
277
- "match": "(?xi)\n(?<=^|\\s|\\(|\\#') # preceded by space or (\n(?:satisfies)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
277
+ "match": "(?i)(?<=^|[\\s(]|#')satisfies(?=([\\s()]))",
278
278
  "name": "support.function.typespecifier.commonlisp"
279
279
  }
280
280
  ]
281
281
  },
282
282
  "lambda-list": {
283
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:&[#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?|&whole|&rest|&optional|&key|&environment|&body|&aux|&allow-other-keys)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
283
+ "match": "(?i)(?<=^|[\\s(])&(?:[#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?|whole|rest|optional|key|environment|body|aux|allow-other-keys)(?=([\\s()]))",
284
284
  "name": "keyword.other.lambdalist.commonlisp"
285
285
  },
286
286
  "macro": {
287
287
  "patterns": [
288
288
  {
289
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|\nwith-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|\nprog\\*|prog|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|\nmultiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|\ndo-all-symbols|do\\*|do|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|\ndefine-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
289
+ "match": "(?i)(?<=^|[\\s(])(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|with-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|prog\\*|prog|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|multiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|do-all-symbols|do\\*|do|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)(?=([\\s()]))",
290
290
  "name": "storage.type.function.m.nosideeffects.commonlisp"
291
291
  },
292
292
  {
293
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|\notherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
293
+ "match": "(?i)(?<=^|[\\s(])(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|otherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)(?=([\\s()]))",
294
294
  "name": "storage.type.function.m.sideeffects.commonlisp"
295
295
  },
296
296
  {
297
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:setq)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
297
+ "match": "(?i)(?<=^|[\\s(])setq(?=([\\s()]))",
298
298
  "name": "storage.type.function.specialform.commonlisp"
299
299
  }
300
300
  ]
@@ -310,18 +310,18 @@
310
310
  "name": "support.type.package.commonlisp"
311
311
  }
312
312
  },
313
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\n ([A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) #2\n | \n (\\#) #3\n)\n(?=\\:\\:|\\:)"
313
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(([A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)|(#))(?=:(?::|))"
314
314
  }
315
315
  ]
316
316
  },
317
317
  "punctuation": {
318
318
  "patterns": [
319
319
  {
320
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n('|`)\n(?=\\S)",
320
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(['`])(?=\\S)",
321
321
  "name": "variable.other.constant.singlequote.commonlisp"
322
322
  },
323
323
  {
324
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(?:\\:[#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
324
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,):[#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?(?=([\\s()]))",
325
325
  "name": "entity.name.variable.commonlisp"
326
326
  },
327
327
  {
@@ -333,7 +333,7 @@
333
333
  "name": "constant.numeric.commonlisp"
334
334
  }
335
335
  },
336
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)([0-9]*)\n(?=\\()"
336
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)([0-9]*)(?=\\()"
337
337
  },
338
338
  {
339
339
  "captures": {
@@ -347,10 +347,10 @@
347
347
  "name": "variable.other.constant.sharpsign.commonlisp"
348
348
  }
349
349
  },
350
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)\n([0-9]*)\n(\\*)\n(?=0|1)"
350
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)([0-9]*)(\\*)(?=[01])"
351
351
  },
352
352
  {
353
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#\\*|\\#0\\*)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
353
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#(?:\\*|0\\*))(?=([\\s()]))",
354
354
  "name": "variable.other.constant.sharpsign.commonlisp"
355
355
  },
356
356
  {
@@ -365,7 +365,7 @@
365
365
  "name": "variable.other.constant.sharpsign.commonlisp"
366
366
  }
367
367
  },
368
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)\n([0-9]+)\n(a|A)\n(?=.)"
368
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)([0-9]+)([aA])(?=.)"
369
369
  },
370
370
  {
371
371
  "captures": {
@@ -379,7 +379,7 @@
379
379
  "name": "variable.other.constant.sharpsign.commonlisp"
380
380
  }
381
381
  },
382
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)\n([0-9]+)\n(=)\n(?=.)"
382
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)([0-9]+)(=)(?=.)"
383
383
  },
384
384
  {
385
385
  "captures": {
@@ -393,14 +393,14 @@
393
393
  "name": "variable.other.constant.sharpsign.commonlisp"
394
394
  }
395
395
  },
396
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)\n([0-9]+)\n(\\#)\n(?=.)"
396
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)([0-9]+)(#)(?=.)"
397
397
  },
398
398
  {
399
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#(\\+|-))\n(?=\\S)",
399
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#([+\\-]))(?=\\S)",
400
400
  "name": "variable.other.constant.sharpsign.commonlisp"
401
401
  },
402
402
  {
403
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#('|,|\\.|c|C|s|S|p|P))\n(?=\\S)",
403
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#([',.cCsSpP]))(?=\\S)",
404
404
  "name": "variable.other.constant.sharpsign.commonlisp"
405
405
  },
406
406
  {
@@ -409,7 +409,7 @@
409
409
  "name": "support.type.package.commonlisp"
410
410
  }
411
411
  },
412
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\#)\n(:)\n(?=\\S)"
412
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(#)(:)(?=\\S)"
413
413
  },
414
414
  {
415
415
  "captures": {
@@ -426,7 +426,7 @@
426
426
  "name": "variable.other.constant.backquote.commonlisp"
427
427
  }
428
428
  },
429
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(\n (`\\#) #2\n |\n (`)(,@|,\\.|,)? #3, #4\n |\n (,@|,\\.|,) #5\n)\n(?=\\S)"
429
+ "match": "(?i)(?<=^|[\\s(])((`#)|(`)(,(?:[@.]|))?|(,(?:[@.]|)))(?=\\S)"
430
430
  }
431
431
  ]
432
432
  },
@@ -436,7 +436,7 @@
436
436
  "name": "keyword.control.commonlisp"
437
437
  }
438
438
  },
439
- "match": "(?xi)\n(\\(\\s*) # preceded by (\n(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|\nmacrolet|locally|load-time-value|let\\*|let|labels|if|go|function|flet|eval-when|catch|block)\n(?=(\\s|\\(|\\))) # followed by space, ( or )"
439
+ "match": "(?i)(\\(\\s*)(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|macrolet|locally|load-time-value|let\\*|let|labels|if|go|function|flet|eval-when|catch|block)(?=([\\s()]))"
440
440
  },
441
441
  "string": {
442
442
  "begin": "(\")",
@@ -472,7 +472,7 @@
472
472
  "name": "storage.type.function.formattedstring.commonlisp"
473
473
  }
474
474
  },
475
- "match": "(?xi)\n\n(~) #1 tilde\n(\n (\n (([+-]?[0-9]+)|('.)|V|\\#)*?\n (,)?\n )\n*?) #2 prefix parameters, signed decimal numbers|single char, separated by commas\n(\n (:@|@:|:|@)\n?) #8 modifiers\n(\\(|\\)|\\[|\\]|;|{|}|<|>|\\^) #10 control structures"
475
+ "match": "(?i)(~)(((([+\\-]?[0-9]+)|('.)|[V#])*?(,)?)*?)((:@|@:|[:@])?)([()\\[\\];{}<>\\^])"
476
476
  },
477
477
  {
478
478
  "captures": {
@@ -489,7 +489,7 @@
489
489
  "name": "entity.name.variable.commonlisp"
490
490
  }
491
491
  },
492
- "match": "(?xi)\n\n(~) #1 tilde\n(\n (\n (([+-]?[0-9]+)|('.)|V|\\#)*?\n (,)?\n )\n*?) #2 prefix parameters, signed decimal numbers|single char, separated by commas\n(\n (:@|@:|:|@)\n?) #8 modifiers\n(A|S|D|B|O|X|R|P|C|F|E|G|\\$|%|\\&|\\||~|T|\\*|\\?|_|W|I) #10 directives"
492
+ "match": "(?i)(~)(((([+\\-]?[0-9]+)|('.)|[V#])*?(,)?)*?)((:@|@:|[:@])?)([ASDBOXRPCFEG$%\\&|~T*?_WI])"
493
493
  },
494
494
  {
495
495
  "captures": {
@@ -512,7 +512,7 @@
512
512
  "name": "entity.name.variable.commonlisp"
513
513
  }
514
514
  },
515
- "match": "(?xi)\n\n(~) #1 tilde\n(\n (\n (([+-]?[0-9]+)|('.)|V|\\#)*?\n (,)?\n )\n*?) #2 prefix parameters, signed decimal numbers|single char, separated by commas\n(\n (:@|@:|:|@)\n?) #8 modifiers\n(\\/) #10\n([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?) #11 call function\n(\\/) #12"
515
+ "match": "(?i)(~)(((([+\\-]?[0-9]+)|('.)|[V#])*?(,)?)*?)((:@|@:|[:@])?)(/)([#:A-Za-z0-9+\\-*/@$%\\^\\&_=<>~!?\\[\\]{}.]+?)(/)"
516
516
  },
517
517
  {
518
518
  "match": "(~\\n)",
@@ -528,34 +528,34 @@
528
528
  "name": "source.commonlisp"
529
529
  }
530
530
  },
531
- "match": "(?xi)\n(?<=^'|\\s'|\\('|,@'|,\\.'|,')\n(\\S+?)\n(\\:\\:|\\:)\n((\\+[^\\s\\+]+\\+)|(\\*[^\\s\\*]+\\*))\n(?=(\\s|\\(|\\)))"
531
+ "match": "(?i)(?<=^'|\\s'|\\('|,@'|,\\.'|,')(\\S+?)(:(?::|))((\\+[^\\s+]+\\+)|(\\*[^\\s*]+\\*))(?=([\\s()]))"
532
532
  },
533
533
  {
534
- "match": "(?xi)\n(?<=\\S:|^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\+[^\\s\\+]+\\+)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
534
+ "match": "(?i)(?<=\\S:|^|[\\s(]|,@|,\\.|,)(\\+[^\\s+]+\\+)(?=([\\s()]))",
535
535
  "name": "variable.other.constant.earmuffsplus.commonlisp"
536
536
  },
537
537
  {
538
- "match": "(?xi)\n(?<=\\S:|^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(\\*[^\\s\\*]+\\*)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
538
+ "match": "(?i)(?<=\\S:|^|[\\s(]|,@|,\\.|,)(\\*[^\\s*]+\\*)(?=([\\s()]))",
539
539
  "name": "string.regexp.earmuffsasterisk.commonlisp"
540
540
  }
541
541
  ]
542
542
  },
543
543
  "symbol": {
544
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:method-combination|declare)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
544
+ "match": "(?i)(?<=^|[\\s(])(?:method-combination|declare)(?=([\\s()]))",
545
545
  "name": "storage.type.function.symbol.commonlisp"
546
546
  },
547
547
  "type": {
548
- "match": "(?xi)\n(?<=^|\\s|\\() # preceded by space or (\n(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|\nsigned-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
548
+ "match": "(?i)(?<=^|[\\s(])(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|signed-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)(?=([\\s()]))",
549
549
  "name": "support.type.t.commonlisp"
550
550
  },
551
551
  "variable": {
552
552
  "patterns": [
553
553
  {
554
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(?:\\*trace-output\\*|\\*terminal-io\\*|\\*standard-output\\*|\\*standard-input\\*|\\*readtable\\*|\\*read-suppress\\*|\\*read-eval\\*|\n\\*read-default-float-format\\*|\\*read-base\\*|\\*random-state\\*|\\*query-io\\*|\\*print-right-margin\\*|\\*print-readably\\*|\\*print-radix\\*|\\*print-pretty\\*|\n\\*print-pprint-dispatch\\*|\\*print-miser-width\\*|\\*print-lines\\*|\\*print-level\\*|\\*print-length\\*|\\*print-gensym\\*|\\*print-escape\\*|\\*print-circle\\*|\n\\*print-case\\*|\\*print-base\\*|\\*print-array\\*|\\*package\\*|\\*modules\\*|\\*macroexpand-hook\\*|\\*load-verbose\\*|\\*load-truename\\*|\\*load-print\\*|\n\\*load-pathname\\*|\\*gensym-counter\\*|\\*features\\*|\\*error-output\\*|\\*default-pathname-defaults\\*|\\*debugger-hook\\*|\\*debug-io\\*|\\*compile-verbose\\*|\n\\*compile-print\\*|\\*compile-file-truename\\*|\\*compile-file-pathname\\*|\\*break-on-signals\\*)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
554
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)\\*(?:trace-output\\*|terminal-io\\*|standard-output\\*|standard-input\\*|readtable\\*|read-suppress\\*|read-eval\\*|read-default-float-format\\*|read-base\\*|random-state\\*|query-io\\*|print-right-margin\\*|print-readably\\*|print-radix\\*|print-pretty\\*|print-pprint-dispatch\\*|print-miser-width\\*|print-lines\\*|print-level\\*|print-length\\*|print-gensym\\*|print-escape\\*|print-circle\\*|print-case\\*|print-base\\*|print-array\\*|package\\*|modules\\*|macroexpand-hook\\*|load-verbose\\*|load-truename\\*|load-print\\*|load-pathname\\*|gensym-counter\\*|features\\*|error-output\\*|default-pathname-defaults\\*|debugger-hook\\*|debug-io\\*|compile-verbose\\*|compile-print\\*|compile-file-truename\\*|compile-file-pathname\\*|break-on-signals\\*)(?=([\\s()]))",
555
555
  "name": "string.regexp.earmuffsasterisk.commonlisp"
556
556
  },
557
557
  {
558
- "match": "(?xi)\n(?<=^|\\s|\\(|,@|,\\.|,) # preceded by space , ( or `,`|`,@`|`,.`\n(?:\\*\\*\\*|\\*\\*|\\+\\+\\+|\\+\\+|\\/\\/\\/|\\/\\/)\n(?=(\\s|\\(|\\))) # followed by space, ( or )",
558
+ "match": "(?i)(?<=^|[\\s(]|,@|,\\.|,)(?:\\*\\*\\*|\\*\\*|\\+\\+\\+|\\+\\+|///|//)(?=([\\s()]))",
559
559
  "name": "variable.other.repl.commonlisp"
560
560
  }
561
561
  ]
package/grammars/coq.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "name": "entity.name.function.theorem.coq"
23
23
  }
24
24
  },
25
- "match": "\\b(Theorem|Lemma|Remark|Fact|Corollary|Property|Proposition)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
25
+ "match": "\\b(Theorem|Lemma|Remark|Fact|Corollary|Property|Proposition)\\s+(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
26
26
  },
27
27
  {
28
28
  "match": "\\bGoal\\b",
@@ -40,7 +40,7 @@
40
40
  "name": "entity.name.assumption.coq"
41
41
  }
42
42
  },
43
- "match": "\\b(Parameters?|Axioms?|Conjectures?|Variables?|Hypothesis|Hypotheses)(\\s+Inline)?\\b\\s*\\(?\\s*((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
43
+ "match": "\\b(Parameters?|Axioms?|Conjectures?|Variables?|Hypothesis|Hypotheses)(\\s+Inline)?\\b\\s*\\(?\\s*(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
44
44
  },
45
45
  {
46
46
  "captures": {
@@ -51,7 +51,7 @@
51
51
  "name": "entity.name.assumption.coq"
52
52
  }
53
53
  },
54
- "match": "\\b(Context)\\b\\s*`?\\s*(\\(|\\{)?\\s*((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
54
+ "match": "\\b(Context)\\b\\s*`?\\s*([({])?\\s*(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
55
55
  },
56
56
  {
57
57
  "captures": {
@@ -65,7 +65,7 @@
65
65
  "name": "entity.name.function.coq"
66
66
  }
67
67
  },
68
- "match": "(\\b(?:Program|Local)\\s+)?\\b(Definition|Fixpoint|CoFixpoint|Function|Example|Let(?:\\s+Fixpoint|\\s+CoFixpoint)?|Instance|Equations|Equations?)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
68
+ "match": "(\\b(?:Program|Local)\\s+)?\\b(Definition|Fixpoint|CoFixpoint|Function|Example|Let(?:\\s+Fixpoint|\\s+CoFixpoint)?|Instance|Equations|Equations?)\\s+(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
69
69
  },
70
70
  {
71
71
  "captures": {
@@ -84,7 +84,7 @@
84
84
  "name": "entity.name.type.coq"
85
85
  }
86
86
  },
87
- "match": "\\b(CoInductive|Inductive|Variant|Record|Structure|Class)\\s+(>\\s*)?((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
87
+ "match": "\\b(CoInductive|Inductive|Variant|Record|Structure|Class)\\s+(>\\s*)?(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
88
88
  },
89
89
  {
90
90
  "captures": {
@@ -95,7 +95,7 @@
95
95
  "name": "entity.name.function.ltac"
96
96
  }
97
97
  },
98
- "match": "\\b(Ltac)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"
98
+ "match": "\\b(Ltac)\\s+(([\\p{L}_ ])([\\p{L}0-9_ '])*)"
99
99
  },
100
100
  {
101
101
  "match": "\\b(Hint(\\s+Mode)?|Create\\s+HintDb|Constructors|Resolve|Rewrite|Ltac|Implicit(\\s+Types)?|Set|Unset|Remove\\s+Printing|Arguments|((Tactic|Reserved)\\s+)?Notation|Infix|Section|Module(\\s+Type)?|End|Check|Print(\\s+All)?|Eval|Compute|Search|Universe|Coercions|Generalizable(\\s+(All|Variable))?|Existing(\\s+(Class|Instance))?|Canonical|About|Locate|Collection|Typeclasses\\s+(Opaque|Transparent))\\b",
@@ -114,11 +114,11 @@
114
114
  "name": "invalid.illegal.admit.coq"
115
115
  },
116
116
  {
117
- "match": ":|\\||=|<|>|\\*|\\+|-|\\{|\\}|≠|∨|∧|↔|¬|→|≤|≥",
117
+ "match": "[:|=<>*+\\-{}≠∨∧↔¬→≤≥]",
118
118
  "name": "keyword.operator.coq"
119
119
  },
120
120
  {
121
- "match": "\\b(forall|exists|Type|Set|Prop|nat|bool|option|list|unit|sum|prod|comparison|Empty_set)\\b|∀|∃",
121
+ "match": "\\b(forall|exists|Type|Set|Prop|nat|bool|option|list|unit|sum|prod|comparison|Empty_set)\\b|[∀∃]",
122
122
  "name": "support.type.coq"
123
123
  },
124
124
  {
@@ -152,11 +152,11 @@
152
152
  ]
153
153
  },
154
154
  {
155
- "match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
155
+ "match": "\\b((0([xX])\\h+)|([0-9]+(\\.[0-9]+)?))\\b",
156
156
  "name": "constant.numeric.gallina"
157
157
  },
158
158
  {
159
- "match": "\\b(True|False|tt|false|true|Some|None|nil|cons|pair|inl|inr|O|S|Eq|Lt|Gt|id|ex|all|unique)\\b",
159
+ "match": "\\b(True|False|tt|false|true|Some|None|nil|cons|pair|inl|inr|[OS]|Eq|Lt|Gt|id|ex|all|unique)\\b",
160
160
  "name": "constant.language.constructor.gallina"
161
161
  },
162
162
  {