ts-wasms 1.0.2

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 (94) hide show
  1. package/LICENSE +21 -0
  2. package/README +2 -0
  3. package/out/bash/highlights.scm +56 -0
  4. package/out/bash/tree-sitter-bash.wasm +0 -0
  5. package/out/c/highlights.scm +81 -0
  6. package/out/c/tags.scm +9 -0
  7. package/out/c/tree-sitter-c.wasm +0 -0
  8. package/out/c-sharp/highlights.scm +213 -0
  9. package/out/c-sharp/tags.scm +23 -0
  10. package/out/c-sharp/tree-sitter-c_sharp.wasm +0 -0
  11. package/out/cpp/highlights.scm +70 -0
  12. package/out/cpp/injections.scm +3 -0
  13. package/out/cpp/tags.scm +15 -0
  14. package/out/cpp/tree-sitter-cpp.wasm +0 -0
  15. package/out/css/highlights.scm +76 -0
  16. package/out/css/tree-sitter-css.wasm +0 -0
  17. package/out/dart/folds.scm +8 -0
  18. package/out/dart/highlights.scm +224 -0
  19. package/out/dart/tree-sitter-dart.wasm +0 -0
  20. package/out/elisp/highlights.scm +72 -0
  21. package/out/elisp/tags.scm +5 -0
  22. package/out/elisp/tree-sitter-elisp.wasm +0 -0
  23. package/out/elixir/highlights.scm +223 -0
  24. package/out/elixir/injections.scm +55 -0
  25. package/out/elixir/tags.scm +54 -0
  26. package/out/elixir/tree-sitter-elixir.wasm +0 -0
  27. package/out/embedded-template/highlights.scm +12 -0
  28. package/out/embedded-template/injections-ejs.scm +7 -0
  29. package/out/embedded-template/injections-erb.scm +7 -0
  30. package/out/embedded-template/injections-etlua.scm +7 -0
  31. package/out/embedded-template/tree-sitter-embedded_template.wasm +0 -0
  32. package/out/go/highlights.scm +123 -0
  33. package/out/go/tags.scm +42 -0
  34. package/out/go/tree-sitter-go.wasm +0 -0
  35. package/out/haskell/highlights.scm +443 -0
  36. package/out/haskell/injections.scm +76 -0
  37. package/out/haskell/locals.scm +4 -0
  38. package/out/haskell/tree-sitter-haskell.wasm +0 -0
  39. package/out/html/highlights.scm +13 -0
  40. package/out/html/injections.scm +7 -0
  41. package/out/html/tree-sitter-html.wasm +0 -0
  42. package/out/java/highlights.scm +149 -0
  43. package/out/java/tags.scm +20 -0
  44. package/out/java/tree-sitter-java.wasm +0 -0
  45. package/out/javascript/highlights-jsx.scm +8 -0
  46. package/out/javascript/highlights-params.scm +12 -0
  47. package/out/javascript/highlights.scm +204 -0
  48. package/out/javascript/injections.scm +31 -0
  49. package/out/javascript/locals.scm +23 -0
  50. package/out/javascript/tags.scm +99 -0
  51. package/out/javascript/tree-sitter-javascript.wasm +0 -0
  52. package/out/json/highlights.scm +16 -0
  53. package/out/json/tree-sitter-json.wasm +0 -0
  54. package/out/kotlin/highlights.scm +380 -0
  55. package/out/kotlin/tree-sitter-kotlin.wasm +0 -0
  56. package/out/objc/folds.scm +20 -0
  57. package/out/objc/highlights.scm +216 -0
  58. package/out/objc/indents.scm +1 -0
  59. package/out/objc/injections.scm +10 -0
  60. package/out/objc/locals.scm +1 -0
  61. package/out/objc/tree-sitter-objc.wasm +0 -0
  62. package/out/php/tree-sitter-php.wasm +0 -0
  63. package/out/php_only/tree-sitter-php_only.wasm +0 -0
  64. package/out/python/highlights.scm +137 -0
  65. package/out/python/tags.scm +14 -0
  66. package/out/python/tree-sitter-python.wasm +0 -0
  67. package/out/regex/highlights.scm +63 -0
  68. package/out/regex/tree-sitter-regex.wasm +0 -0
  69. package/out/ruby/highlights.scm +154 -0
  70. package/out/ruby/locals.scm +27 -0
  71. package/out/ruby/tags.scm +64 -0
  72. package/out/ruby/tree-sitter-ruby.wasm +0 -0
  73. package/out/rust/highlights.scm +161 -0
  74. package/out/rust/injections.scm +9 -0
  75. package/out/rust/tags.scm +60 -0
  76. package/out/rust/tree-sitter-rust.wasm +0 -0
  77. package/out/scala/highlights.scm +260 -0
  78. package/out/scala/indents.scm +30 -0
  79. package/out/scala/locals.scm +30 -0
  80. package/out/scala/tags.scm +66 -0
  81. package/out/scala/tree-sitter-scala.wasm +0 -0
  82. package/out/swift/folds.scm +35 -0
  83. package/out/swift/highlights.scm +336 -0
  84. package/out/swift/indents.scm +123 -0
  85. package/out/swift/injections.scm +10 -0
  86. package/out/swift/locals.scm +23 -0
  87. package/out/swift/outline.scm +66 -0
  88. package/out/swift/tags.scm +51 -0
  89. package/out/swift/textobjects.scm +19 -0
  90. package/out/swift/tree-sitter-swift.wasm +0 -0
  91. package/out/tsx/tree-sitter-tsx.wasm +0 -0
  92. package/out/typescript/tree-sitter-typescript.wasm +0 -0
  93. package/out/vue/tree-sitter-vue.wasm +0 -0
  94. package/package.json +64 -0
