ts-wasms 1.0.6 → 2.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 (247) hide show
  1. package/README.md +26 -9
  2. package/index.d.ts +102 -0
  3. package/index.js +27 -0
  4. package/out/angular/folds.scm +1 -0
  5. package/out/angular/highlights.scm +178 -0
  6. package/out/angular/indents.scm +16 -0
  7. package/out/angular/injections.scm +1 -0
  8. package/out/angular/locals.scm +1 -0
  9. package/out/angular/tree-sitter-angular.wasm +0 -0
  10. package/out/asm/highlights.scm +66 -0
  11. package/out/asm/injections.scm +5 -0
  12. package/out/asm/tree-sitter-asm.wasm +0 -0
  13. package/out/astro/folds.scm +1 -0
  14. package/out/astro/highlights.scm +12 -0
  15. package/out/astro/indents.scm +1 -0
  16. package/out/astro/injections.scm +27 -0
  17. package/out/astro/locals.scm +1 -0
  18. package/out/astro/tree-sitter-astro.wasm +0 -0
  19. package/out/bash/folds.scm +9 -0
  20. package/out/bash/indents.scm +32 -0
  21. package/out/bash/injections.scm +90 -0
  22. package/out/bash/locals.scm +14 -0
  23. package/out/c/folds.scm +23 -0
  24. package/out/c/indents.scm +99 -0
  25. package/out/c/injections.scm +128 -0
  26. package/out/c/locals.scm +67 -0
  27. package/out/clojure/folds.scm +2 -0
  28. package/out/clojure/injections.scm +2 -0
  29. package/out/clojure/locals.scm +1 -0
  30. package/out/cmake/folds.scm +8 -0
  31. package/out/cmake/highlights.scm +221 -0
  32. package/out/cmake/indents.scm +26 -0
  33. package/out/cmake/injections.scm +5 -0
  34. package/out/cmake/tree-sitter-cmake.wasm +0 -0
  35. package/out/comment/highlights.scm +49 -0
  36. package/out/comment/tree-sitter-comment.wasm +0 -0
  37. package/out/commonlisp/folds.scm +2 -0
  38. package/out/commonlisp/highlights.scm +314 -0
  39. package/out/commonlisp/injections.scm +5 -0
  40. package/out/commonlisp/locals.scm +109 -0
  41. package/out/cpp/folds.scm +14 -0
  42. package/out/cpp/indents.scm +8 -0
  43. package/out/cpp/locals.scm +78 -0
  44. package/out/css/folds.scm +10 -0
  45. package/out/css/indents.scm +11 -0
  46. package/out/css/injections.scm +2 -0
  47. package/out/csv/highlights.scm +5 -0
  48. package/out/csv/tree-sitter-csv.wasm +0 -0
  49. package/out/csv-psv/highlights.scm +5 -0
  50. package/out/csv-psv/tree-sitter-csv-psv.wasm +0 -0
  51. package/out/csv-tsv/highlights.scm +4 -0
  52. package/out/csv-tsv/tree-sitter-csv-tsv.wasm +0 -0
  53. package/out/dart/indents.scm +49 -0
  54. package/out/dart/injections.scm +2 -0
  55. package/out/dart/locals.scm +32 -0
  56. package/out/diff/folds.scm +5 -0
  57. package/out/diff/highlights.scm +49 -0
  58. package/out/diff/injections.scm +2 -0
  59. package/out/diff/tree-sitter-diff.wasm +0 -0
  60. package/out/dockerfile/highlights.scm +58 -0
  61. package/out/dockerfile/injections.scm +12 -0
  62. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  63. package/out/dtd/folds.scm +4 -0
  64. package/out/dtd/highlights.scm +148 -0
  65. package/out/dtd/injections.scm +2 -0
  66. package/out/dtd/locals.scm +11 -0
  67. package/out/editorconfig/folds.scm +1 -0
  68. package/out/editorconfig/highlights.scm +35 -0
  69. package/out/editorconfig/injections.scm +2 -0
  70. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  71. package/out/elixir/folds.scm +10 -0
  72. package/out/elixir/indents.scm +25 -0
  73. package/out/elixir/locals.scm +200 -0
  74. package/out/elm/folds.scm +14 -0
  75. package/out/erlang/folds.scm +9 -0
  76. package/out/erlang/injections.scm +2 -0
  77. package/out/fish/folds.scm +8 -0
  78. package/out/fish/highlights.scm +61 -0
  79. package/out/fish/indents.scm +18 -0
  80. package/out/fish/injections.scm +2 -0
  81. package/out/fish/locals.scm +19 -0
  82. package/out/fish/tree-sitter-fish.wasm +0 -0
  83. package/out/gdscript/folds.scm +26 -0
  84. package/out/gdscript/highlights.scm +635 -0
  85. package/out/gdscript/indents.scm +78 -0
  86. package/out/gdscript/injections.scm +2 -0
  87. package/out/gdscript/locals.scm +121 -0
  88. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  89. package/out/gdshader/highlights.scm +256 -0
  90. package/out/gdshader/injections.scm +2 -0
  91. package/out/gdshader/locals.scm +24 -0
  92. package/out/gdshader/tags.scm +13 -0
  93. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  94. package/out/git-config/highlights.scm +28 -0
  95. package/out/git-config/tree-sitter-git-config.wasm +0 -0
  96. package/out/git-rebase/highlights.scm +36 -0
  97. package/out/git-rebase/tree-sitter-git-rebase.wasm +0 -0
  98. package/out/gitattributes/highlights.scm +52 -0
  99. package/out/gitattributes/injections.scm +2 -0
  100. package/out/gitattributes/locals.scm +8 -0
  101. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  102. package/out/gitignore/highlights.scm +36 -0
  103. package/out/gitignore/injections.scm +2 -0
  104. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  105. package/out/go/folds.scm +19 -0
  106. package/out/go/indents.scm +48 -0
  107. package/out/go/injections.scm +42 -0
  108. package/out/go/locals.scm +88 -0
  109. package/out/godot-resource/tree-sitter-godot-resource.wasm +0 -0
  110. package/out/graphql/highlights.scm +163 -0
  111. package/out/graphql/indents.scm +11 -0
  112. package/out/graphql/injections.scm +2 -0
  113. package/out/groovy/folds.scm +6 -0
  114. package/out/groovy/highlights.scm +148 -0
  115. package/out/groovy/indents.scm +23 -0
  116. package/out/groovy/injections.scm +5 -0
  117. package/out/groovy/locals.scm +6 -0
  118. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  119. package/out/haskell/folds.scm +6 -0
  120. package/out/hcl/folds.scm +6 -0
  121. package/out/hcl/highlights.scm +118 -0
  122. package/out/hcl/indents.scm +16 -0
  123. package/out/hcl/injections.scm +6 -0
  124. package/out/html/folds.scm +5 -0
  125. package/out/html/indents.scm +1 -0
  126. package/out/html/locals.scm +1 -0
  127. package/out/ini/folds.scm +1 -0
  128. package/out/ini/highlights.scm +16 -0
  129. package/out/ini/injections.scm +3 -0
  130. package/out/ini/tree-sitter-ini.wasm +0 -0
  131. package/out/java/folds.scm +8 -0
  132. package/out/java/indents.scm +40 -0
  133. package/out/java/injections.scm +31 -0
  134. package/out/java/locals.scm +100 -0
  135. package/out/javascript/folds.scm +1 -0
  136. package/out/javascript/indents.scm +1 -0
  137. package/out/json/folds.scm +5 -0
  138. package/out/json/indents.scm +11 -0
  139. package/out/json/injections.scm +2 -0
  140. package/out/json/locals.scm +4 -0
  141. package/out/julia/folds.scm +14 -0
  142. package/out/julia/indents.scm +52 -0
  143. package/out/kotlin/folds.scm +13 -0
  144. package/out/kotlin/injections.scm +52 -0
  145. package/out/kotlin/locals.scm +78 -0
  146. package/out/lua/folds.scm +12 -0
  147. package/out/lua/indents.scm +47 -0
  148. package/out/markdown/folds.scm +12 -0
  149. package/out/markdown/indents.scm +1 -0
  150. package/out/matlab/folds.scm +13 -0
  151. package/out/matlab/highlights.scm +218 -0
  152. package/out/matlab/indents.scm +40 -0
  153. package/out/matlab/injections.scm +2 -0
  154. package/out/matlab/locals.scm +33 -0
  155. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  156. package/out/nim/folds.scm +41 -0
  157. package/out/nim/highlights.scm +186 -0
  158. package/out/nim/injections.scm +79 -0
  159. package/out/nim/locals.scm +328 -0
  160. package/out/nim/tree-sitter-nim.wasm +0 -0
  161. package/out/nix/folds.scm +11 -0
  162. package/out/nix/indents.scm +75 -0
  163. package/out/ocaml/folds.scm +30 -0
  164. package/out/ocaml/indents.scm +77 -0
  165. package/out/ocaml/injections.scm +2 -0
  166. package/out/php/folds.scm +1 -0
  167. package/out/php/indents.scm +1 -0
  168. package/out/php/locals.scm +1 -0
  169. package/out/prisma/folds.scm +7 -0
  170. package/out/prisma/injections.scm +5 -0
  171. package/out/python/folds.scm +28 -0
  172. package/out/python/indents.scm +213 -0
  173. package/out/python/injections.scm +30 -0
  174. package/out/python/locals.scm +124 -0
  175. package/out/qmljs/folds.scm +8 -0
  176. package/out/qmljs/highlights.scm +61 -0
  177. package/out/qmljs/injections.scm +1 -0
  178. package/out/qmljs/locals.scm +6 -0
  179. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  180. package/out/query/folds.scm +6 -0
  181. package/out/query/highlights.scm +102 -0
  182. package/out/query/indents.scm +25 -0
  183. package/out/query/injections.scm +28 -0
  184. package/out/query/locals.scm +21 -0
  185. package/out/r/indents.scm +33 -0
  186. package/out/r/injections.scm +2 -0
  187. package/out/racket/folds.scm +2 -0
  188. package/out/racket/injections.scm +5 -0
  189. package/out/ruby/folds.scm +12 -0
  190. package/out/ruby/indents.scm +43 -0
  191. package/out/ruby/injections.scm +34 -0
  192. package/out/rust/folds.scm +25 -0
  193. package/out/rust/indents.scm +133 -0
  194. package/out/rust/locals.scm +98 -0
  195. package/out/scala/folds.scm +16 -0
  196. package/out/scala/injections.scm +5 -0
  197. package/out/scheme/folds.scm +2 -0
  198. package/out/scheme/injections.scm +2 -0
  199. package/out/scss/folds.scm +1 -0
  200. package/out/scss/indents.scm +7 -0
  201. package/out/scss/injections.scm +2 -0
  202. package/out/sql/folds.scm +1 -0
  203. package/out/sql/highlights.scm +445 -0
  204. package/out/sql/indents.scm +27 -0
  205. package/out/sql/injections.scm +5 -0
  206. package/out/sql/tree-sitter-sql.wasm +0 -0
  207. package/out/terraform/folds.scm +1 -0
  208. package/out/terraform/highlights.scm +41 -0
  209. package/out/terraform/indents.scm +1 -0
  210. package/out/terraform/injections.scm +1 -0
  211. package/out/toml/folds.scm +5 -0
  212. package/out/toml/indents.scm +11 -0
  213. package/out/toml/injections.scm +2 -0
  214. package/out/toml/locals.scm +4 -0
  215. package/out/tsx/folds.scm +1 -0
  216. package/out/tsx/indents.scm +1 -0
  217. package/out/tsx/injections.scm +1 -0
  218. package/out/typescript/folds.scm +8 -0
  219. package/out/typescript/indents.scm +7 -0
  220. package/out/typescript/injections.scm +28 -0
  221. package/out/vim/folds.scm +4 -0
  222. package/out/vim/highlights.scm +362 -0
  223. package/out/vim/injections.scm +44 -0
  224. package/out/vim/locals.scm +19 -0
  225. package/out/vim/tree-sitter-vim.wasm +0 -0
  226. package/out/vimdoc/highlights.scm +74 -0
  227. package/out/vimdoc/injections.scm +4 -0
  228. package/out/vue/folds.scm +6 -0
  229. package/out/vue/highlights.scm +54 -0
  230. package/out/vue/indents.scm +7 -0
  231. package/out/vue/injections.scm +78 -0
  232. package/out/vue/tree-sitter-vue.wasm +0 -0
  233. package/out/xml/folds.scm +5 -0
  234. package/out/xml/highlights.scm +198 -0
  235. package/out/xml/indents.scm +16 -0
  236. package/out/xml/injections.scm +32 -0
  237. package/out/xml/locals.scm +35 -0
  238. package/out/yaml/folds.scm +4 -0
  239. package/out/yaml/highlights.scm +79 -0
  240. package/out/yaml/indents.scm +7 -0
  241. package/out/yaml/injections.scm +81 -0
  242. package/out/yaml/locals.scm +9 -0
  243. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  244. package/out/zig/locals.scm +96 -0
  245. package/package.json +61 -19
  246. package/out/clojurescript/highlights.scm +0 -29
  247. package/out/clojurescript/tree-sitter-clojurescript.wasm +0 -0
