tm-grammars 0.0.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 (181) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6565 -0
  3. package/README.md +211 -0
  4. package/grammars/abap.json +380 -0
  5. package/grammars/actionscript-3.json +951 -0
  6. package/grammars/ada.json +3874 -0
  7. package/grammars/apache.json +562 -0
  8. package/grammars/apex.json +3203 -0
  9. package/grammars/apl.json +1479 -0
  10. package/grammars/applescript.json +1406 -0
  11. package/grammars/ara.json +428 -0
  12. package/grammars/asm.json +1741 -0
  13. package/grammars/astro.json +776 -0
  14. package/grammars/awk.json +388 -0
  15. package/grammars/ballerina.json +3768 -0
  16. package/grammars/bat.json +783 -0
  17. package/grammars/beancount.json +831 -0
  18. package/grammars/berry.json +172 -0
  19. package/grammars/bibtex.json +315 -0
  20. package/grammars/bicep.json +239 -0
  21. package/grammars/blade.json +3870 -0
  22. package/grammars/c.json +3552 -0
  23. package/grammars/cadence.json +738 -0
  24. package/grammars/clarity.json +877 -0
  25. package/grammars/clojure.json +426 -0
  26. package/grammars/cmake.json +143 -0
  27. package/grammars/cobol.json +1124 -0
  28. package/grammars/codeql.json +1540 -0
  29. package/grammars/coffee.json +1311 -0
  30. package/grammars/cpp-macro.json +9498 -0
  31. package/grammars/cpp.json +16635 -0
  32. package/grammars/crystal.json +1866 -0
  33. package/grammars/csharp.json +5722 -0
  34. package/grammars/css.json +1860 -0
  35. package/grammars/csv.json +46 -0
  36. package/grammars/cue.json +1128 -0
  37. package/grammars/cypher.json +353 -0
  38. package/grammars/d.json +3185 -0
  39. package/grammars/dart.json +522 -0
  40. package/grammars/dax.json +185 -0
  41. package/grammars/diff.json +155 -0
  42. package/grammars/docker.json +97 -0
  43. package/grammars/dream-maker.json +640 -0
  44. package/grammars/elixir.json +1014 -0
  45. package/grammars/elm.json +751 -0
  46. package/grammars/erb.json +156 -0
  47. package/grammars/erlang.json +1757 -0
  48. package/grammars/fish.json +189 -0
  49. package/grammars/fsharp.json +1831 -0
  50. package/grammars/gdresource.json +290 -0
  51. package/grammars/gdscript.json +969 -0
  52. package/grammars/gdshader.json +405 -0
  53. package/grammars/gherkin.json +133 -0
  54. package/grammars/git-commit.json +85 -0
  55. package/grammars/git-rebase.json +56 -0
  56. package/grammars/glimmer-js.json +98 -0
  57. package/grammars/glimmer-ts.json +98 -0
  58. package/grammars/glsl.json +57 -0
  59. package/grammars/gnuplot.json +892 -0
  60. package/grammars/go.json +1012 -0
  61. package/grammars/graphql.json +1295 -0
  62. package/grammars/groovy.json +1378 -0
  63. package/grammars/hack.json +2650 -0
  64. package/grammars/haml.json +598 -0
  65. package/grammars/handlebars.json +848 -0
  66. package/grammars/haskell.json +2431 -0
  67. package/grammars/hcl.json +787 -0
  68. package/grammars/hjson.json +821 -0
  69. package/grammars/hlsl.json +212 -0
  70. package/grammars/html.json +93 -0
  71. package/grammars/imba.json +2696 -0
  72. package/grammars/ini.json +108 -0
  73. package/grammars/java.json +1885 -0
  74. package/grammars/javascript.json +5984 -0
  75. package/grammars/jinja-html.json +16 -0
  76. package/grammars/jinja.json +345 -0
  77. package/grammars/jison.json +715 -0
  78. package/grammars/jsdoc.json +21 -0
  79. package/grammars/json.json +208 -0
  80. package/grammars/json5.json +244 -0
  81. package/grammars/jsonc.json +208 -0
  82. package/grammars/jsonl.json +208 -0
  83. package/grammars/jsonnet.json +211 -0
  84. package/grammars/jssm.json +159 -0
  85. package/grammars/jsx.json +5984 -0
  86. package/grammars/julia.json +1061 -0
  87. package/grammars/kotlin.json +580 -0
  88. package/grammars/kusto.json +687 -0
  89. package/grammars/latex.json +2395 -0
  90. package/grammars/less.json +5012 -0
  91. package/grammars/liquid.json +990 -0
  92. package/grammars/lisp.json +121 -0
  93. package/grammars/logo.json +55 -0
  94. package/grammars/lua.json +956 -0
  95. package/grammars/make.json +629 -0
  96. package/grammars/markdown.json +3066 -0
  97. package/grammars/marko.json +1344 -0
  98. package/grammars/matlab.json +1131 -0
  99. package/grammars/mdc.json +571 -0
  100. package/grammars/mdx.json +5629 -0
  101. package/grammars/mermaid.json +1382 -0
  102. package/grammars/mojo.json +4153 -0
  103. package/grammars/narrat.json +227 -0
  104. package/grammars/nextflow.json +298 -0
  105. package/grammars/nginx.json +2121 -0
  106. package/grammars/nim.json +1522 -0
  107. package/grammars/nix.json +1200 -0
  108. package/grammars/nushell.json +1047 -0
  109. package/grammars/objective-c.json +3750 -0
  110. package/grammars/objective-cpp.json +7242 -0
  111. package/grammars/ocaml.json +2967 -0
  112. package/grammars/pascal.json +154 -0
  113. package/grammars/perl.json +2971 -0
  114. package/grammars/php.json +4024 -0
  115. package/grammars/plsql.json +241 -0
  116. package/grammars/postcss.json +377 -0
  117. package/grammars/powerquery.json +349 -0
  118. package/grammars/powershell.json +1024 -0
  119. package/grammars/prisma.json +443 -0
  120. package/grammars/prolog.json +298 -0
  121. package/grammars/proto.json +507 -0
  122. package/grammars/pug.json +1033 -0
  123. package/grammars/puppet.json +777 -0
  124. package/grammars/purescript.json +871 -0
  125. package/grammars/python.json +4208 -0
  126. package/grammars/r.json +637 -0
  127. package/grammars/raku.json +310 -0
  128. package/grammars/razor.json +1813 -0
  129. package/grammars/reg.json +136 -0
  130. package/grammars/rel.json +200 -0
  131. package/grammars/riscv.json +298 -0
  132. package/grammars/rst.json +734 -0
  133. package/grammars/ruby.json +2769 -0
  134. package/grammars/rust.json +1171 -0
  135. package/grammars/sas.json +302 -0
  136. package/grammars/sass.json +618 -0
  137. package/grammars/scala.json +1313 -0
  138. package/grammars/scheme.json +384 -0
  139. package/grammars/scss.json +1874 -0
  140. package/grammars/shaderlab.json +199 -0
  141. package/grammars/shellscript.json +2025 -0
  142. package/grammars/shellsession.json +33 -0
  143. package/grammars/smalltalk.json +235 -0
  144. package/grammars/solidity.json +1210 -0
  145. package/grammars/sparql.json +45 -0
  146. package/grammars/splunk.json +91 -0
  147. package/grammars/sql.json +631 -0
  148. package/grammars/ssh-config.json +88 -0
  149. package/grammars/stata.json +3050 -0
  150. package/grammars/stylus.json +1208 -0
  151. package/grammars/svelte.json +1171 -0
  152. package/grammars/swift.json +4203 -0
  153. package/grammars/system-verilog.json +1063 -0
  154. package/grammars/tasl.json +292 -0
  155. package/grammars/tcl.json +291 -0
  156. package/grammars/tex.json +281 -0
  157. package/grammars/toml.json +431 -0
  158. package/grammars/tsx.json +5984 -0
  159. package/grammars/turtle.json +261 -0
  160. package/grammars/twig.json +1394 -0
  161. package/grammars/typescript.json +5735 -0
  162. package/grammars/v.json +1001 -0
  163. package/grammars/vb.json +232 -0
  164. package/grammars/verilog.json +305 -0
  165. package/grammars/vhdl.json +1484 -0
  166. package/grammars/viml.json +445 -0
  167. package/grammars/vue-html.json +559 -0
  168. package/grammars/vue.json +1237 -0
  169. package/grammars/vyper.json +5415 -0
  170. package/grammars/wasm.json +831 -0
  171. package/grammars/wenyan.json +129 -0
  172. package/grammars/wgsl.json +391 -0
  173. package/grammars/wolfram.json +2370 -0
  174. package/grammars/xml.json +382 -0
  175. package/grammars/xsl.json +89 -0
  176. package/grammars/yaml.json +616 -0
  177. package/grammars/zenscript.json +257 -0
  178. package/grammars/zig.json +312 -0
  179. package/index.d.ts +18 -0
  180. package/index.js +2165 -0
  181. package/package.json +46 -0