@@ -0,0 +1,123 @@
1
+ ; Function calls
2
+
3
+ (call_expression
4
+ function: (identifier) @function)
5
+
6
+ (call_expression
7
+ function: (identifier) @function.builtin
8
+ (#match? @function.builtin "^(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)$"))
9
+
10
+ (call_expression
11
+ function: (selector_expression
12
+ field: (field_identifier) @function.method))
13
+
14
+ ; Function definitions
15
+
16
+ (function_declaration
17
+ name: (identifier) @function)
18
+
19
+ (method_declaration
20
+ name: (field_identifier) @function.method)
21
+
22
+ ; Identifiers
23
+
24
+ (type_identifier) @type
25
+ (field_identifier) @property
26
+ (identifier) @variable
27
+
28
+ ; Operators
29
+
30
+ [
31
+ "--"
32
+ "-"
33
+ "-="
34
+ ":="
35
+ "!"
36
+ "!="
37
+ "..."
38
+ "*"
39
+ "*"
40
+ "*="
41
+ "/"
42
+ "/="
43
+ "&"
44
+ "&&"
45
+ "&="
46
+ "%"
47
+ "%="
48
+ "^"
49
+ "^="
50
+ "+"
51
+ "++"
52
+ "+="
53
+ "<-"
54
+ "<"
55
+ "<<"
56
+ "<<="
57
+ "<="
58
+ "="
59
+ "=="
60
+ ">"
61
+ ">="
62
+ ">>"
63
+ ">>="
64
+ "|"
65
+ "|="
66
+ "||"
67
+ "~"
68
+ ] @operator
69
+
70
+ ; Keywords
71
+
72
+ [
73
+ "break"
74
+ "case"
75
+ "chan"
76
+ "const"
77
+ "continue"
78
+ "default"
79
+ "defer"
80
+ "else"
81
+ "fallthrough"
82
+ "for"
83
+ "func"
84
+ "go"
85
+ "goto"
86
+ "if"
87
+ "import"
88
+ "interface"
89
+ "map"
90
+ "package"
91
+ "range"
92
+ "return"
93
+ "select"
94
+ "struct"
95
+ "switch"
96
+ "type"
97
+ "var"
98
+ ] @keyword
99
+
100
+ ; Literals
101
+
102
+ [
103
+ (interpreted_string_literal)
104
+ (raw_string_literal)
105
+ (rune_literal)
106
+ ] @string
107
+
108
+ (escape_sequence) @escape
109
+
110
+ [
111
+ (int_literal)
112
+ (float_literal)
113
+ (imaginary_literal)
114
+ ] @number
115
+
116
+ [
117
+ (true)
118
+ (false)
119
+ (nil)
120
+ (iota)
121
+ ] @constant.builtin
122
+
123
+ (comment) @comment
@@ -0,0 +1,42 @@
1
+ (
2
+ (comment)* @doc
3
+ .
4
+ (function_declaration
5
+ name: (identifier) @name) @definition.function
6
+ (#strip! @doc "^//\\s*")
7
+ (#set-adjacent! @doc @definition.function)
8
+ )
9
+
10
+ (
11
+ (comment)* @doc
12
+ .
13
+ (method_declaration
14
+ name: (field_identifier) @name) @definition.method
15
+ (#strip! @doc "^//\\s*")
16
+ (#set-adjacent! @doc @definition.method)
17
+ )
18
+
19
+ (call_expression
20
+ function: [
21
+ (identifier) @name
22
+ (parenthesized_expression (identifier) @name)
23
+ (selector_expression field: (field_identifier) @name)
24
+ (parenthesized_expression (selector_expression field: (field_identifier) @name))
25
+ ]) @reference.call
26
+
27
+ (type_spec
28
+ name: (type_identifier) @name) @definition.type
29
+
30
+ (type_identifier) @name @reference.type
31
+
32
+ (package_clause "package" (package_identifier) @name)
33
+
34
+ (type_declaration (type_spec name: (type_identifier) @name type: (interface_type)))
35
+
36
+ (type_declaration (type_spec name: (type_identifier) @name type: (struct_type)))
37
+
38
+ (import_declaration (import_spec) @name)
39
+
40
+ (var_declaration (var_spec name: (identifier) @name))
41
+
42
+ (const_declaration (const_spec name: (identifier) @name))
Binary file
@@ -0,0 +1,443 @@
1
+ ; ----------------------------------------------------------------------------
2
+ ; Parameters and variables
3
+ ; NOTE: These are at the top, so that they have low priority,
4
+ ; and don't override destructured parameters
5
+ (variable) @variable
6
+
7
+ (pattern/wildcard) @variable
8
+
9
+ (decl/function
10
+ patterns: (patterns
11
+ (_) @variable.parameter))
12
+
13
+ (expression/lambda
14
+ (_)+ @variable.parameter
15
+ "->")
16
+
17
+ (decl/function
18
+ (infix
19
+ (pattern) @variable.parameter))
20
+
21
+ ; ----------------------------------------------------------------------------
22
+ ; Literals and comments
23
+ (integer) @number
24
+
25
+ (negation) @number
26
+
27
+ (expression/literal
28
+ (float)) @number.float
29
+
30
+ (char) @character
31
+
32
+ (string) @string
33
+
34
+ (unit) @string.special.symbol ; unit, as in ()
35
+
36
+ (comment) @comment
37
+
38
+ ((haddock) @comment.documentation)
39
+
40
+ ; ----------------------------------------------------------------------------
41
+ ; Punctuation
42
+ [
43
+ "("
44
+ ")"
45
+ "{"
46
+ "}"
47
+ "["
48
+ "]"
49
+ ] @punctuation.bracket
50
+
51
+ [
52
+ ","
53
+ ";"
54
+ ] @punctuation.delimiter
55
+
56
+ ; ----------------------------------------------------------------------------
57
+ ; Keywords, operators, includes
58
+ [
59
+ "forall"
60
+ ; "∀" ; utf-8 is not cross-platform safe
61
+ ] @keyword.repeat
62
+
63
+ (pragma) @keyword.directive
64
+
65
+ [
66
+ "if"
67
+ "then"
68
+ "else"
69
+ "case"
70
+ "of"
71
+ ] @keyword.conditional
72
+
73
+ [
74
+ "import"
75
+ "qualified"
76
+ "module"
77
+ ] @keyword.import
78
+
79
+ [
80
+ (operator)
81
+ (constructor_operator)
82
+ (all_names)
83
+ (wildcard)
84
+ "."
85
+ ".."
86
+ "="
87
+ "|"
88
+ "::"
89
+ "=>"
90
+ "->"
91
+ "<-"
92
+ "\\"
93
+ "`"
94
+ "@"
95
+ ] @operator
96
+
97
+ ; TODO broken, also huh?
98
+ ; ((qualified_module
99
+ ; (module) @constructor)
100
+ ; .
101
+ ; (module))
102
+
103
+ (module
104
+ (module_id) @module)
105
+
106
+ [
107
+ "where"
108
+ "let"
109
+ "in"
110
+ "class"
111
+ "instance"
112
+ "pattern"
113
+ "data"
114
+ "newtype"
115
+ "family"
116
+ "type"
117
+ "as"
118
+ "hiding"
119
+ "deriving"
120
+ "via"
121
+ "stock"
122
+ "anyclass"
123
+ "do"
124
+ "mdo"
125
+ "rec"
126
+ "infix"
127
+ "infixl"
128
+ "infixr"
129
+ ] @keyword
130
+
131
+ ; ----------------------------------------------------------------------------
132
+ ; Functions and variables
133
+ (decl
134
+ [
135
+ name: (variable) @function
136
+ names: (binding_list (variable) @function)
137
+ ])
138
+
139
+ (decl/bind
140
+ name: (variable) @variable)
141
+
142
+ ; Consider signatures (and accompanying functions)
143
+ ; with only one value on the rhs as variables
144
+ (decl/signature
145
+ name: (variable) @variable
146
+ type: (type))
147
+
148
+ ((decl/signature
149
+ name: (variable) @_name
150
+ type: (type))
151
+ .
152
+ (decl
153
+ name: (variable) @variable)
154
+ match: (_)
155
+ (#eq? @_name @variable))
156
+
157
+ ; but consider a type that involves 'IO' a decl/function
158
+ (decl/signature
159
+ name: (variable) @function
160
+ type: (type/apply
161
+ constructor: (name) @_type)
162
+ (#eq? @_type "IO"))
163
+
164
+ ((decl/signature
165
+ name: (variable) @_name
166
+ type: (type/apply
167
+ constructor: (name) @_type)
168
+ (#eq? @_type "IO"))
169
+ .
170
+ (decl
171
+ name: (variable) @function)
172
+ match: (_)
173
+ (#eq? @_name @function))
174
+
175
+ ((decl/signature) @function
176
+ .
177
+ (decl/function
178
+ name: (variable) @function))
179
+
180
+ (decl/bind
181
+ name: (variable) @function
182
+ (match
183
+ expression: (expression/lambda)))
184
+
185
+ ; view patterns
186
+ (view_pattern
187
+ [
188
+ (expression/variable) @function.call
189
+ (expression/qualified
190
+ (variable) @function.call)
191
+ ])
192
+
193
+ ; consider infix functions as operators
194
+ (infix_id
195
+ [
196
+ (variable) @operator
197
+ (qualified
198
+ (variable) @operator)
199
+ ])
200
+
201
+ ; decl/function calls with an infix operator
202
+ ; e.g. func <$> a <*> b
203
+ (infix
204
+ [
205
+ (variable) @function.call
206
+ (qualified
207
+ ((module) @module
208
+ (variable) @function.call))
209
+ ]
210
+ .
211
+ (operator))
212
+
213
+ ; infix operators applied to variables
214
+ ((expression/variable) @variable
215
+ .
216
+ (operator))
217
+
218
+ ((operator)
219
+ .
220
+ [
221
+ (expression/variable) @variable
222
+ (expression/qualified
223
+ (variable) @variable)
224
+ ])
225
+
226
+ ; decl/function calls with infix operators
227
+ ([
228
+ (expression/variable) @function.call
229
+ (expression/qualified
230
+ (variable) @function.call)
231
+ ]
232
+ .
233
+ (operator) @_op
234
+ (#any-of? @_op "$" "<$>" ">>=" "=<<"))
235
+
236
+ ; right hand side of infix operator
237
+ ((infix
238
+ [
239
+ (operator)
240
+ (infix_id (variable))
241
+ ] ; infix or `func`
242
+ .
243
+ [
244
+ (variable) @function.call
245
+ (qualified
246
+ (variable) @function.call)
247
+ ])
248
+ .
249
+ (operator) @_op
250
+ (#any-of? @_op "$" "<$>" "=<<"))
251
+
252
+ ; decl/function composition, arrows, monadic composition (lhs)
253
+ (
254
+ [
255
+ (expression/variable) @function
256
+ (expression/qualified
257
+ (variable) @function)
258
+ ]
259
+ .
260
+ (operator) @_op
261
+ (#any-of? @_op "." ">>>" "***" ">=>" "<=<"))
262
+
263
+ ; right hand side of infix operator
264
+ ((infix
265
+ [
266
+ (operator)
267
+ (infix_id (variable))
268
+ ] ; infix or `func`
269
+ .
270
+ [
271
+ (variable) @function
272
+ (qualified
273
+ (variable) @function)
274
+ ])
275
+ .
276
+ (operator) @_op
277
+ (#any-of? @_op "." ">>>" "***" ">=>" "<=<"))
278
+
279
+ ; function composition, arrows, monadic composition (rhs)
280
+ ((operator) @_op
281
+ .
282
+ [
283
+ (expression/variable) @function
284
+ (expression/qualified
285
+ (variable) @function)
286
+ ]
287
+ (#any-of? @_op "." ">>>" "***" ">=>" "<=<"))
288
+
289
+ ; function defined in terms of a function composition
290
+ (decl/function
291
+ name: (variable) @function
292
+ (match
293
+ expression: (infix
294
+ operator: (operator) @_op
295
+ (#any-of? @_op "." ">>>" "***" ">=>" "<=<"))))
296
+
297
+ (apply
298
+ [
299
+ (expression/variable) @function.call
300
+ (expression/qualified
301
+ (variable) @function.call)
302
+ ])
303
+
304
+ ; function compositions, in parentheses, applied
305
+ ; lhs
306
+ (apply
307
+ .
308
+ (expression/parens
309
+ (infix
310
+ [
311
+ (variable) @function.call
312
+ (qualified
313
+ (variable) @function.call)
314
+ ]
315
+ .
316
+ (operator))))
317
+
318
+ ; rhs
319
+ (apply
320
+ .
321
+ (expression/parens
322
+ (infix
323
+ (operator)
324
+ .
325
+ [
326
+ (variable) @function.call
327
+ (qualified
328
+ (variable) @function.call)
329
+ ])))
330
+
331
+ ; variables being passed to a function call
332
+ (apply
333
+ (_)
334
+ .
335
+ [
336
+ (expression/variable) @variable
337
+ (expression/qualified
338
+ (variable) @variable)
339
+ ])
340
+
341
+ ; main is always a function
342
+ ; (this prevents `main = undefined` from being highlighted as a variable)
343
+ (decl/bind
344
+ name: (variable) @function
345
+ (#eq? @function "main"))
346
+
347
+ ; scoped function types (func :: a -> b)
348
+ (signature
349
+ pattern: (pattern/variable) @function
350
+ type: (quantified_type))
351
+
352
+ ; signatures that have a function type
353
+ ; + binds that follow them
354
+ (decl/signature
355
+ name: (variable) @function
356
+ type: (quantified_type))
357
+
358
+ ((decl/signature
359
+ name: (variable) @_name
360
+ type: (quantified_type))
361
+ .
362
+ (decl/bind
363
+ (variable) @function)
364
+ (#eq? @function @_name))
365
+
366
+ ; ----------------------------------------------------------------------------
367
+ ; Types
368
+ (name) @type
369
+
370
+ (type/star) @type
371
+
372
+ (variable) @type
373
+
374
+ (constructor) @constructor
375
+
376
+ ; True or False
377
+ ((constructor) @boolean
378
+ (#any-of? @boolean "True" "False"))
379
+
380
+ ; otherwise (= True)
381
+ ((variable) @boolean
382
+ (#eq? @boolean "otherwise"))
383
+
384
+ ; ----------------------------------------------------------------------------
385
+ ; Quasi-quotes
386
+ (quoter) @function.call
387
+
388
+ (quasiquote
389
+ [
390
+ (quoter) @_name
391
+ (_
392
+ (variable) @_name)
393
+ ]
394
+ (#eq? @_name "qq")
395
+ (quasiquote_body) @string)
396
+
397
+ (quasiquote
398
+ (_
399
+ (variable) @_name)
400
+ (#eq? @_name "qq")
401
+ (quasiquote_body) @string)
402
+
403
+ ; namespaced quasi-quoter
404
+ (quasiquote
405
+ (_
406
+ (module) @module
407
+ .
408
+ (variable) @function.call))
409
+
410
+ ; Highlighting of quasiquote_body for other languages is handled by injections.scm
411
+ ; ----------------------------------------------------------------------------
412
+ ; Exceptions/error handling
413
+ ((variable) @keyword.exception
414
+ (#any-of? @keyword.exception
415
+ "error" "undefined" "try" "tryJust" "tryAny" "catch" "catches" "catchJust" "handle" "handleJust"
416
+ "throw" "throwIO" "throwTo" "throwError" "ioError" "mask" "mask_" "uninterruptibleMask"
417
+ "uninterruptibleMask_" "bracket" "bracket_" "bracketOnErrorSource" "finally" "fail"
418
+ "onException" "expectationFailure"))
419
+
420
+ ; ----------------------------------------------------------------------------
421
+ ; Debugging
422
+ ((variable) @keyword.debug
423
+ (#any-of? @keyword.debug
424
+ "trace" "traceId" "traceShow" "traceShowId" "traceWith" "traceShowWith" "traceStack" "traceIO"
425
+ "traceM" "traceShowM" "traceEvent" "traceEventWith" "traceEventIO" "flushEventLog" "traceMarker"
426
+ "traceMarkerIO"))
427
+
428
+ ; ----------------------------------------------------------------------------
429
+ ; Fields
430
+
431
+ (field_name
432
+ (variable) @variable.member)
433
+
434
+ (import_name
435
+ (name)
436
+ .
437
+ (children
438
+ (variable) @variable.member))
439
+
440
+
441
+ ; ----------------------------------------------------------------------------
442
+ ; Spell checking
443
+ (comment) @spell
@@ -0,0 +1,76 @@
1
+ ; -----------------------------------------------------------------------------
2
+ ; General language injection
3
+ (quasiquote
4
+ (quoter) @injection.language
5
+ (quasiquote_body) @injection.content)
6
+
7
+ ((comment) @injection.content
8
+ (#set! injection.language "comment"))
9
+
10
+ ; -----------------------------------------------------------------------------
11
+ ; shakespeare library
12
+ ; NOTE: doesn't support templating
13
+ ; TODO: add once CoffeeScript parser is added
14
+ ; ; CoffeeScript: Text.Coffee
15
+ ; (quasiquote
16
+ ; (quoter) @_name
17
+ ; (#eq? @_name "coffee")
18
+ ; ((quasiquote_body) @injection.content
19
+ ; (#set! injection.language "coffeescript")))
20
+ ; CSS: Text.Cassius, Text.Lucius
21
+ (quasiquote
22
+ (quoter) @_name
23
+ (#any-of? @_name "cassius" "lucius")
24
+ (quasiquote_body) @injection.content
25
+ (#set! injection.language "css"))
26
+
27
+ ; HTML: Text.Hamlet
28
+ (quasiquote
29
+ (quoter) @_name
30
+ (#any-of? @_name "shamlet" "xshamlet" "hamlet" "xhamlet" "ihamlet")
31
+ (quasiquote_body) @injection.content
32
+ (#set! injection.language "html"))
33
+
34
+ ; JS: Text.Julius
35
+ (quasiquote
36
+ (quoter) @_name
37
+ (#any-of? @_name "js" "julius")
38
+ (quasiquote_body) @injection.content
39
+ (#set! injection.language "javascript"))
40
+
41
+ ; TS: Text.TypeScript
42
+ (quasiquote
43
+ (quoter) @_name
44
+ (#any-of? @_name "tsc" "tscJSX")
45
+ (quasiquote_body) @injection.content
46
+ (#set! injection.language "typescript"))
47
+
48
+ ; -----------------------------------------------------------------------------
49
+ ; HSX
50
+ (quasiquote
51
+ (quoter) @_name
52
+ (#eq? @_name "hsx")
53
+ (quasiquote_body) @injection.content
54
+ (#set! injection.language "html"))
55
+
56
+ ; -----------------------------------------------------------------------------
57
+ ; Inline JSON from aeson
58
+ (quasiquote
59
+ (quoter) @_name
60
+ (#eq? @_name "aesonQQ")
61
+ (quasiquote_body) @injection.content
62
+ (#set! injection.language "json"))
63
+
64
+ ; -----------------------------------------------------------------------------
65
+ ; SQL
66
+ ; postgresql-simple
67
+ (quasiquote
68
+ (quoter) @injection.language
69
+ (#eq? @injection.language "sql")
70
+ (quasiquote_body) @injection.content)
71
+
72
+ (quasiquote
73
+ (quoter) @_name
74
+ (#any-of? @_name "persistUpperCase" "persistLowerCase" "persistWith")
75
+ (quasiquote_body) @injection.content
76
+ (#set! injection.language "haskell_persistent"))
@@ -0,0 +1,4 @@
1
+ (signature name: (variable)) @local.definition
2
+ (function name: (variable)) @local.definition
3
+ (pattern/variable) @local.definition
4
+ (expression/variable) @local.reference
@@ -0,0 +1,13 @@
1
+ (tag_name) @tag
2
+ (erroneous_end_tag_name) @tag.error
3
+ (doctype) @constant
4
+ (attribute_name) @attribute
5
+ (attribute_value) @string
6
+ (comment) @comment
7
+
8
+ [
9
+ "<"
10
+ ">"
11
+ "</"
12
+ "/>"
13
+ ] @punctuation.bracket
@@ -0,0 +1,7 @@
1
+ ((script_element
2
+ (raw_text) @injection.content)
3
+ (#set! injection.language "javascript"))
4
+
5
+ ((style_element
6
+ (raw_text) @injection.content)
7
+ (#set! injection.language "css"))
Binary file