@@ -0,0 +1,99 @@
1
+ [
2
+ (compound_statement)
3
+ (field_declaration_list)
4
+ (case_statement)
5
+ (enumerator_list)
6
+ (compound_literal_expression)
7
+ (initializer_list)
8
+ (init_declarator)
9
+ ] @indent.begin
10
+
11
+ ; With current indent logic, if we capture expression_statement with @indent.begin
12
+ ; It will be affected by _parent_ node with error subnodes deep down the tree
13
+ ; So narrow indent capture to check for error inside expression statement only,
14
+ (expression_statement
15
+ (_) @indent.begin
16
+ ";" @indent.end)
17
+
18
+ (ERROR
19
+ "for"
20
+ "(" @indent.begin
21
+ ";"
22
+ ";"
23
+ ")" @indent.end)
24
+
25
+ ((for_statement
26
+ body: (_) @_body) @indent.begin
27
+ (#not-kind-eq? @_body "compound_statement"))
28
+
29
+ (while_statement
30
+ condition: (_) @indent.begin)
31
+
32
+ ((while_statement
33
+ body: (_) @_body) @indent.begin
34
+ (#not-kind-eq? @_body "compound_statement"))
35
+
36
+ ((if_statement)
37
+ .
38
+ (ERROR
39
+ "else" @indent.begin))
40
+
41
+ (if_statement
42
+ condition: (_) @indent.begin)
43
+
44
+ ; Supports if without braces (but not both if-else without braces)
45
+ (if_statement
46
+ consequence: (_
47
+ ";" @indent.end) @_consequence
48
+ (#not-kind-eq? @_consequence "compound_statement")
49
+ alternative: (else_clause
50
+ "else" @indent.branch
51
+ [
52
+ (if_statement
53
+ (compound_statement) @indent.dedent)? @indent.dedent
54
+ (compound_statement)? @indent.dedent
55
+ (_)? @indent.dedent
56
+ ])?) @indent.begin
57
+
58
+ (else_clause
59
+ (_
60
+ .
61
+ "{" @indent.branch))
62
+
63
+ (compound_statement
64
+ "}" @indent.end)
65
+
66
+ [
67
+ ")"
68
+ "}"
69
+ (statement_identifier)
70
+ ] @indent.branch
71
+
72
+ [
73
+ "#define"
74
+ "#ifdef"
75
+ "#ifndef"
76
+ "#elif"
77
+ "#if"
78
+ "#else"
79
+ "#endif"
80
+ ] @indent.zero
81
+
82
+ [
83
+ (preproc_arg)
84
+ (string_literal)
85
+ ] @indent.ignore
86
+
87
+ ((ERROR
88
+ (parameter_declaration)) @indent.align
89
+ (#set! indent.open_delimiter "(")
90
+ (#set! indent.close_delimiter ")"))
91
+
92
+ ([
93
+ (argument_list)
94
+ (parameter_list)
95
+ ] @indent.align
96
+ (#set! indent.open_delimiter "(")
97
+ (#set! indent.close_delimiter ")"))
98
+
99
+ (comment) @indent.auto
@@ -0,0 +1,128 @@
1
+ ((preproc_arg) @injection.content
2
+ (#set! injection.self))
3
+
4
+ ((comment) @injection.content
5
+ (#set! injection.language "comment"))
6
+
7
+ ((comment) @injection.content
8
+ (#match? @injection.content "/\\*!([a-zA-Z]+:)?re2c")
9
+ (#set! injection.language "re2c"))
10
+
11
+ ((comment) @injection.content
12
+ (#lua-match? @injection.content "/[*/][!*/]<?[^a-zA-Z]")
13
+ (#set! injection.language "doxygen"))
14
+
15
+ ((call_expression
16
+ function: (identifier) @_function
17
+ arguments: (argument_list
18
+ .
19
+ [
20
+ (string_literal
21
+ (string_content) @injection.content)
22
+ (concatenated_string
23
+ (string_literal
24
+ (string_content) @injection.content))
25
+ ]))
26
+ ; format-ignore
27
+ (#any-of? @_function
28
+ "printf" "printf_s"
29
+ "vprintf" "vprintf_s"
30
+ "scanf" "scanf_s"
31
+ "vscanf" "vscanf_s"
32
+ "wprintf" "wprintf_s"
33
+ "vwprintf" "vwprintf_s"
34
+ "wscanf" "wscanf_s"
35
+ "vwscanf" "vwscanf_s"
36
+ "cscanf" "_cscanf"
37
+ "printw"
38
+ "scanw")
39
+ (#set! injection.language "printf"))
40
+
41
+ ((call_expression
42
+ function: (identifier) @_function
43
+ arguments: (argument_list
44
+ (_)
45
+ .
46
+ [
47
+ (string_literal
48
+ (string_content) @injection.content)
49
+ (concatenated_string
50
+ (string_literal
51
+ (string_content) @injection.content))
52
+ ]))
53
+ ; format-ignore
54
+ (#any-of? @_function
55
+ "fprintf" "fprintf_s"
56
+ "sprintf"
57
+ "dprintf"
58
+ "fscanf" "fscanf_s"
59
+ "sscanf" "sscanf_s"
60
+ "vsscanf" "vsscanf_s"
61
+ "vfprintf" "vfprintf_s"
62
+ "vsprintf"
63
+ "vdprintf"
64
+ "fwprintf" "fwprintf_s"
65
+ "vfwprintf" "vfwprintf_s"
66
+ "fwscanf" "fwscanf_s"
67
+ "swscanf" "swscanf_s"
68
+ "vswscanf" "vswscanf_s"
69
+ "vfscanf" "vfscanf_s"
70
+ "vfwscanf" "vfwscanf_s"
71
+ "wprintw"
72
+ "vw_printw" "vwprintw"
73
+ "wscanw"
74
+ "vw_scanw" "vwscanw")
75
+ (#set! injection.language "printf"))
76
+
77
+ ((call_expression
78
+ function: (identifier) @_function
79
+ arguments: (argument_list
80
+ (_)
81
+ .
82
+ (_)
83
+ .
84
+ [
85
+ (string_literal
86
+ (string_content) @injection.content)
87
+ (concatenated_string
88
+ (string_literal
89
+ (string_content) @injection.content))
90
+ ]))
91
+ ; format-ignore
92
+ (#any-of? @_function
93
+ "sprintf_s"
94
+ "snprintf" "snprintf_s"
95
+ "vsprintf_s"
96
+ "vsnprintf" "vsnprintf_s"
97
+ "swprintf" "swprintf_s"
98
+ "snwprintf_s"
99
+ "vswprintf" "vswprintf_s"
100
+ "vsnwprintf_s"
101
+ "mvprintw"
102
+ "mvscanw")
103
+ (#set! injection.language "printf"))
104
+
105
+ ((call_expression
106
+ function: (identifier) @_function
107
+ arguments: (argument_list
108
+ (_)
109
+ .
110
+ (_)
111
+ .
112
+ (_)
113
+ .
114
+ [
115
+ (string_literal
116
+ (string_content) @injection.content)
117
+ (concatenated_string
118
+ (string_literal
119
+ (string_content) @injection.content))
120
+ ]))
121
+ (#any-of? @_function "mvwprintw" "mvwscanw")
122
+ (#set! injection.language "printf"))
123
+
124
+ ; TODO: add when asm is added
125
+ ; (gnu_asm_expression assembly_code: (string_literal) @injection.content
126
+ ; (#set! injection.language "asm"))
127
+ ; (gnu_asm_expression assembly_code: (concatenated_string (string_literal) @injection.content)
128
+ ; (#set! injection.language "asm"))
@@ -0,0 +1,67 @@
1
+ ; Functions definitions
2
+ (function_declarator
3
+ declarator: (identifier) @local.definition.function)
4
+
5
+ (preproc_function_def
6
+ name: (identifier) @local.definition.macro) @local.scope
7
+
8
+ (preproc_def
9
+ name: (identifier) @local.definition.macro)
10
+
11
+ (pointer_declarator
12
+ declarator: (identifier) @local.definition.var)
13
+
14
+ (parameter_declaration
15
+ declarator: (identifier) @local.definition.parameter)
16
+
17
+ (init_declarator
18
+ declarator: (identifier) @local.definition.var)
19
+
20
+ (array_declarator
21
+ declarator: (identifier) @local.definition.var)
22
+
23
+ (declaration
24
+ declarator: (identifier) @local.definition.var)
25
+
26
+ (enum_specifier
27
+ name: (_) @local.definition.type
28
+ (enumerator_list
29
+ (enumerator
30
+ name: (identifier) @local.definition.var)))
31
+
32
+ ; Type / Struct / Enum
33
+ (field_declaration
34
+ declarator: (field_identifier) @local.definition.field)
35
+
36
+ (type_definition
37
+ declarator: (type_identifier) @local.definition.type)
38
+
39
+ (struct_specifier
40
+ name: (type_identifier) @local.definition.type)
41
+
42
+ ; goto
43
+ (labeled_statement
44
+ (statement_identifier) @local.definition)
45
+
46
+ ; References
47
+ (identifier) @local.reference
48
+
49
+ ((field_identifier) @local.reference
50
+ (#set! reference.kind "field"))
51
+
52
+ ((type_identifier) @local.reference
53
+ (#set! reference.kind "type"))
54
+
55
+ (goto_statement
56
+ (statement_identifier) @local.reference)
57
+
58
+ ; Scope
59
+ [
60
+ (for_statement)
61
+ (if_statement)
62
+ (while_statement)
63
+ (translation_unit)
64
+ (function_definition)
65
+ (compound_statement) ; a block in curly braces
66
+ (struct_specifier)
67
+ ] @local.scope
@@ -0,0 +1,2 @@
1
+ (source
2
+ (list_lit) @fold)
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1 @@
1
+ ; placeholder file to get incremental selection to work
@@ -0,0 +1,8 @@
1
+ [
2
+ (if_condition)
3
+ (foreach_loop)
4
+ (while_loop)
5
+ (function_def)
6
+ (macro_def)
7
+ (block_def)
8
+ ] @fold
@@ -0,0 +1,221 @@
1
+ (normal_command
2
+ (identifier)
3
+ (argument_list
4
+ (argument
5
+ (unquoted_argument)) @constant)
6
+ (#lua-match? @constant "^[%u@][%u%d_]+$"))
7
+
8
+ [
9
+ (quoted_argument)
10
+ (bracket_argument)
11
+ ] @string
12
+
13
+ (variable_ref) @none
14
+
15
+ (variable) @variable
16
+
17
+ [
18
+ (bracket_comment)
19
+ (line_comment)
20
+ ] @comment @spell
21
+
22
+ (normal_command
23
+ (identifier) @function)
24
+
25
+ [
26
+ "ENV"
27
+ "CACHE"
28
+ ] @module
29
+
30
+ [
31
+ "$"
32
+ "{"
33
+ "}"
34
+ ] @punctuation.special
35
+
36
+ [
37
+ "("
38
+ ")"
39
+ ] @punctuation.bracket
40
+
41
+ [
42
+ (function)
43
+ (endfunction)
44
+ (macro)
45
+ (endmacro)
46
+ ] @keyword.function
47
+
48
+ [
49
+ (if)
50
+ (elseif)
51
+ (else)
52
+ (endif)
53
+ ] @keyword.conditional
54
+
55
+ [
56
+ (foreach)
57
+ (endforeach)
58
+ (while)
59
+ (endwhile)
60
+ ] @keyword.repeat
61
+
62
+ (normal_command
63
+ (identifier) @keyword.repeat
64
+ (#match? @keyword.repeat "^([cC][oO][nN][tT][iI][nN][uU][eE]|[bB][rR][eE][aA][kK])$"))
65
+
66
+ (normal_command
67
+ (identifier) @keyword.return
68
+ (#match? @keyword.return "^[rR][eE][tT][uU][rR][nN]$"))
69
+
70
+ (function_command
71
+ (function)
72
+ (argument_list
73
+ .
74
+ (argument) @function
75
+ (argument)* @variable.parameter))
76
+
77
+ (macro_command
78
+ (macro)
79
+ (argument_list
80
+ .
81
+ (argument) @function.macro
82
+ (argument)* @variable.parameter))
83
+
84
+ (block_def
85
+ (block_command
86
+ (block) @function.builtin
87
+ (argument_list
88
+ (argument
89
+ (unquoted_argument) @constant
90
+ (#any-of? @constant "SCOPE_FOR" "POLICIES" "VARIABLES" "PROPAGATE")
91
+ )*
92
+ )?
93
+ )
94
+ (endblock_command (endblock) @function.builtin))
95
+
96
+ ((argument) @boolean
97
+ (#match? @boolean "^(1|[oO][nN]|[yY][eE][sS]|[tT][rR][uU][eE]|[yY]|0|[oO][fF][fF]|[nN][oO]|[fF][aA][lL][sS][eE]|[nN]|[iI][gG][nN][oO][rR][eE]|[nN][oO][tT][fF][oO][uU][nN][dD]|.*-[nN][oO][tT][fF][oO][uU][nN][dD])$"))
98
+
99
+ (if_command
100
+ (if)
101
+ (argument_list
102
+ (argument) @keyword.operator)
103
+ (#any-of? @keyword.operator
104
+ "NOT" "AND" "OR" "COMMAND" "POLICY" "TARGET" "TEST" "DEFINED" "IN_LIST" "EXISTS" "IS_NEWER_THAN"
105
+ "IS_DIRECTORY" "IS_SYMLINK" "IS_ABSOLUTE" "MATCHES" "LESS" "GREATER" "EQUAL" "LESS_EQUAL"
106
+ "GREATER_EQUAL" "STRLESS" "STRGREATER" "STREQUAL" "STRLESS_EQUAL" "STRGREATER_EQUAL"
107
+ "VERSION_LESS" "VERSION_GREATER" "VERSION_EQUAL" "VERSION_LESS_EQUAL" "VERSION_GREATER_EQUAL"))
108
+
109
+ (elseif_command
110
+ (elseif)
111
+ (argument_list
112
+ (argument) @keyword.operator)
113
+ (#any-of? @keyword.operator
114
+ "NOT" "AND" "OR" "COMMAND" "POLICY" "TARGET" "TEST" "DEFINED" "IN_LIST" "EXISTS" "IS_NEWER_THAN"
115
+ "IS_DIRECTORY" "IS_SYMLINK" "IS_ABSOLUTE" "MATCHES" "LESS" "GREATER" "EQUAL" "LESS_EQUAL"
116
+ "GREATER_EQUAL" "STRLESS" "STRGREATER" "STREQUAL" "STRLESS_EQUAL" "STRGREATER_EQUAL"
117
+ "VERSION_LESS" "VERSION_GREATER" "VERSION_EQUAL" "VERSION_LESS_EQUAL" "VERSION_GREATER_EQUAL"))
118
+
119
+ (normal_command
120
+ (identifier) @function.builtin
121
+ (#match? @function.builtin
122
+ "^([cC][mM][aA][kK][eE]_[hH][oO][sS][tT]_[sS][yY][sS][tT][eE][mM]_[iI][nN][fF][oO][rR][mM][aA][tT][iI][oO][nN]|[cC][mM][aA][kK][eE]_[lL][aA][nN][gG][uU][aA][gG][eE]|[cC][mM][aA][kK][eE]_[mM][iI][nN][iI][mM][uU][mM]_[rR][eE][qQ][uU][iI][rR][eE][dD]|[cC][mM][aA][kK][eE]_[pP][aA][rR][sS][eE]_[aA][rR][gG][uU][mM][eE][nN][tT][sS]|[cC][mM][aA][kK][eE]_[pP][aA][tT][hH]|[cC][mM][aA][kK][eE]_[pP][oO][lL][iI][cC][yY]|[cC][oO][nN][fF][iI][gG][uU][rR][eE]_[fF][iI][lL][eE]|[eE][xX][eE][cC][uU][tT][eE]_[pP][rR][oO][cC][eE][sS][sS]|[fF][iI][lL][eE]|[fF][iI][nN][dD]_[fF][iI][lL][eE]|[fF][iI][nN][dD]_[lL][iI][bB][rR][aA][rR][yY]|[fF][iI][nN][dD]_[pP][aA][cC][kK][aA][gG][eE]|[fF][iI][nN][dD]_[pP][aA][tT][hH]|[fF][iI][nN][dD]_[pP][rR][oO][gG][rR][aA][mM]|[fF][oO][rR][eE][aA][cC][hH]|[gG][eE][tT]_[cC][mM][aA][kK][eE]_[pP][rR][oO][pP][eE][rR][tT][yY]|[gG][eE][tT]_[dD][iI][rR][eE][cC][tT][oO][rR][yY]_[pP][rR][oO][pP][eE][rR][tT][yY]|[gG][eE][tT]_[fF][iI][lL][eE][nN][aA][mM][eE]_[cC][oO][mM][pP][oO][nN][eE][nN][tT]|[gG][eE][tT]_[pP][rR][oO][pP][eE][rR][tT][yY]|[iI][nN][cC][lL][uU][dD][eE]|[iI][nN][cC][lL][uU][dD][eE]_[gG][uU][aA][rR][dD]|[lL][iI][sS][tT]|[mM][aA][cC][rR][oO]|[mM][aA][rR][kK]_[aA][sS]_[aA][dD][vV][aA][nN][cC][eE][dD]|[mM][aA][tT][hH]|[mM][eE][sS][sS][aA][gG][eE]|[oO][pP][tT][iI][oO][nN]|[sS][eE][pP][aA][rR][aA][tT][eE]_[aA][rR][gG][uU][mM][eE][nN][tT][sS]|[sS][eE][tT]|[sS][eE][tT]_[dD][iI][rR][eE][cC][tT][oO][rR][yY]_[pP][rR][oO][pP][eE][rR][tT][iI][eE][sS]|[sS][eE][tT]_[pP][rR][oO][pP][eE][rR][tT][yY]|[sS][iI][tT][eE]_[nN][aA][mM][eE]|[sS][tT][rR][iI][nN][gG]|[uU][nN][sS][eE][tT]|[vV][aA][rR][iI][aA][bB][lL][eE]_[wW][aA][tT][cC][hH]|[aA][dD][dD]_[cC][oO][mM][pP][iI][lL][eE]_[dD][eE][fF][iI][nN][iI][tT][iI][oO][nN][sS]|[aA][dD][dD]_[cC][oO][mM][pP][iI][lL][eE]_[oO][pP][tT][iI][oO][nN][sS]|[aA][dD][dD]_[cC][uU][sS][tT][oO][mM]_[cC][oO][mM][mM][aA][nN][dD]|[aA][dD][dD]_[cC][uU][sS][tT][oO][mM]_[tT][aA][rR][gG][eE][tT]|[aA][dD][dD]_[dD][eE][fF][iI][nN][iI][tT][iI][oO][nN][sS]|[aA][dD][dD]_[dD][eE][pP][eE][nN][dD][eE][nN][cC][iI][eE][sS]|[aA][dD][dD]_[eE][xX][eE][cC][uU][tT][aA][bB][lL][eE]|[aA][dD][dD]_[lL][iI][bB][rR][aA][rR][yY]|[aA][dD][dD]_[lL][iI][nN][kK]_[oO][pP][tT][iI][oO][nN][sS]|[aA][dD][dD]_[sS][uU][bB][dD][iI][rR][eE][cC][tT][oO][rR][yY]|[aA][dD][dD]_[tT][eE][sS][tT]|[aA][uU][xX]_[sS][oO][uU][rR][cC][eE]_[dD][iI][rR][eE][cC][tT][oO][rR][yY]|[bB][uU][iI][lL][dD]_[cC][oO][mM][mM][aA][nN][dD]|[cC][rR][eE][aA][tT][eE]_[tT][eE][sS][tT]_[sS][oO][uU][rR][cC][eE][lL][iI][sS][tT]|[dD][eE][fF][iI][nN][eE]_[pP][rR][oO][pP][eE][rR][tT][yY]|[eE][nN][aA][bB][lL][eE]_[lL][aA][nN][gG][uU][aA][gG][eE]|[eE][nN][aA][bB][lL][eE]_[tT][eE][sS][tT][iI][nN][gG]|[eE][xX][pP][oO][rR][tT]|[fF][lL][tT][kK]_[wW][rR][aA][pP]_[uU][iI]|[gG][eE][tT]_[sS][oO][uU][rR][cC][eE]_[fF][iI][lL][eE]_[pP][rR][oO][pP][eE][rR][tT][yY]|[gG][eE][tT]_[tT][aA][rR][gG][eE][tT]_[pP][rR][oO][pP][eE][rR][tT][yY]|[gG][eE][tT]_[tT][eE][sS][tT]_[pP][rR][oO][pP][eE][rR][tT][yY]|[iI][nN][cC][lL][uU][dD][eE]_[dD][iI][rR][eE][cC][tT][oO][rR][iI][eE][sS]|[iI][nN][cC][lL][uU][dD][eE]_[eE][xX][tT][eE][rR][nN][aA][lL]_[mM][sS][pP][rR][oO][jJ][eE][cC][tT]|[iI][nN][cC][lL][uU][dD][eE]_[rR][eE][gG][uU][lL][aA][rR]_[eE][xX][pP][rR][eE][sS][sS][iI][oO][nN]|[iI][nN][sS][tT][aA][lL][lL]|[lL][iI][nN][kK]_[dD][iI][rR][eE][cC][tT][oO][rR][iI][eE][sS]|[lL][iI][nN][kK]_[lL][iI][bB][rR][aA][rR][iI][eE][sS]|[lL][oO][aA][dD]_[cC][aA][cC][hH][eE]|[pP][rR][oO][jJ][eE][cC][tT]|[rR][eE][mM][oO][vV][eE]_[dD][eE][fF][iI][nN][iI][tT][iI][oO][nN][sS]|[sS][eE][tT]_[sS][oO][uU][rR][cC][eE]_[fF][iI][lL][eE][sS]_[pP][rR][oO][pP][eE][rR][tT][iI][eE][sS]|[sS][eE][tT]_[tT][aA][rR][gG][eE][tT]_[pP][rR][oO][pP][eE][rR][tT][iI][eE][sS]|[sS][eE][tT]_[tT][eE][sS][tT][sS]_[pP][rR][oO][pP][eE][rR][tT][iI][eE][sS]|[sS][oO][uU][rR][cC][eE]_[gG][rR][oO][uU][pP]|[tT][aA][rR][gG][eE][tT]_[cC][oO][mM][pP][iI][lL][eE]_[dD][eE][fF][iI][nN][iI][tT][iI][oO][nN][sS]|[tT][aA][rR][gG][eE][tT]_[cC][oO][mM][pP][iI][lL][eE]_[fF][eE][aA][tT][uU][rR][eE][sS]|[tT][aA][rR][gG][eE][tT]_[cC][oO][mM][pP][iI][lL][eE]_[oO][pP][tT][iI][oO][nN][sS]|[tT][aA][rR][gG][eE][tT]_[iI][nN][cC][lL][uU][dD][eE]_[dD][iI][rR][eE][cC][tT][oO][rR][iI][eE][sS]|[tT][aA][rR][gG][eE][tT]_[lL][iI][nN][kK]_[dD][iI][rR][eE][cC][tT][oO][rR][iI][eE][sS]|[tT][aA][rR][gG][eE][tT]_[lL][iI][nN][kK]_[lL][iI][bB][rR][aA][rR][iI][eE][sS]|[tT][aA][rR][gG][eE][tT]_[lL][iI][nN][kK]_[oO][pP][tT][iI][oO][nN][sS]|[tT][aA][rR][gG][eE][tT]_[pP][rR][eE][cC][oO][mM][pP][iI][lL][eE]_[hH][eE][aA][dD][eE][rR][sS]|[tT][aA][rR][gG][eE][tT]_[sS][oO][uU][rR][cC][eE][sS]|[tT][rR][yY]_[cC][oO][mM][pP][iI][lL][eE]|[tT][rR][yY]_[rR][uU][nN]|[cC][tT][eE][sS][tT]_[bB][uU][iI][lL][dD]|[cC][tT][eE][sS][tT]_[cC][oO][nN][fF][iI][gG][uU][rR][eE]|[cC][tT][eE][sS][tT]_[cC][oO][vV][eE][rR][aA][gG][eE]|[cC][tT][eE][sS][tT]_[eE][mM][pP][tT][yY]_[bB][iI][nN][aA][rR][yY]_[dD][iI][rR][eE][cC][tT][oO][rR][yY]|[cC][tT][eE][sS][tT]_[mM][eE][mM][cC][hH][eE][cC][kK]|[cC][tT][eE][sS][tT]_[rR][eE][aA][dD]_[cC][uU][sS][tT][oO][mM]_[fF][iI][lL][eE][sS]|[cC][tT][eE][sS][tT]_[rR][uU][nN]_[sS][cC][rR][iI][pP][tT]|[cC][tT][eE][sS][tT]_[sS][lL][eE][eE][pP]|[cC][tT][eE][sS][tT]_[sS][tT][aA][rR][tT]|[cC][tT][eE][sS][tT]_[sS][uU][bB][mM][iI][tT]|[cC][tT][eE][sS][tT]_[tT][eE][sS][tT]|[cC][tT][eE][sS][tT]_[uU][pP][dD][aA][tT][eE]|[cC][tT][eE][sS][tT]_[uU][pP][lL][oO][aA][dD])$"))
123
+
124
+ (normal_command
125
+ (identifier) @_function
126
+ (argument_list
127
+ .
128
+ (argument) @variable)
129
+ (#match? @_function "^[sS][eE][tT]$"))
130
+
131
+ (normal_command
132
+ (identifier) @_function
133
+ (#match? @_function "^[sS][eE][tT]$")
134
+ (argument_list
135
+ .
136
+ (argument)
137
+ ((argument) @_cache @keyword.modifier
138
+ .
139
+ (argument) @_type @type
140
+ (#any-of? @_cache "CACHE")
141
+ (#any-of? @_type "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL"))))
142
+
143
+ (normal_command
144
+ (identifier) @_function
145
+ (#match? @_function "^[uU][nN][sS][eE][tT]$")
146
+ (argument_list
147
+ .
148
+ (argument)
149
+ (argument) @keyword.modifier
150
+ (#any-of? @keyword.modifier "CACHE" "PARENT_SCOPE")))
151
+
152
+ (normal_command
153
+ (identifier) @_function
154
+ (#match? @_function "^[lL][iI][sS][tT]$")
155
+ (argument_list
156
+ .
157
+ (argument) @constant
158
+ (#any-of? @constant "LENGTH" "GET" "JOIN" "SUBLIST" "FIND")
159
+ .
160
+ (argument) @variable
161
+ (argument) @variable .))
162
+
163
+ (normal_command
164
+ (identifier) @_function
165
+ (#match? @_function "^[lL][iI][sS][tT]$")
166
+ (argument_list
167
+ .
168
+ (argument) @constant
169
+ .
170
+ (argument) @variable
171
+ (#any-of? @constant
172
+ "APPEND" "FILTER" "INSERT" "POP_BACK" "POP_FRONT" "PREPEND" "REMOVE_ITEM" "REMOVE_AT"
173
+ "REMOVE_DUPLICATES" "REVERSE" "SORT")))
174
+
175
+ (normal_command
176
+ (identifier) @_function
177
+ (#match? @_function "^[lL][iI][sS][tT]$")
178
+ (argument_list
179
+ .
180
+ (argument) @_transform @constant
181
+ .
182
+ (argument) @variable
183
+ .
184
+ (argument) @_action @constant
185
+ (#eq? @_transform "TRANSFORM")
186
+ (#any-of? @_action "APPEND" "PREPEND" "TOUPPER" "TOLOWER" "STRIP" "GENEX_STRIP" "REPLACE")))
187
+
188
+ (normal_command
189
+ (identifier) @_function
190
+ (#match? @_function "^[lL][iI][sS][tT]$")
191
+ (argument_list
192
+ .
193
+ (argument) @_transform @constant
194
+ .
195
+ (argument) @variable
196
+ .
197
+ (argument) @_action @constant
198
+ .
199
+ (argument)? @_selector @constant
200
+ (#eq? @_transform "TRANSFORM")
201
+ (#any-of? @_action "APPEND" "PREPEND" "TOUPPER" "TOLOWER" "STRIP" "GENEX_STRIP" "REPLACE")
202
+ (#any-of? @_selector "AT" "FOR" "REGEX")))
203
+
204
+ (normal_command
205
+ (identifier) @_function
206
+ (#match? @_function "^[lL][iI][sS][tT]$")
207
+ (argument_list
208
+ .
209
+ (argument) @_transform @constant
210
+ (argument) @constant
211
+ .
212
+ (argument) @variable
213
+ (#eq? @_transform "TRANSFORM")
214
+ (#eq? @constant "OUTPUT_VARIABLE")))
215
+
216
+ (escape_sequence) @string.escape
217
+
218
+ ((source_file
219
+ .
220
+ (line_comment) @keyword.directive @nospell)
221
+ (#lua-match? @keyword.directive "^#!/"))
@@ -0,0 +1,26 @@
1
+ [
2
+ (normal_command)
3
+ (if_condition)
4
+ (foreach_loop)
5
+ (while_loop)
6
+ (function_def)
7
+ (macro_def)
8
+ (block_def)
9
+ ] @indent.begin
10
+
11
+ [
12
+ (elseif_command)
13
+ (else_command)
14
+ (endif_command)
15
+ (endforeach_command)
16
+ (endwhile_command)
17
+ (endfunction_command)
18
+ (endmacro_command)
19
+ (endblock_command)
20
+ ] @indent.branch
21
+
22
+ ")" @indent.branch
23
+
24
+ ")" @indent.end
25
+
26
+ (argument_list) @indent.auto
@@ -0,0 +1,5 @@
1
+ ([
2
+ (bracket_comment)
3
+ (line_comment)
4
+ ] @injection.content
5
+ (#set! injection.language "comment"))
Binary file
@@ -0,0 +1,49 @@
1
+ ((tag
2
+ (name) @comment.todo @nospell
3
+ ("(" @punctuation.bracket
4
+ (user) @constant
5
+ ")" @punctuation.bracket)?
6
+ ":" @punctuation.delimiter)
7
+ (#any-of? @comment.todo "TODO" "WIP"))
8
+
9
+ ("text" @comment.todo @nospell
10
+ (#any-of? @comment.todo "TODO" "WIP"))
11
+
12
+ ((tag
13
+ (name) @comment.note @nospell
14
+ ("(" @punctuation.bracket
15
+ (user) @constant
16
+ ")" @punctuation.bracket)?
17
+ ":" @punctuation.delimiter)
18
+ (#any-of? @comment.note "NOTE" "XXX" "INFO" "DOCS" "PERF" "TEST"))
19
+
20
+ ("text" @comment.note @nospell
21
+ (#any-of? @comment.note "NOTE" "XXX" "INFO" "DOCS" "PERF" "TEST"))
22
+
23
+ ((tag
24
+ (name) @comment.warning @nospell
25
+ ("(" @punctuation.bracket
26
+ (user) @constant
27
+ ")" @punctuation.bracket)?
28
+ ":" @punctuation.delimiter)
29
+ (#any-of? @comment.warning "HACK" "WARNING" "WARN" "FIX"))
30
+
31
+ ("text" @comment.warning @nospell
32
+ (#any-of? @comment.warning "HACK" "WARNING" "WARN" "FIX"))
33
+
34
+ ((tag
35
+ (name) @comment.error @nospell
36
+ ("(" @punctuation.bracket
37
+ (user) @constant
38
+ ")" @punctuation.bracket)?
39
+ ":" @punctuation.delimiter)
40
+ (#any-of? @comment.error "FIXME" "BUG" "ERROR"))
41
+
42
+ ("text" @comment.error @nospell
43
+ (#any-of? @comment.error "FIXME" "BUG" "ERROR"))
44
+
45
+ ; Issue number (#123)
46
+ ("text" @number
47
+ (#lua-match? @number "^#[0-9]+$"))
48
+
49
+ (uri) @string.special.url @nospell
@@ -0,0 +1,2 @@
1
+ (source
2
+ (list_lit) @fold)