@@ -0,0 +1,426 @@
1
+ {
2
+ "displayName": "Clojure",
3
+ "name": "clojure",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#shebang-comment"
10
+ },
11
+ {
12
+ "include": "#quoted-sexp"
13
+ },
14
+ {
15
+ "include": "#sexp"
16
+ },
17
+ {
18
+ "include": "#keyfn"
19
+ },
20
+ {
21
+ "include": "#string"
22
+ },
23
+ {
24
+ "include": "#vector"
25
+ },
26
+ {
27
+ "include": "#set"
28
+ },
29
+ {
30
+ "include": "#map"
31
+ },
32
+ {
33
+ "include": "#regexp"
34
+ },
35
+ {
36
+ "include": "#var"
37
+ },
38
+ {
39
+ "include": "#constants"
40
+ },
41
+ {
42
+ "include": "#dynamic-variables"
43
+ },
44
+ {
45
+ "include": "#metadata"
46
+ },
47
+ {
48
+ "include": "#namespace-symbol"
49
+ },
50
+ {
51
+ "include": "#symbol"
52
+ }
53
+ ],
54
+ "repository": {
55
+ "comment": {
56
+ "begin": "(?<!\\\\);",
57
+ "beginCaptures": {
58
+ "0": {
59
+ "name": "punctuation.definition.comment.clojure"
60
+ }
61
+ },
62
+ "end": "$",
63
+ "name": "comment.line.semicolon.clojure"
64
+ },
65
+ "constants": {
66
+ "patterns": [
67
+ {
68
+ "match": "(nil)(?=(\\s|\\)|\\]|\\}))",
69
+ "name": "constant.language.nil.clojure"
70
+ },
71
+ {
72
+ "match": "(true|false)",
73
+ "name": "constant.language.boolean.clojure"
74
+ },
75
+ {
76
+ "match": "(##(?:Inf|-Inf|NaN))",
77
+ "name": "constant.numeric.symbol.clojure"
78
+ },
79
+ {
80
+ "match": "([-+]?\\d+/\\d+)",
81
+ "name": "constant.numeric.ratio.clojure"
82
+ },
83
+ {
84
+ "match": "([-+]?(?:(?:3[0-6])|(?:[12]\\d)|[2-9])[rR][0-9A-Za-z]+N?)",
85
+ "name": "constant.numeric.arbitrary-radix.clojure"
86
+ },
87
+ {
88
+ "match": "([-+]?0[xX][0-9a-fA-F]+N?)",
89
+ "name": "constant.numeric.hexadecimal.clojure"
90
+ },
91
+ {
92
+ "match": "([-+]?0[0-7]+N?)",
93
+ "name": "constant.numeric.octal.clojure"
94
+ },
95
+ {
96
+ "match": "([-+]?[0-9]+(?:(\\.|(?=[eEM]))[0-9]*([eE][-+]?[0-9]+)?)M?)",
97
+ "name": "constant.numeric.double.clojure"
98
+ },
99
+ {
100
+ "match": "([-+]?\\d+N?)",
101
+ "name": "constant.numeric.long.clojure"
102
+ },
103
+ {
104
+ "include": "#keyword"
105
+ }
106
+ ]
107
+ },
108
+ "dynamic-variables": {
109
+ "match": "\\*[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\d]+\\*",
110
+ "name": "meta.symbol.dynamic.clojure"
111
+ },
112
+ "keyfn": {
113
+ "patterns": [
114
+ {
115
+ "match": "(?<=(\\s|\\(|\\[|\\{))(if(-[-\\p{Ll}\\?]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-\\p{Ll}\\?]*)?|binding|loop|recur|fn|throw[\\p{Ll}\\-]*|try|catch|finally|([\\p{Ll}]*case))(?=(\\s|\\)|\\]|\\}))",
116
+ "name": "storage.control.clojure"
117
+ },
118
+ {
119
+ "match": "(?<=(\\s|\\(|\\[|\\{))(declare-?|(in-)?ns|import|use|require|load|compile|(def[\\p{Ll}\\-]*))(?=(\\s|\\)|\\]|\\}))",
120
+ "name": "keyword.control.clojure"
121
+ }
122
+ ]
123
+ },
124
+ "keyword": {
125
+ "match": "(?<=(\\s|\\(|\\[|\\{)):[\\w\\#\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}|\\,))",
126
+ "name": "constant.keyword.clojure"
127
+ },
128
+ "map": {
129
+ "begin": "(\\{)",
130
+ "beginCaptures": {
131
+ "1": {
132
+ "name": "punctuation.section.map.begin.clojure"
133
+ }
134
+ },
135
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
136
+ "endCaptures": {
137
+ "1": {
138
+ "name": "punctuation.section.map.end.trailing.clojure"
139
+ },
140
+ "2": {
141
+ "name": "punctuation.section.map.end.clojure"
142
+ }
143
+ },
144
+ "name": "meta.map.clojure",
145
+ "patterns": [
146
+ {
147
+ "include": "$self"
148
+ }
149
+ ]
150
+ },
151
+ "metadata": {
152
+ "patterns": [
153
+ {
154
+ "begin": "(\\^\\{)",
155
+ "beginCaptures": {
156
+ "1": {
157
+ "name": "punctuation.section.metadata.map.begin.clojure"
158
+ }
159
+ },
160
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
161
+ "endCaptures": {
162
+ "1": {
163
+ "name": "punctuation.section.metadata.map.end.trailing.clojure"
164
+ },
165
+ "2": {
166
+ "name": "punctuation.section.metadata.map.end.clojure"
167
+ }
168
+ },
169
+ "name": "meta.metadata.map.clojure",
170
+ "patterns": [
171
+ {
172
+ "include": "$self"
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "begin": "(\\^)",
178
+ "end": "(\\s)",
179
+ "name": "meta.metadata.simple.clojure",
180
+ "patterns": [
181
+ {
182
+ "include": "#keyword"
183
+ },
184
+ {
185
+ "include": "$self"
186
+ }
187
+ ]
188
+ }
189
+ ]
190
+ },
191
+ "namespace-symbol": {
192
+ "patterns": [
193
+ {
194
+ "captures": {
195
+ "1": {
196
+ "name": "meta.symbol.namespace.clojure"
197
+ }
198
+ },
199
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)/"
200
+ }
201
+ ]
202
+ },
203
+ "quoted-sexp": {
204
+ "begin": "(['``]\\()",
205
+ "beginCaptures": {
206
+ "1": {
207
+ "name": "punctuation.section.expression.begin.clojure"
208
+ }
209
+ },
210
+ "end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
211
+ "endCaptures": {
212
+ "1": {
213
+ "name": "punctuation.section.expression.end.trailing.clojure"
214
+ },
215
+ "2": {
216
+ "name": "punctuation.section.expression.end.trailing.clojure"
217
+ },
218
+ "3": {
219
+ "name": "punctuation.section.expression.end.clojure"
220
+ }
221
+ },
222
+ "name": "meta.quoted-expression.clojure",
223
+ "patterns": [
224
+ {
225
+ "include": "$self"
226
+ }
227
+ ]
228
+ },
229
+ "regexp": {
230
+ "begin": "#\"",
231
+ "beginCaptures": {
232
+ "0": {
233
+ "name": "punctuation.definition.regexp.begin.clojure"
234
+ }
235
+ },
236
+ "end": "\"",
237
+ "endCaptures": {
238
+ "0": {
239
+ "name": "punctuation.definition.regexp.end.clojure"
240
+ }
241
+ },
242
+ "name": "string.regexp.clojure",
243
+ "patterns": [
244
+ {
245
+ "include": "#regexp_escaped_char"
246
+ }
247
+ ]
248
+ },
249
+ "regexp_escaped_char": {
250
+ "match": "\\\\.",
251
+ "name": "constant.character.escape.clojure"
252
+ },
253
+ "set": {
254
+ "begin": "(\\#\\{)",
255
+ "beginCaptures": {
256
+ "1": {
257
+ "name": "punctuation.section.set.begin.clojure"
258
+ }
259
+ },
260
+ "end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
261
+ "endCaptures": {
262
+ "1": {
263
+ "name": "punctuation.section.set.end.trailing.clojure"
264
+ },
265
+ "2": {
266
+ "name": "punctuation.section.set.end.clojure"
267
+ }
268
+ },
269
+ "name": "meta.set.clojure",
270
+ "patterns": [
271
+ {
272
+ "include": "$self"
273
+ }
274
+ ]
275
+ },
276
+ "sexp": {
277
+ "begin": "(\\()",
278
+ "beginCaptures": {
279
+ "1": {
280
+ "name": "punctuation.section.expression.begin.clojure"
281
+ }
282
+ },
283
+ "end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
284
+ "endCaptures": {
285
+ "1": {
286
+ "name": "punctuation.section.expression.end.trailing.clojure"
287
+ },
288
+ "2": {
289
+ "name": "punctuation.section.expression.end.trailing.clojure"
290
+ },
291
+ "3": {
292
+ "name": "punctuation.section.expression.end.clojure"
293
+ }
294
+ },
295
+ "name": "meta.expression.clojure",
296
+ "patterns": [
297
+ {
298
+ "begin": "(?<=\\()(ns|declare|def[\\w\\d._:+=><!?*-]*|[\\w._:+=><!?*-][\\w\\d._:+=><!?*-]*/def[\\w\\d._:+=><!?*-]*)\\s+",
299
+ "beginCaptures": {
300
+ "1": {
301
+ "name": "keyword.control.clojure"
302
+ }
303
+ },
304
+ "end": "(?=\\))",
305
+ "name": "meta.definition.global.clojure",
306
+ "patterns": [
307
+ {
308
+ "include": "#metadata"
309
+ },
310
+ {
311
+ "include": "#dynamic-variables"
312
+ },
313
+ {
314
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
315
+ "name": "entity.global.clojure"
316
+ },
317
+ {
318
+ "include": "$self"
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "include": "#keyfn"
324
+ },
325
+ {
326
+ "include": "#constants"
327
+ },
328
+ {
329
+ "include": "#vector"
330
+ },
331
+ {
332
+ "include": "#map"
333
+ },
334
+ {
335
+ "include": "#set"
336
+ },
337
+ {
338
+ "include": "#sexp"
339
+ },
340
+ {
341
+ "captures": {
342
+ "1": {
343
+ "name": "entity.name.function.clojure"
344
+ }
345
+ },
346
+ "match": "(?<=\\()(.+?)(?=\\s|\\))",
347
+ "patterns": [
348
+ {
349
+ "include": "$self"
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "include": "$self"
355
+ }
356
+ ]
357
+ },
358
+ "shebang-comment": {
359
+ "begin": "^(#!)",
360
+ "beginCaptures": {
361
+ "1": {
362
+ "name": "punctuation.definition.comment.shebang.clojure"
363
+ }
364
+ },
365
+ "end": "$",
366
+ "name": "comment.line.shebang.clojure"
367
+ },
368
+ "string": {
369
+ "begin": "(?<!\\\\)(\")",
370
+ "beginCaptures": {
371
+ "1": {
372
+ "name": "punctuation.definition.string.begin.clojure"
373
+ }
374
+ },
375
+ "end": "(\")",
376
+ "endCaptures": {
377
+ "1": {
378
+ "name": "punctuation.definition.string.end.clojure"
379
+ }
380
+ },
381
+ "name": "string.quoted.double.clojure",
382
+ "patterns": [
383
+ {
384
+ "match": "\\\\.",
385
+ "name": "constant.character.escape.clojure"
386
+ }
387
+ ]
388
+ },
389
+ "symbol": {
390
+ "patterns": [
391
+ {
392
+ "match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
393
+ "name": "meta.symbol.clojure"
394
+ }
395
+ ]
396
+ },
397
+ "var": {
398
+ "match": "(?<=(\\s|\\(|\\[|\\{)\\#)'[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}))",
399
+ "name": "meta.var.clojure"
400
+ },
401
+ "vector": {
402
+ "begin": "(\\[)",
403
+ "beginCaptures": {
404
+ "1": {
405
+ "name": "punctuation.section.vector.begin.clojure"
406
+ }
407
+ },
408
+ "end": "(\\](?=[\\}\\]\\)\\s]*(?:;|$)))|(\\])",
409
+ "endCaptures": {
410
+ "1": {
411
+ "name": "punctuation.section.vector.end.trailing.clojure"
412
+ },
413
+ "2": {
414
+ "name": "punctuation.section.vector.end.clojure"
415
+ }
416
+ },
417
+ "name": "meta.vector.clojure",
418
+ "patterns": [
419
+ {
420
+ "include": "$self"
421
+ }
422
+ ]
423
+ }
424
+ },
425
+ "scopeName": "source.clojure"
426
+ }
@@ -0,0 +1,143 @@
1
+ {
2
+ "displayName": "CMake",
3
+ "fileTypes": [
4
+ "cmake",
5
+ "CMakeLists.txt"
6
+ ],
7
+ "name": "cmake",
8
+ "patterns": [
9
+ {
10
+ "comment": "Variables That Describe the System",
11
+ "match": "\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\b",
12
+ "name": "constant.source.cmake"
13
+ },
14
+ {
15
+ "comment": "cmakeOperators",
16
+ "match": "\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAME|NAMES|NAME_WE|NOT|OFF|ON|OR|PATH|PATHS|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\b",
17
+ "name": "keyword.cmake"
18
+ },
19
+ {
20
+ "comment": "Commands",
21
+ "match": "^\\s*\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\b",
22
+ "name": "keyword.cmake"
23
+ },
24
+ {
25
+ "comment": "Variables That Change Behavior",
26
+ "match": "\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\b",
27
+ "name": "variable.source.cmake"
28
+ },
29
+ {
30
+ "match": "\\$\\{\\w+\\}",
31
+ "name": "storage.source.cmake"
32
+ },
33
+ {
34
+ "match": "\\$ENV\\{\\w+\\}",
35
+ "name": "storage.source.cmake"
36
+ },
37
+ {
38
+ "comment": "Variables that Control the Build",
39
+ "match": "\\b(?i:(CMAKE_)?(\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\b",
40
+ "name": "variable.source.cmake"
41
+ },
42
+ {
43
+ "comment": "Variables that Provide Information",
44
+ "match": "\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\w+_BINARY_DIR|\\w+__SOURCE_DIR)\\b",
45
+ "name": "variable.source.cmake"
46
+ },
47
+ {
48
+ "begin": "#\\[(=*)\\[",
49
+ "comment": "BracketArgs",
50
+ "end": "\\]\\1\\]",
51
+ "name": "comment.source.cmake",
52
+ "patterns": [
53
+ {
54
+ "match": "\\\\(.|$)",
55
+ "name": "constant.character.escape"
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "begin": "\\[(=*)\\[",
61
+ "comment": "BracketArgs",
62
+ "end": "\\]\\1\\]",
63
+ "name": "argument.source.cmake",
64
+ "patterns": [
65
+ {
66
+ "match": "\\\\(.|$)",
67
+ "name": "constant.character.escape"
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "match": "#+.*$",
73
+ "name": "comment.source.cmake"
74
+ },
75
+ {
76
+ "comment": "Properties on Cache Entries",
77
+ "match": "\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\b",
78
+ "name": "entity.source.cmake"
79
+ },
80
+ {
81
+ "comment": "Properties on Source Files",
82
+ "match": "\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_<CONFIG>|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\b",
83
+ "name": "entity.source.cmake"
84
+ },
85
+ {
86
+ "comment": "Properties on Tests",
87
+ "match": "\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\b",
88
+ "name": "entity.source.cmake"
89
+ },
90
+ {
91
+ "comment": "Properties on Directories",
92
+ "match": "\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\w+|VS_GLOBAL_SECTION_PRE_\\w+)\\b",
93
+ "name": "entity.source.cmake"
94
+ },
95
+ {
96
+ "comment": "Properties of Global Scope",
97
+ "match": "\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\b",
98
+ "name": "entity.source.cmake"
99
+ },
100
+ {
101
+ "comment": "Properties on Targets",
102
+ "match": "\\b(?i:\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\w+)?|NAME(_\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE(_EXTENSION)?|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\w+)?|LINK_INTERFACE_LANGUAGES(_\\w+)?|LINK_INTERFACE_LIBRARIES(_\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\w+)?|LOCATION(_\\w+)?|NO_SONAME(_\\w+)?|SONAME(_\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\w+)?|LIBRARY_OUTPUT_NAME(_\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\w+)?|LINK_INTERFACE_LIBRARIES(_\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\w+)?|OUTPUT_NAME(_\\w+)?|PDB_NAME(_\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\w+)?|NAME(_\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\w+)\\b",
103
+ "name": "entity.source.cmake"
104
+ },
105
+ {
106
+ "begin": "\\\\\"",
107
+ "comment": "Escaped Strings",
108
+ "end": "\\\\\"",
109
+ "name": "string.source.cmake",
110
+ "patterns": [
111
+ {
112
+ "match": "\\\\(.|$)",
113
+ "name": "constant.character.escape"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "begin": "\"",
119
+ "comment": "Normal Strings",
120
+ "end": "\"",
121
+ "name": "string.source.cmake",
122
+ "patterns": [
123
+ {
124
+ "match": "\\\\(.|$)",
125
+ "name": "constant.character.escape"
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "comment": "Derecated keyword",
131
+ "match": "\\bBUILD_NAME\\b",
132
+ "name": "invalid.deprecated.source.cmake"
133
+ },
134
+ {
135
+ "comment": "Compiler Flags",
136
+ "match": "\\b(?i:(CMAKE_)?(CXX_FLAGS|CMAKE_CXX_FLAGS_DEBUG|CMAKE_CXX_FLAGS_MINSIZEREL|CMAKE_CXX_FLAGS_RELEASE|CMAKE_CXX_FLAGS_RELWITHDEBINFO))\\b",
137
+ "name": "variable.source.cmake"
138
+ }
139
+ ],
140
+ "repository": {
141
+ },
142
+ "scopeName": "source.cmake"
143
+ }