aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorPham Huy Hoang <hoangtun0810@gmail.com>2023-05-03 19:07:59 +0900
committerChristian Clason <c.clason@uni-graz.at>2023-08-12 17:34:15 +0200
commit78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5 (patch)
tree87bc9ffd574b406ceaeb4ea4c32290e66145f587 /queries
parentfeat!: bump required Nvim version to 0.9.1 (diff)
downloadnvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar.gz
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar.bz2
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar.lz
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar.xz
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.tar.zst
nvim-treesitter-78b54eb7f6a9956d25a3911fa0dfd0cabfe2a4c5.zip
chore(injections)!: update injection syntax to 0.9
Since 0.9, @lang syntax is still available as fallback but will soon be deprecated. Because of that, new syntax should be adopted once 0.9 becomes the baseline requirements for nvim-treesitter - update health check - update doc
Diffstat (limited to 'queries')
-rw-r--r--queries/arduino/injections.scm19
-rw-r--r--queries/astro/injections.scm32
-rw-r--r--queries/awk/injections.scm7
-rw-r--r--queries/bash/injections.scm6
-rw-r--r--queries/bass/injections.scm3
-rw-r--r--queries/bicep/injections.scm9
-rw-r--r--queries/c/injections.scm25
-rw-r--r--queries/c_sharp/injections.scm3
-rw-r--r--queries/capnp/injections.scm3
-rw-r--r--queries/chatito/injections.scm3
-rw-r--r--queries/clojure/injections.scm3
-rw-r--r--queries/cpon/injections.scm3
-rw-r--r--queries/cpp/injections.scm23
-rw-r--r--queries/css/injections.scm3
-rw-r--r--queries/cuda/injections.scm19
-rw-r--r--queries/cue/injections.scm3
-rw-r--r--queries/d/injections.scm8
-rw-r--r--queries/dart/injections.scm3
-rw-r--r--queries/devicetree/injections.scm3
-rw-r--r--queries/dhall/injections.scm5
-rw-r--r--queries/dockerfile/injections.scm6
-rw-r--r--queries/dot/injections.scm7
-rw-r--r--queries/ecma/injections.scm92
-rw-r--r--queries/eex/injections.scm7
-rw-r--r--queries/elixir/injections.scm42
-rw-r--r--queries/elm/injections.scm9
-rw-r--r--queries/elsa/injections.scm3
-rw-r--r--queries/elvish/injections.scm3
-rw-r--r--queries/embedded_template/injections.scm9
-rw-r--r--queries/fennel/injections.scm3
-rw-r--r--queries/firrtl/injections.scm3
-rw-r--r--queries/fish/injections.scm3
-rw-r--r--queries/foam/injections.scm18
-rw-r--r--queries/gdscript/injections.scm3
-rw-r--r--queries/git_rebase/injections.scm3
-rw-r--r--queries/gitattributes/injections.scm3
-rw-r--r--queries/gitcommit/injections.scm7
-rw-r--r--queries/gleam/injections.scm5
-rw-r--r--queries/glsl/injections.scm19
-rw-r--r--queries/go/injections.scm11
-rw-r--r--queries/gomod/injections.scm3
-rw-r--r--queries/gowork/injections.scm3
-rw-r--r--queries/graphql/injections.scm3
-rw-r--r--queries/groovy/injections.scm9
-rw-r--r--queries/hare/injections.scm8
-rw-r--r--queries/haskell/injections.scm50
-rw-r--r--queries/hcl/injections.scm10
-rw-r--r--queries/heex/injections.scm11
-rw-r--r--queries/hjson/injections.scm3
-rw-r--r--queries/hlsl/injections.scm19
-rw-r--r--queries/hocon/injections.scm3
-rw-r--r--queries/html/injections.scm18
-rw-r--r--queries/html_tags/injections.scm91
-rw-r--r--queries/htmldjango/injections.scm4
-rw-r--r--queries/http/injections.scm12
-rw-r--r--queries/hurl/injections.scm12
-rw-r--r--queries/janet_simple/injections.scm3
-rw-r--r--queries/java/injections.scm5
-rw-r--r--queries/jq/injections.scm11
-rw-r--r--queries/json5/injections.scm3
-rw-r--r--queries/jsonc/injections.scm3
-rw-r--r--queries/jsx/injections.scm7
-rw-r--r--queries/julia/injections.scm17
-rw-r--r--queries/kdl/injections.scm5
-rw-r--r--queries/kotlin/injections.scm47
-rw-r--r--queries/lalrpop/injections.scm16
-rw-r--r--queries/latex/injections.scm23
-rw-r--r--queries/ledger/injections.scm7
-rw-r--r--queries/lua/highlights.scm2
-rw-r--r--queries/lua/injections.scm44
-rw-r--r--queries/luau/injections.scm27
-rw-r--r--queries/m68k/injections.scm3
-rw-r--r--queries/make/injections.scm9
-rw-r--r--queries/markdown/injections.scm25
-rw-r--r--queries/markdown_inline/injections.scm10
-rw-r--r--queries/matlab/injections.scm3
-rw-r--r--queries/menhir/injections.scm3
-rw-r--r--queries/meson/injections.scm3
-rw-r--r--queries/nix/injections.scm109
-rw-r--r--queries/ocaml/injections.scm3
-rw-r--r--queries/ocamllex/injections.scm6
-rw-r--r--queries/odin/injections.scm3
-rw-r--r--queries/pascal/injections.scm7
-rw-r--r--queries/pem/injections.scm3
-rw-r--r--queries/perl/injections.scm3
-rw-r--r--queries/php/injections.scm24
-rw-r--r--queries/pioasm/injections.scm15
-rw-r--r--queries/po/injections.scm3
-rw-r--r--queries/poe_filter/injections.scm3
-rw-r--r--queries/pony/injections.scm5
-rw-r--r--queries/promql/injections.scm4
-rw-r--r--queries/prql/injections.scm16
-rw-r--r--queries/pug/injections.scm13
-rw-r--r--queries/puppet/injections.scm8
-rw-r--r--queries/python/injections.scm8
-rw-r--r--queries/ql/injections.scm5
-rw-r--r--queries/qmldir/injections.scm3
-rw-r--r--queries/query/injections.scm13
-rw-r--r--queries/r/injections.scm3
-rw-r--r--queries/racket/injections.scm7
-rw-r--r--queries/rego/injections.scm3
-rw-r--r--queries/requirements/injections.scm3
-rw-r--r--queries/rnoweb/injections.scm15
-rw-r--r--queries/ron/injections.scm5
-rw-r--r--queries/rst/injections.scm35
-rw-r--r--queries/ruby/injections.scm13
-rw-r--r--queries/rust/injections.scm33
-rw-r--r--queries/scala/injections.scm9
-rw-r--r--queries/scfg/injections.scm3
-rw-r--r--queries/scheme/injections.scm3
-rw-r--r--queries/smali/injections.scm3
-rw-r--r--queries/sparql/injections.scm3
-rw-r--r--queries/sql/injections.scm7
-rw-r--r--queries/squirrel/injections.scm17
-rw-r--r--queries/supercollider/injections.scm5
-rw-r--r--queries/surface/injections.scm8
-rw-r--r--queries/svelte/injections.scm47
-rw-r--r--queries/sxhkdrc/injections.scm3
-rw-r--r--queries/systemtap/injections.scm7
-rw-r--r--queries/t32/injections.scm3
-rw-r--r--queries/tablegen/injections.scm12
-rw-r--r--queries/teal/injections.scm17
-rw-r--r--queries/thrift/injections.scm3
-rw-r--r--queries/tiger/injections.scm3
-rw-r--r--queries/tlaplus/injections.scm5
-rw-r--r--queries/toml/injections.scm3
-rw-r--r--queries/turtle/injections.scm3
-rw-r--r--queries/twig/injections.scm3
-rw-r--r--queries/ungrammar/injections.scm3
-rw-r--r--queries/uxntal/injections.scm3
-rw-r--r--queries/v/injections.scm12
-rw-r--r--queries/verilog/injections.scm3
-rw-r--r--queries/vim/injections.scm39
-rw-r--r--queries/vimdoc/injections.scm7
-rw-r--r--queries/vue/injections.scm52
-rw-r--r--queries/yaml/injections.scm37
-rw-r--r--queries/yang/injections.scm8
-rw-r--r--queries/zig/injections.scm6
138 files changed, 1059 insertions, 623 deletions
diff --git a/queries/arduino/injections.scm b/queries/arduino/injections.scm
index 240162b9b..15d3b1670 100644
--- a/queries/arduino/injections.scm
+++ b/queries/arduino/injections.scm
@@ -1,6 +1,15 @@
-((preproc_def (preproc_arg) @arduino)
- (#lua-match? @arduino "\n"))
-(preproc_function_def (preproc_arg) @arduino)
-(preproc_call (preproc_arg) @arduino)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "arduino"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "arduino"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "arduino"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/astro/injections.scm b/queries/astro/injections.scm
index 60ea3f5c6..b8f1ccefc 100644
--- a/queries/astro/injections.scm
+++ b/queries/astro/injections.scm
@@ -1,19 +1,23 @@
-; inherits: html
+; inherits: html_tags
-((frontmatter
- (raw_text) @typescript))
+(frontmatter
+ (raw_text) @injection.content
+ (#set! injection.language "typescript"))
-((interpolation
- (raw_text) @tsx))
+(interpolation
+ (raw_text) @injection.content
+ (#set! injection.language "tsx"))
-((script_element
- (raw_text) @typescript))
+(script_element
+ (raw_text) @injection.content
+ (#set! injection.language "typescript"))
-((style_element
- (start_tag
- (attribute
- (attribute_name) @_lang_attr
- (quoted_attribute_value (attribute_value) @_lang_value)))
- (raw_text) @scss)
+(style_element
+ (start_tag
+ (attribute
+ (attribute_name) @_lang_attr
+ (quoted_attribute_value (attribute_value) @_lang_value)))
+ (raw_text) @injection.content
(#eq? @_lang_attr "lang")
- (#eq? @_lang_value "scss"))
+ (#eq? @_lang_value "scss")
+ (#set! injection.language "scss"))
diff --git a/queries/awk/injections.scm b/queries/awk/injections.scm
index 8cbffc623..e5e2b4d02 100644
--- a/queries/awk/injections.scm
+++ b/queries/awk/injections.scm
@@ -1,2 +1,5 @@
-(comment) @comment
-(regex) @regex
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((regex) @injection.content
+ (#set! injection.language "regex"))
diff --git a/queries/bash/injections.scm b/queries/bash/injections.scm
index 86371b905..e5e2b4d02 100644
--- a/queries/bash/injections.scm
+++ b/queries/bash/injections.scm
@@ -1,3 +1,5 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
-(regex) @regex
+((regex) @injection.content
+ (#set! injection.language "regex"))
diff --git a/queries/bass/injections.scm b/queries/bass/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/bass/injections.scm
+++ b/queries/bass/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/bicep/injections.scm b/queries/bicep/injections.scm
index c85cfe3b6..d3ff30b60 100644
--- a/queries/bicep/injections.scm
+++ b/queries/bicep/injections.scm
@@ -1,4 +1,5 @@
-[
- (comment)
- (diagnostic_comment)
-] @comment
+([
+ (comment)
+ (diagnostic_comment)
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/c/injections.scm b/queries/c/injections.scm
index 2ef8f85c1..a1913e664 100644
--- a/queries/c/injections.scm
+++ b/queries/c/injections.scm
@@ -1,10 +1,21 @@
-((preproc_def (preproc_arg) @c)
- (#lua-match? @c "\n"))
-(preproc_function_def (preproc_arg) @c)
-(preproc_call (preproc_arg) @c)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "c"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "c"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "c"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
; TODO: add when asm is added
-; (gnu_asm_expression assembly_code: (string_literal) @asm)
-; (gnu_asm_expression assembly_code: (concatenated_string (string_literal) @asm))
+; (gnu_asm_expression assembly_code: (string_literal) @injection.content
+; (#set! injection.language "asm"))
+; (gnu_asm_expression assembly_code: (concatenated_string (string_literal) @injection.content)
+; (#set! injection.language "asm"))
diff --git a/queries/c_sharp/injections.scm b/queries/c_sharp/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/c_sharp/injections.scm
+++ b/queries/c_sharp/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/capnp/injections.scm b/queries/capnp/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/capnp/injections.scm
+++ b/queries/capnp/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/chatito/injections.scm b/queries/chatito/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/chatito/injections.scm
+++ b/queries/chatito/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/clojure/injections.scm b/queries/clojure/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/clojure/injections.scm
+++ b/queries/clojure/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/cpon/injections.scm b/queries/cpon/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/cpon/injections.scm
+++ b/queries/cpon/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/cpp/injections.scm b/queries/cpp/injections.scm
index 1d8e11cb3..2349c92bf 100644
--- a/queries/cpp/injections.scm
+++ b/queries/cpp/injections.scm
@@ -1,10 +1,19 @@
-((preproc_def (preproc_arg) @cpp)
- (#lua-match? @cpp "\n"))
-(preproc_function_def (preproc_arg) @cpp)
-(preproc_call (preproc_arg) @cpp)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "cpp"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "cpp"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "cpp"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
(raw_string_literal
- delimiter: (raw_string_delimiter) @language
- (raw_string_content) @content)
+ delimiter: (raw_string_delimiter) @injection.language
+ (raw_string_content) @injection.content)
diff --git a/queries/css/injections.scm b/queries/css/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/css/injections.scm
+++ b/queries/css/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/cuda/injections.scm b/queries/cuda/injections.scm
index 09deac468..bb37accb1 100644
--- a/queries/cuda/injections.scm
+++ b/queries/cuda/injections.scm
@@ -1,6 +1,15 @@
-((preproc_def (preproc_arg) @cuda)
- (#lua-match? @cuda "\n"))
-(preproc_function_def (preproc_arg) @cuda)
-(preproc_call (preproc_arg) @cuda)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "cuda"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "cuda"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "cuda"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/cue/injections.scm b/queries/cue/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/cue/injections.scm
+++ b/queries/cue/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/d/injections.scm b/queries/d/injections.scm
index d95514370..6dd8aeacf 100644
--- a/queries/d/injections.scm
+++ b/queries/d/injections.scm
@@ -1,7 +1,9 @@
-[
+([
(line_comment)
(block_comment)
(nesting_block_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
-(token_string_tokens) @d
+((token_string_tokens) @injection.content
+ (#set! injection.language "d"))
diff --git a/queries/dart/injections.scm b/queries/dart/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/dart/injections.scm
+++ b/queries/dart/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/devicetree/injections.scm b/queries/devicetree/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/devicetree/injections.scm
+++ b/queries/devicetree/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/dhall/injections.scm b/queries/dhall/injections.scm
index e48ce9af3..43ae7287b 100644
--- a/queries/dhall/injections.scm
+++ b/queries/dhall/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(line_comment)
(block_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/dockerfile/injections.scm b/queries/dockerfile/injections.scm
index c1fdd3f99..2a48ec4f6 100644
--- a/queries/dockerfile/injections.scm
+++ b/queries/dockerfile/injections.scm
@@ -1,3 +1,5 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
-(shell_command) @bash
+((shell_command) @injection.content
+ (#set! injection.language "bash"))
diff --git a/queries/dot/injections.scm b/queries/dot/injections.scm
index 529d04d4a..ac41393ab 100644
--- a/queries/dot/injections.scm
+++ b/queries/dot/injections.scm
@@ -1,2 +1,5 @@
-(html_internal) @html
-(comment) @comment
+((html_internal) @injection.content
+ (#set! injection.language "html"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/ecma/injections.scm b/queries/ecma/injections.scm
index ba0ea4fa1..3b55295ce 100644
--- a/queries/ecma/injections.scm
+++ b/queries/ecma/injections.scm
@@ -1,59 +1,67 @@
(((comment) @_jsdoc_comment
- (#lua-match? @_jsdoc_comment "^/[*][*][^*].*[*]/$")) @jsdoc)
+ (#lua-match? @_jsdoc_comment "^/[*][*][^*].*[*]/$")) @injection.content
+ (#set! injection.language "jsdoc"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
; html(`...`), html`...`, sql(...) etc
(call_expression
- function: ((identifier) @language)
+ function: ((identifier) @injection.language)
arguments: [
(arguments
- (template_string) @content)
- (template_string) @content
+ (template_string) @injection.content)
+ (template_string) @injection.content
]
- (#offset! @content 0 1 0 -1)
- (#not-eq? @content "svg"))
+ (#offset! @injection.content 0 1 0 -1)
+ (#not-eq? @injection.language "svg"))
; svg`...` or svg(`...`), which uses the html parser, so is not included in the previous query
(call_expression
function: ((identifier) @_name (#eq? @_name "svg"))
arguments: [
(arguments
- (template_string) @html)
- (template_string) @html
+ (template_string) @injection.content)
+ (template_string) @injection.content
]
- (#offset! @html 0 1 0 -1))
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "html"))
(call_expression
function: ((identifier) @_name
(#eq? @_name "gql"))
- arguments: ((template_string) @graphql
- (#offset! @graphql 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "graphql")))
(call_expression
function: ((identifier) @_name
(#eq? @_name "hbs"))
- arguments: ((template_string) @glimmer
- (#offset! @glimmer 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "glimmer")))
-((glimmer_template) @glimmer)
+((glimmer_template) @injection.content
+ (#set! injection.language "glimmer"))
; styled.div`<css>`
(call_expression
function: (member_expression
object: (identifier) @_name
(#eq? @_name "styled"))
- arguments: ((template_string) @css
- (#offset! @css 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "css")))
; styled(Component)`<css>`
(call_expression
function: (call_expression
function: (identifier) @_name
(#eq? @_name "styled"))
- arguments: ((template_string) @css
- (#offset! @css 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "css")))
; styled.div.attrs({ prop: "foo" })`<css>`
(call_expression
@@ -62,8 +70,9 @@
object: (member_expression
object: (identifier) @_name
(#eq? @_name "styled"))))
- arguments: ((template_string) @css
- (#offset! @css 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "css")))
; styled(Component).attrs({ prop: "foo" })`<css>`
@@ -73,31 +82,34 @@
object: (call_expression
function: (identifier) @_name
(#eq? @_name "styled"))))
- arguments: ((template_string) @css
- (#offset! @css 0 1 0 -1)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "css")))
-(regex_pattern) @regex
+((regex_pattern) @injection.content
+ (#set! injection.language "regex"))
; ((comment) @_gql_comment
; (#eq? @_gql_comment "/* GraphQL */")
-; (template_string) @graphql)
+; (template_string) @injection.content
+; (#set! injection.language "graphql"))
-((template_string) @graphql
- (#lua-match? @graphql "^`#graphql")
- (#offset! @graphql 0 1 0 -1))
+((template_string) @injection.content
+ (#lua-match? @injection.content "^`#graphql")
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "graphql"))
; el.innerHTML = `<html>`
-(assignment_expression
- left: (member_expression
- property: (property_identifier) @_prop
- (#any-of? @_prop "innerHTML" "outerHTML"))
- right: (template_string) @html
- (#offset! @html 0 1 0 -1))
-
; el.innerHTML = '<html>'
(assignment_expression
- left: (member_expression
- property: (property_identifier) @_prop
- (#any-of? @_prop "innerHTML" "outerHTML"))
- right: (string) @html
- (#offset! @html 0 1 0 -1))
+ left:
+ (member_expression
+ property: (property_identifier) @_prop
+ (#any-of? @_prop "outerHTML" "innerHTML"))
+ right:
+ [
+ (template_string)
+ (string)
+ ] @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "html"))
diff --git a/queries/eex/injections.scm b/queries/eex/injections.scm
index f43206f55..9331f5925 100644
--- a/queries/eex/injections.scm
+++ b/queries/eex/injections.scm
@@ -1,5 +1,8 @@
; EEx expressions are Elixir
-(expression) @elixir
+((expression) @injection.content
+ (#set! injection.language "elixir"))
; EEx expressions can span multiple interpolated lines
-(partial_expression) @elixir @combined
+((partial_expression) @injection.content
+ (#set! injection.language "elixir")
+ (#set! injection.combined))
diff --git a/queries/elixir/injections.scm b/queries/elixir/injections.scm
index 423fddea7..1f0b31f07 100644
--- a/queries/elixir/injections.scm
+++ b/queries/elixir/injections.scm
@@ -1,5 +1,6 @@
; Comments
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
; Documentation
(unary_operator
@@ -7,42 +8,49 @@
operand: (call
target: ((identifier) @_identifier (#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc"))
(arguments [
- (string (quoted_content) @markdown)
- (sigil (quoted_content) @markdown)
- ])))
+ (string (quoted_content) @injection.content)
+ (sigil (quoted_content) @injection.content)
+ ])
+ (#set! injection.language "markdown")))
; HEEx
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @heex
-(#eq? @_sigil_name "H"))
+ (quoted_content) @injection.content
+ (#eq? @_sigil_name "H")
+ (#set! injection.language "heex"))
; Surface
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @surface
-(#eq? @_sigil_name "F"))
+ (quoted_content) @injection.content
+ (#eq? @_sigil_name "F")
+ (#set! injection.language "surface"))
; Zigler
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @eex
-(#any-of? @_sigil_name "E" "L"))
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "E" "L")
+ (#set! injection.language "eex"))
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @zig
-(#any-of? @_sigil_name "z" "Z"))
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "z" "Z")
+ (#set! injection.language "zig"))
; Regex
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @regex
-(#any-of? @_sigil_name "r" "R"))
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "r" "R")
+ (#set! injection.language "regex"))
-; Jason
+; Json
(sigil
(sigil_name) @_sigil_name
- (quoted_content) @json
-(#any-of? @_sigil_name "j" "J"))
+ (quoted_content) @injection.content
+ (#any-of? @_sigil_name "j" "J")
+ (#set! injection.language "json"))
diff --git a/queries/elm/injections.scm b/queries/elm/injections.scm
index 6395776e1..b8b3e9943 100644
--- a/queries/elm/injections.scm
+++ b/queries/elm/injections.scm
@@ -1,3 +1,8 @@
-[(line_comment) (block_comment)] @comment
+([
+ (line_comment)
+ (block_comment)
+ ] @injection.content
+ (#set! injection.language "comment"))
-(glsl_content) @glsl
+((glsl_content) @injection.content
+ (#set! injection.language "glsl"))
diff --git a/queries/elsa/injections.scm b/queries/elsa/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/elsa/injections.scm
+++ b/queries/elsa/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/elvish/injections.scm b/queries/elvish/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/elvish/injections.scm
+++ b/queries/elvish/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/embedded_template/injections.scm b/queries/embedded_template/injections.scm
index d55c87e09..2824f7a00 100644
--- a/queries/embedded_template/injections.scm
+++ b/queries/embedded_template/injections.scm
@@ -1,2 +1,7 @@
-(content) @html @combined
-(code) @ruby @combined
+((content) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined))
+
+((code) @injection.content
+ (#set! injection.language "ruby")
+ (#set! injection.combined))
diff --git a/queries/fennel/injections.scm b/queries/fennel/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/fennel/injections.scm
+++ b/queries/fennel/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/firrtl/injections.scm b/queries/firrtl/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/firrtl/injections.scm
+++ b/queries/firrtl/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/fish/injections.scm b/queries/fish/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/fish/injections.scm
+++ b/queries/fish/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/foam/injections.scm b/queries/foam/injections.scm
index 4afdb63b0..2d744f6af 100644
--- a/queries/foam/injections.scm
+++ b/queries/foam/injections.scm
@@ -1,12 +1,20 @@
;; Pass code blocks to Cpp highlighter
-(code (code_body) @cpp)
+(code
+ (code_body) @injection.content
+ (#set! injection.language "cpp"))
;; Pass identifiers to Go highlighter (Cheating I know)
-;;((identifier) @lua)
+;; ((identifier) @injection.content
+;; (#set! injection.language "lua")
;; Highlight regex syntax inside literal strings
-((string_literal) @regex)
+((string_literal) @injection.content
+ (#set! injection.language "regex"))
;; Highlight PyFoam syntax as Python statements
-(pyfoam_variable code_body: (_) @python)
-(pyfoam_expression code_body: (_) @python)
+(pyfoam_variable
+ code_body: (_) @injection.content
+ (#set! injection.language "python"))
+(pyfoam_expression
+ code_body: (_) @injection.content
+ (#set! injection.language "python"))
diff --git a/queries/gdscript/injections.scm b/queries/gdscript/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/gdscript/injections.scm
+++ b/queries/gdscript/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/git_rebase/injections.scm b/queries/git_rebase/injections.scm
index 27388618e..8e6815a68 100644
--- a/queries/git_rebase/injections.scm
+++ b/queries/git_rebase/injections.scm
@@ -1,5 +1,6 @@
((operation
(command) @_command
- (message) @bash)
+ (message) @injection.content)
+(#set! injection.language "bash")
(#any-of? @_command "exec" "x"))
diff --git a/queries/gitattributes/injections.scm b/queries/gitattributes/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/gitattributes/injections.scm
+++ b/queries/gitattributes/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/gitcommit/injections.scm b/queries/gitcommit/injections.scm
index eecdeee47..5e56dfa5f 100644
--- a/queries/gitcommit/injections.scm
+++ b/queries/gitcommit/injections.scm
@@ -1,2 +1,5 @@
-((diff) @diff (#exclude_children! @diff))
-(rebase_command) @git_rebase
+((diff) @injection.content
+ (#set! injection.language "diff"))
+
+((rebase_command) @injection.content
+ (#set! injection.language "git_rebase"))
diff --git a/queries/gleam/injections.scm b/queries/gleam/injections.scm
index ed4c2de91..378240e38 100644
--- a/queries/gleam/injections.scm
+++ b/queries/gleam/injections.scm
@@ -1,6 +1,7 @@
; Comments
-[
+([
(module_comment)
(statement_comment)
(comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/glsl/injections.scm b/queries/glsl/injections.scm
index 6d022021d..f9061052c 100644
--- a/queries/glsl/injections.scm
+++ b/queries/glsl/injections.scm
@@ -1,6 +1,15 @@
-((preproc_def (preproc_arg) @glsl)
- (#lua-match? @glsl "\n"))
-(preproc_function_def (preproc_arg) @glsl)
-(preproc_call (preproc_arg) @glsl)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "glsl"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "glsl"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "glsl"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/go/injections.scm b/queries/go/injections.scm
index e0bdc99b9..68aa552cd 100644
--- a/queries/go/injections.scm
+++ b/queries/go/injections.scm
@@ -1,4 +1,5 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
(call_expression
(selector_expression) @_function (#any-of? @_function
@@ -10,4 +11,10 @@
"regexp.MustCompile"
"regexp.MustCompilePOSIX")
(argument_list
- . [(raw_string_literal) (interpreted_string_literal)] @regex (#offset! @regex 0 1 0 -1)))
+ .
+ [
+ (raw_string_literal)
+ (interpreted_string_literal)
+ ] @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "regex")))
diff --git a/queries/gomod/injections.scm b/queries/gomod/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/gomod/injections.scm
+++ b/queries/gomod/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/gowork/injections.scm b/queries/gowork/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/gowork/injections.scm
+++ b/queries/gowork/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/graphql/injections.scm b/queries/graphql/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/graphql/injections.scm
+++ b/queries/graphql/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/groovy/injections.scm b/queries/groovy/injections.scm
index 0a63c9bfe..0f3127b6b 100644
--- a/queries/groovy/injections.scm
+++ b/queries/groovy/injections.scm
@@ -1,4 +1,5 @@
-[
- (block_comment)
- (line_comment)
-] @comment
+((line_comment) @injection.content
+ (#set! injection.language "comment"))
+
+((block_comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/hare/injections.scm b/queries/hare/injections.scm
index 2992a948d..d3befb39b 100644
--- a/queries/hare/injections.scm
+++ b/queries/hare/injections.scm
@@ -1,8 +1,10 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
((call_expression
. (_) @_fnname
. "("
- . (_ [(string_content) (raw_string_content)] @regex)
+ . (_ [(string_content) (raw_string_content)] @injection.content)
. ")")
- (#any-of? @_fnname "compile" "regex::compile"))
+ (#any-of? @_fnname "compile" "regex::compile")
+ (#set! injection.language "regex"))
diff --git a/queries/haskell/injections.scm b/queries/haskell/injections.scm
index f210566c4..bc70e012f 100644
--- a/queries/haskell/injections.scm
+++ b/queries/haskell/injections.scm
@@ -2,11 +2,12 @@
;; General language injection
(quasiquote
- ((quoter) @language)
- ((quasiquote_body) @content)
+ ((quoter) @injection.language)
+ ((quasiquote_body) @injection.content)
)
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
;; -----------------------------------------------------------------------------
;; shakespeare library
@@ -17,35 +18,36 @@
; (quasiquote
; (quoter) @_name
; (#eq? @_name "coffee")
-; ((quasiquote_body) @coffeescript)
+; ((quasiquote_body) @injection.content
+; (#set! injection.language "coffeescript")))
; CSS: Text.Cassius, Text.Lucius
(quasiquote
(quoter) @_name
(#any-of? @_name "cassius" "lucius")
- ((quasiquote_body) @css)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "css"))
; HTML: Text.Hamlet
(quasiquote
(quoter) @_name
(#any-of? @_name "shamlet" "xshamlet" "hamlet" "xhamlet" "ihamlet")
- ((quasiquote_body) @html)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "html"))
; JS: Text.Julius
(quasiquote
(quoter) @_name
(#any-of? @_name "js" "julius")
- ((quasiquote_body) @javascript)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "javascript"))
; TS: Text.TypeScript
(quasiquote
(quoter) @_name
(#any-of? @_name "tsc" "tscJSX")
- ((quasiquote_body) @typescript)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "typescript"))
;; -----------------------------------------------------------------------------
@@ -54,8 +56,8 @@
(quasiquote
(quoter) @_name
(#eq? @_name "hsx")
- ((quasiquote_body) @html)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "html"))
;; -----------------------------------------------------------------------------
;; Inline JSON from aeson
@@ -63,8 +65,8 @@
(quasiquote
(quoter) @_name
(#eq? @_name "aesonQQ")
- ((quasiquote_body) @json)
-)
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "json"))
;; -----------------------------------------------------------------------------
@@ -72,14 +74,12 @@
; postgresql-simple
(quasiquote
- (quoter) @_name
- (#eq? @_name "sql")
- ((quasiquote_body) @sql)
-)
+ (quoter) @injection.language
+ (#eq? @injection.language "sql")
+ ((quasiquote_body) @injection.content))
-; persistent
(quasiquote
- (quoter) @_name
- (#any-of? @_name "persistUpperCase" "persistLowerCase" "persistWith")
- ((quasiquote_body) @haskell_persistent)
-)
+ (quoter) @_name
+ (#any-of? @_name "persistUpperCase" "persistLowerCase" "persistWith")
+ ((quasiquote_body) @injection.content)
+ (#set! injection.language "haskell_persistent"))
diff --git a/queries/hcl/injections.scm b/queries/hcl/injections.scm
index 94451beb4..fd881d503 100644
--- a/queries/hcl/injections.scm
+++ b/queries/hcl/injections.scm
@@ -1,7 +1,7 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
(heredoc_template
- (template_literal) @content
- (heredoc_identifier) @language
- (#set! "language" @language)
- (#downcase! "language"))
+ (template_literal) @injection.content
+ (heredoc_identifier) @injection.language
+ (#downcase! @injection.language))
diff --git a/queries/heex/injections.scm b/queries/heex/injections.scm
index fffd1dc53..1aa822197 100644
--- a/queries/heex/injections.scm
+++ b/queries/heex/injections.scm
@@ -2,10 +2,15 @@
(directive [
(expression_value)
(partial_expression_value)
-] @elixir @combined)
+] @injection.content
+ (#set! injection.language "elixir")
+ (#set! injection.combined))
; HEEx Elixir expressions are always within a tag or component
-(expression (expression_value) @elixir)
+(expression
+ (expression_value) @injection.content
+ (#set! injection.language "elixir"))
; HEEx comments
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/hjson/injections.scm b/queries/hjson/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/hjson/injections.scm
+++ b/queries/hjson/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/hlsl/injections.scm b/queries/hlsl/injections.scm
index 52e88686c..9a9fcd6e8 100644
--- a/queries/hlsl/injections.scm
+++ b/queries/hlsl/injections.scm
@@ -1,6 +1,15 @@
-((preproc_def (preproc_arg) @hlsl)
- (#lua-match? @hlsl "\n"))
-(preproc_function_def (preproc_arg) @hlsl)
-(preproc_call (preproc_arg) @hlsl)
+((preproc_def
+ (preproc_arg) @injection.content)
+ (#lua-match? @injection.content "\n")
+ (#set! injection.language "hlsl"))
-(comment) @comment
+(preproc_function_def
+ (preproc_arg) @injection.content
+ (#set! injection.language "hlsl"))
+
+(preproc_call
+ (preproc_arg) @injection.content
+ (#set! injection.language "hlsl"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/hocon/injections.scm b/queries/hocon/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/hocon/injections.scm
+++ b/queries/hocon/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/html/injections.scm b/queries/html/injections.scm
index 23981018c..eba8395a4 100644
--- a/queries/html/injections.scm
+++ b/queries/html/injections.scm
@@ -3,8 +3,10 @@
(element
(start_tag
(tag_name) @_py_script)
- (text) @python
- (#any-of? @_py_script "py-script" "py-repl"))
+ (text) @injection.content
+ (#any-of? @_py_script "py-script" "py-repl")
+ (#set! injection.language "python")
+ (#set! injection.include-children))
(script_element
(start_tag
@@ -12,13 +14,17 @@
(attribute_name) @_attr
(quoted_attribute_value
(attribute_value) @_type)))
- (raw_text) @python
+ (raw_text) @injection.content
(#eq? @_attr "type")
; not adding type="py" here as it's handled by html_tags
- (#any-of? @_type "pyscript" "py-script"))
+ (#any-of? @_type "pyscript" "py-script")
+ (#set! injection.language "python")
+ (#set! injection.include-children))
(element
(start_tag
(tag_name) @_py_config)
- (text) @toml
- (#eq? @_py_config "py-config"))
+ (text) @injection.content
+ (#eq? @_py_config "py-config")
+ (#set! injection.language "toml")
+ (#set! injection.include-children))
diff --git a/queries/html_tags/injections.scm b/queries/html_tags/injections.scm
index 29608a5a4..5b9e5350f 100644
--- a/queries/html_tags/injections.scm
+++ b/queries/html_tags/injections.scm
@@ -2,73 +2,84 @@
; <style blocking> ...</style>
; Add "lang" to predicate check so that vue/svelte can inherit this
; without having this element being captured twice
-(
- (style_element
+((style_element
(start_tag) @_no_type_lang
- (#not-lua-match? @_no_type_lang "%slang%s*=")
- (#not-lua-match? @_no_type_lang "%stype%s*=")
- (raw_text) @css))
+ (raw_text) @injection.content)
+ (#not-lua-match? @_no_type_lang "%slang%s*=")
+ (#not-lua-match? @_no_type_lang "%stype%s*=")
+ (#set! injection.language "css")
+ (#set! injection.include-children))
-(
- (style_element
- (start_tag
- (attribute
- (attribute_name) @_type
- (quoted_attribute_value (attribute_value) @_css)))
- (raw_text) @css)
- (#eq? @_type "type")
- (#eq? @_css "text/css")
-)
+((style_element
+ (start_tag
+ (attribute
+ (attribute_name) @_type
+ (quoted_attribute_value (attribute_value) @_css)))
+ (raw_text) @injection.content)
+ (#eq? @_type "type")
+ (#eq? @_css "text/css")
+ (#set! injection.language "css")
+ (#set! injection.include-children))
; <script>...</script>
; <script defer>...</script>
-(
- (script_element
- (start_tag) @_no_type_lang
- (#not-lua-match? @_no_type_lang "%slang%s*=")
- (#not-lua-match? @_no_type_lang "%stype%s*=")
- (raw_text) @javascript))
+((script_element
+ (start_tag) @_no_type_lang
+ (raw_text) @injection.content)
+ (#not-lua-match? @_no_type_lang "%slang%s*=")
+ (#not-lua-match? @_no_type_lang "%stype%s*=")
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
; <script type="mimetype-or-well-known-script-type">
(script_element
- (start_tag
- ((attribute
- (attribute_name) @_attr (#eq? @_attr "type")
- (quoted_attribute_value (attribute_value) @_type))))
- (raw_text) @content (#set-lang-from-mimetype! @_type))
+ (start_tag
+ ((attribute
+ (attribute_name) @_attr (#eq? @_attr "type")
+ (quoted_attribute_value (attribute_value) @_type))))
+ (raw_text) @injection.content (#set-lang-from-mimetype! @_type)
+ (#set! injection.include-children))
; <a style="/* css */">
((attribute
(attribute_name) @_attr
- (quoted_attribute_value (attribute_value) @css))
- (#eq? @_attr "style"))
+ (quoted_attribute_value (attribute_value) @injection.content))
+ (#eq? @_attr "style")
+ (#set! injection.language "css")
+ (#set! injection.include-children))
; lit-html style template interpolation
; <a @click=${e => console.log(e)}>
; <a @click="${e => console.log(e)}">
((attribute
- (quoted_attribute_value (attribute_value) @javascript))
- (#lua-match? @javascript "%${")
- (#offset! @javascript 0 2 0 -1))
-((attribute
- (attribute_value) @javascript)
- (#lua-match? @javascript "%${")
- (#offset! @javascript 0 2 0 -2))
+ (quoted_attribute_value (attribute_value) @injection.content))
+ (#lua-match? @injection.content "%${")
+ (#offset! @injection.content 0 2 0 -1)
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
-(comment) @comment
+((attribute
+ (attribute_value) @injection.content)
+ (#lua-match? @injection.content "%${")
+ (#offset! @injection.content 0 2 0 -2)
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
; <input pattern="[0-9]"> or <input pattern=[0-9]>
(element (_
(tag_name) @_tagname (#eq? @_tagname "input")
((attribute
(attribute_name) @_attr [
- (quoted_attribute_value (attribute_value) @regex)
- (attribute_value) @regex
+ (quoted_attribute_value (attribute_value) @injection.content)
+ (attribute_value) @injection.content
] (#eq? @_attr "pattern")))
-))
+ (#set! injection.language "regex")
+ (#set! injection.include-children)))
; <input type="checkbox" onchange="this.closest('form').elements.output.value = this.checked">
(attribute
(attribute_name) @_name
(#lua-match? @_name "^on[a-z]+$")
- (quoted_attribute_value (attribute_value) @javascript))
+ (quoted_attribute_value (attribute_value) @injection.content)
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
diff --git a/queries/htmldjango/injections.scm b/queries/htmldjango/injections.scm
index 6e49e8dcd..f08227342 100644
--- a/queries/htmldjango/injections.scm
+++ b/queries/htmldjango/injections.scm
@@ -1 +1,3 @@
-(content) @html @combined
+((content) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined))
diff --git a/queries/http/injections.scm b/queries/http/injections.scm
index db35379f7..7f06e336d 100644
--- a/queries/http/injections.scm
+++ b/queries/http/injections.scm
@@ -1,7 +1,11 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
-(json_body) @json
+((json_body) @injection.content
+ (#set! injection.language "json"))
-; (xml_body) @xml
+; ((xml_body) @injection.content
+; (#set! injection.language "xml"))
-; (graphql_body) @graphql Not used as of now..
+; ((graphql_body) @injection.content
+; (#set! injection.language "graphql")) ; Not used as of now..
diff --git a/queries/hurl/injections.scm b/queries/hurl/injections.scm
index 933633e03..3d961258f 100644
--- a/queries/hurl/injections.scm
+++ b/queries/hurl/injections.scm
@@ -1,7 +1,11 @@
; injections.scm
-(json_value) @json
-(xml) @html
+((json_value) @injection.content
+ (#set! injection.language "json"))
+
+((xml) @injection.content
+ (#set! injection.language "html"))
(multiline_string
- (multiline_string_type) @language
- (multiline_string_content) @content)
+ (multiline_string_type) @_lang
+ (multiline_string_content) @injection.content
+ (#inject-language! @_lang))
diff --git a/queries/janet_simple/injections.scm b/queries/janet_simple/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/janet_simple/injections.scm
+++ b/queries/janet_simple/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/java/injections.scm b/queries/java/injections.scm
index 0a63c9bfe..988d370f0 100644
--- a/queries/java/injections.scm
+++ b/queries/java/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(block_comment)
(line_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/jq/injections.scm b/queries/jq/injections.scm
index 5b3913967..072d38e24 100644
--- a/queries/jq/injections.scm
+++ b/queries/jq/injections.scm
@@ -1,4 +1,4 @@
-(comment) @comment
+((comment) @injection.content (#set! injection.language "comment"))
; test(val)
(query
@@ -12,7 +12,10 @@
"splits"
"sub"
"gsub"))
- (args . (query (string) @regex)))
+ (args .
+ (query
+ (string) @injection.content
+ (#set! injection.language "regex"))))
; test(regex; flags)
@@ -28,4 +31,6 @@
"sub"
"gsub"))
(args . (args
- (query (string) @regex))))
+ (query
+ (string) @injection.content
+ (#set! injection.language "regex")))))
diff --git a/queries/json5/injections.scm b/queries/json5/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/json5/injections.scm
+++ b/queries/json5/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/jsonc/injections.scm b/queries/jsonc/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/jsonc/injections.scm
+++ b/queries/jsonc/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/jsx/injections.scm b/queries/jsx/injections.scm
index 3a96931b0..e20408a66 100644
--- a/queries/jsx/injections.scm
+++ b/queries/jsx/injections.scm
@@ -3,6 +3,7 @@
(jsx_opening_element
(identifier) @_name (#eq? @_name "style")
(jsx_attribute) @_attr (#eq? @_attr "jsx"))
- (jsx_expression (template_string) @css
- (#offset! @css 0 1 0 -1))
-)
+ (jsx_expression
+ ((template_string) @injection.content
+ (#set! injection.language "css"))
+ (#offset! @injection.content 0 1 0 -1)))
diff --git a/queries/julia/injections.scm b/queries/julia/injections.scm
index 0dfd323ff..82e1503fc 100644
--- a/queries/julia/injections.scm
+++ b/queries/julia/injections.scm
@@ -1,5 +1,5 @@
;; Inject markdown in docstrings
-((string_literal) @markdown
+((string_literal) @injection.content
. [
(module_definition)
(abstract_definition)
@@ -9,15 +9,18 @@
(assignment)
(const_statement)
]
- (#lua-match? @markdown "^\"\"\"")
- (#offset! @markdown 0 3 0 -3))
+ (#lua-match? @injection.content "^\"\"\"")
+ (#set! injection.language "markdown")
+ (#offset! @injection.content 0 3 0 -3))
-[
+([
(line_comment)
(block_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
((prefixed_string_literal
- prefix: (identifier) @_prefix) @regex
+ prefix: (identifier) @_prefix) @injection.content
(#eq? @_prefix "r")
- (#offset! @regex 0 2 0 -1))
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 2 0 -1))
diff --git a/queries/kdl/injections.scm b/queries/kdl/injections.scm
index e8f3c2ea7..46674768d 100644
--- a/queries/kdl/injections.scm
+++ b/queries/kdl/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(single_line_comment)
(multi_line_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/kotlin/injections.scm b/queries/kotlin/injections.scm
index 7ba4d9494..757259d10 100644
--- a/queries/kotlin/injections.scm
+++ b/queries/kotlin/injections.scm
@@ -1,35 +1,36 @@
-[
+([
(line_comment)
(multiline_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
; There are 3 ways to define a regex
; - "[abc]?".toRegex()
(call_expression
- (navigation_expression
- ((string_literal) @regex)
- (navigation_suffix
- ((simple_identifier) @_function
- (#eq? @_function "toRegex")))))
+ (navigation_expression
+ ((string_literal) @injection.content (#set! injection.language "regex"))
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "toRegex")))))
; - Regex("[abc]?")
(call_expression
- ((simple_identifier) @_function
- (#eq? @_function "Regex"))
- (call_suffix
- (value_arguments
- (value_argument
- (string_literal) @regex))))
+ ((simple_identifier) @_function
+ (#eq? @_function "Regex"))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ (string_literal) @injection.content (#set! injection.language "regex")))))
; - Regex.fromLiteral("[abc]?")
(call_expression
- (navigation_expression
- ((simple_identifier) @_class
- (#eq? @_class "Regex"))
- (navigation_suffix
- ((simple_identifier) @_function
- (#eq? @_function "fromLiteral"))))
- (call_suffix
- (value_arguments
- (value_argument
- (string_literal) @regex))))
+ (navigation_expression
+ ((simple_identifier) @_class
+ (#eq? @_class "Regex"))
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "fromLiteral"))))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ (string_literal) @injection.content (#set! injection.language "regex")))))
diff --git a/queries/lalrpop/injections.scm b/queries/lalrpop/injections.scm
index e328af0cd..41bde7e39 100644
--- a/queries/lalrpop/injections.scm
+++ b/queries/lalrpop/injections.scm
@@ -1,9 +1,11 @@
-[
- (normal_action)
- (failible_action)
-] @rust
+([
+ (normal_action)
+ (failible_action)
+ ] @injection.content
+ (#set! injection.language "rust"))
-(use) @rust
+((use) @injection.content (#set! injection.language "rust"))
-((regex_literal) @regex
- (#offset! @regex 0 2 0 -1))
+((regex_literal) @injection.content
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 2 0 -1))
diff --git a/queries/latex/injections.scm b/queries/latex/injections.scm
index e68c6d938..85417104a 100644
--- a/queries/latex/injections.scm
+++ b/queries/latex/injections.scm
@@ -1,22 +1,25 @@
-[
- (line_comment)
- (block_comment)
- (comment_environment)
-] @comment
+([
+ (line_comment)
+ (block_comment)
+ (comment_environment)
+ ] @injection.content
+ (#set! injection.language "comment"))
(pycode_environment
- code: (source_code) @python
-)
+ code:
+ (source_code) @injection.content
+ (#set! injection.language "python"))
(minted_environment
(begin
language: (curly_group_text
- (text) @language))
- (source_code) @content)
+ (text) @injection.language))
+ (source_code) @injection.content)
((generic_environment
(begin
name: (curly_group_text
- (text) @_env))) @c
+ (text) @_env))) @injection.content
+ (#set! injection.language "c")
(#any-of? @_env "asy" "asydef"))
diff --git a/queries/ledger/injections.scm b/queries/ledger/injections.scm
index 2d9481414..ad62013f5 100644
--- a/queries/ledger/injections.scm
+++ b/queries/ledger/injections.scm
@@ -1,2 +1,5 @@
-(comment) @comment
-(note) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((note) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/lua/highlights.scm b/queries/lua/highlights.scm
index bdc2ae52c..7608da57a 100644
--- a/queries/lua/highlights.scm
+++ b/queries/lua/highlights.scm
@@ -243,5 +243,7 @@
(string) @string
+(escape_sequence) @string.escape
+
;; Error
(ERROR) @error
diff --git a/queries/lua/injections.scm b/queries/lua/injections.scm
index da3107b0e..bdb460895 100644
--- a/queries/lua/injections.scm
+++ b/queries/lua/injections.scm
@@ -3,57 +3,65 @@
(identifier) @_cdef_identifier
(_ _ (identifier) @_cdef_identifier)
]
- arguments: (arguments (string content: _ @c)))
+ arguments:
+ (arguments
+ (string content: _ @injection.content)))
+ (#set! injection.language "c")
(#eq? @_cdef_identifier "cdef"))
((function_call
name: (_) @_vimcmd_identifier
- arguments: (arguments . (string content: _ @vim)))
- (#any-of? @_vimcmd_identifier "vim.cmd" "vim.api.nvim_command" "vim.api.nvim_exec" "vim.api.nvim_exec2"))
+ arguments: (arguments (string content: _ @injection.content)))
+ (#set! injection.language "vim")
+ (#any-of? @_vimcmd_identifier "vim.cmd" "vim.api.nvim_command" "vim.api.nvim_command" "vim.api.nvim_exec2"))
((function_call
name: (_) @_vimcmd_identifier
- arguments: (arguments (string content: _ @query) .))
- (#any-of? @_vimcmd_identifier "vim.treesitter.query.set" "vim.treesitter.query.parse_query" "vim.treesitter.query.parse"))
+ arguments: (arguments (string content: _ @injection.content) .))
+ (#set! injection.language "query")
+ (#any-of? @_vimcmd_identifier "vim.treesitter.query.set" "vim.treesitter.query.parse"))
-; vim.rcprequest(123, "nvim_exec_lua", "return vim.api.nvim_buf_get_lines(0, 0, -1, false)", false)
((function_call
name: (_) @_vimcmd_identifier
- arguments: (arguments . (_) . (string content: _ @_method) . (string content: _ @lua)))
+ arguments: (arguments . (_) . (string content: _ @_method) . (string content: _ @injection.content)))
(#any-of? @_vimcmd_identifier "vim.rpcrequest" "vim.rpcnotify")
- (#eq? @_method "nvim_exec_lua"))
+ (#eq? @_method "nvim_exec_lua")
+ (#set! injection.language "lua"))
-; highlight string as query if starts with `;; query`
-(string content: _ @query (#lua-match? @query "^%s*;+%s?query"))
+;; highlight string as query if starts with `;; query`
+(string content: _ @injection.content
+ (#lua-match? @injection.content "^%s*;+%s?query")
+ (#set! injection.language "query"))
-((comment) @luadoc
- (#lua-match? @luadoc "[-][-][-][%s]*@")
- (#offset! @luadoc 0 3 0 0))
+((comment) @injection.content
+ (#lua-match? @injection.content "[-][-][-][%s]*@")
+ (#set! injection.language "luadoc")
+ (#offset! @injection.content 0 3 0 0))
; string.match("123", "%d+")
(function_call
(dot_index_expression
field: (identifier) @_method
(#any-of? @_method "find" "match"))
- arguments: (arguments (_) . (string content: _ @luap)))
+ arguments: (arguments (_) . (string content: _ @injection.content (#set! injection.language "luap"))))
(function_call
(dot_index_expression
field: (identifier) @_method
(#any-of? @_method "gmatch" "gsub"))
- arguments: (arguments (_) (string content: _ @luap)))
+ arguments: (arguments (_) (string content: _ @injection.content (#set! injection.language "luap"))))
; ("123"):match("%d+")
(function_call
(method_index_expression
method: (identifier) @_method
(#any-of? @_method "find" "match"))
- arguments: (arguments . (string content: _ @luap)))
+ arguments: (arguments . (string content: _ @injection.content (#set! injection.language "luap"))))
(function_call
(method_index_expression
method: (identifier) @_method
(#any-of? @_method "gmatch" "gsub"))
- arguments: (arguments (string content: _ @luap)))
+ arguments: (arguments (string content: _ @injection.content (#set! injection.language "luap"))))
-(comment) @comment
+((comment) @injection.content (#set! injection.language "comment"))
diff --git a/queries/luau/injections.scm b/queries/luau/injections.scm
index b24330f31..e70e0274b 100644
--- a/queries/luau/injections.scm
+++ b/queries/luau/injections.scm
@@ -3,37 +3,44 @@
(identifier) @_cdef_identifier
(_ _ (identifier) @_cdef_identifier)
]
- arguments: (arguments (string content: _ @c)))
- (#eq? @_cdef_identifier "cdef"))
+ arguments: (arguments (string content: _ @injection.content)))
+ (#eq? @_cdef_identifier "cdef")
+ (#set! injection.language "c"))
-((comment) @luadoc
- (#lua-match? @luadoc "[-][-][-][%s]*@")
- (#offset! @luadoc 0 3 0 0))
+((comment) @injection.content
+ (#lua-match? @injection.content "[-][-][-][%s]*@")
+ (#offset! @injection.content 0 3 0 0)
+ (#set! injection.language "luadoc"))
; string.match("123", "%d+")
(function_call
(dot_index_expression
field: (identifier) @_method
(#any-of? @_method "find" "format" "match"))
- arguments: (arguments (_) . (string content: _ @luap)))
+ arguments: (arguments (_) . (string content: _ @injection.content))
+ (#set! injection.language "luap"))
(function_call
(dot_index_expression
field: (identifier) @_method
(#any-of? @_method "gmatch" "gsub"))
- arguments: (arguments (_) (string content: _ @luap)))
+ arguments: (arguments (_) (string content: _ @injection.content))
+ (#set! injection.language "luap"))
; ("123"):match("%d+")
(function_call
(method_index_expression
method: (identifier) @_method
(#any-of? @_method "find" "format" "match"))
- arguments: (arguments . (string content: _ @luap)))
+ arguments: (arguments . (string content: _ @injection.content))
+ (#set! injection.language "luap"))
(function_call
(method_index_expression
method: (identifier) @_method
(#any-of? @_method "gmatch" "gsub"))
- arguments: (arguments (string content: _ @luap)))
+ arguments: (arguments (string content: _ @injection.content))
+ (#set! injection.language "luap"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/m68k/injections.scm b/queries/m68k/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/m68k/injections.scm
+++ b/queries/m68k/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/make/injections.scm b/queries/make/injections.scm
index 3add7f494..646daadd0 100644
--- a/queries/make/injections.scm
+++ b/queries/make/injections.scm
@@ -1,4 +1,7 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
-(shell_text) @bash
-(shell_command) @bash
+((shell_text) @injection.content
+ (#set! injection.language "bash"))
+((shell_command) @injection.content
+ (#set! injection.language "bash"))
diff --git a/queries/markdown/injections.scm b/queries/markdown/injections.scm
index b1795e713..735189db1 100644
--- a/queries/markdown/injections.scm
+++ b/queries/markdown/injections.scm
@@ -1,17 +1,26 @@
(fenced_code_block
(info_string
(language) @_lang)
- (code_fence_content)
- @content
- (#set-lang-from-info-string! @_lang)
- (#exclude_children! @content))
+ (code_fence_content) @injection.content
+ (#set-lang-from-info-string! @_lang))
-((html_block) @html @combined)
+((html_block) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined)
+ (#set! injection.include-children))
-((minus_metadata) @yaml (#offset! @yaml 1 0 -1 0))
-((plus_metadata) @toml (#offset! @toml 1 0 -1 0))
+((minus_metadata) @injection.content
+ (#set! injection.language "yaml")
+ (#offset! @injection.content 1 0 -1 0)
+ (#set! injection.include-children))
+
+((plus_metadata) @injection.content
+ (#set! injection.language "toml")
+ (#offset! @injection.content 1 0 -1 0)
+ (#set! injection.include-children))
([
(inline)
(pipe_table_cell)
- ] @markdown_inline (#exclude_children! @markdown_inline))
+ ] @injection.content
+ (#set! injection.language "markdown_inline"))
diff --git a/queries/markdown_inline/injections.scm b/queries/markdown_inline/injections.scm
index 3e46a283b..f7aa19caf 100644
--- a/queries/markdown_inline/injections.scm
+++ b/queries/markdown_inline/injections.scm
@@ -1,2 +1,8 @@
-((html_tag) @html @combined)
-((latex_block) @latex)
+((html_tag) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined)
+ (#set! injection.include-children))
+
+((latex_block) @injection.content
+ (#set! injection.language "latex")
+ (#set! injection.include-children))
diff --git a/queries/matlab/injections.scm b/queries/matlab/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/matlab/injections.scm
+++ b/queries/matlab/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/menhir/injections.scm b/queries/menhir/injections.scm
index 7a31dd50c..f209dd139 100644
--- a/queries/menhir/injections.scm
+++ b/queries/menhir/injections.scm
@@ -1 +1,2 @@
-(ocaml) @ocaml
+((ocaml) @injection.content
+ (#set! injection.language "ocaml"))
diff --git a/queries/meson/injections.scm b/queries/meson/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/meson/injections.scm
+++ b/queries/meson/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/nix/injections.scm b/queries/nix/injections.scm
index 671f93185..2b5d55ec1 100644
--- a/queries/nix/injections.scm
+++ b/queries/nix/injections.scm
@@ -1,19 +1,24 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
(apply_expression
function: (_) @_func
argument: [
- (string_expression (string_fragment) @regex)
- (indented_string_expression (string_fragment) @regex)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "regex")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "regex")))
]
- (#match? @_func "(^|\\.)match$"))
- @combined
+ (#match? @_func "(^|\\.)match$")
+ (#set! injection.combined))
(binding
attrpath: (attrpath (identifier) @_path)
expression: [
- (string_expression (string_fragment) @bash)
- (indented_string_expression (string_fragment) @bash)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
]
(#match? @_path "(^\\w+(Phase|Hook)|(pre|post)[A-Z]\\w+|script)$"))
@@ -22,87 +27,105 @@
argument: (_ (_)* (_ (_)* (binding
attrpath: (attrpath (identifier) @_path)
expression: [
- (string_expression (string_fragment) @bash)
- (indented_string_expression (string_fragment) @bash)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
])))
(#match? @_func "(^|\\.)writeShellApplication$")
- (#match? @_path "^text$"))
- @combined
+ (#match? @_path "^text$")
+ (#set! injection.combined))
(apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @bash)
- (indented_string_expression (string_fragment) @bash)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
]
- (#match? @_func "(^|\\.)runCommand((No)?CC)?(Local)?$"))
- @combined
+ (#match? @_func "(^|\\.)runCommand((No)?CC)?(Local)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression function: (_) @_func)
argument: [
- (string_expression (string_fragment) @bash)
- (indented_string_expression (string_fragment) @bash)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "bash")))
])
- (#match? @_func "(^|\\.)write(Bash|Dash|ShellScript)(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)write(Bash|Dash|ShellScript)(Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression function: (_) @_func)
argument: [
- (string_expression (string_fragment) @fish)
- (indented_string_expression (string_fragment) @fish)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "fish")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "fish")))
])
- (#match? @_func "(^|\\.)writeFish(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)writeFish(Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @haskell)
- (indented_string_expression (string_fragment) @haskell)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "haskell")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "haskell")))
])
- (#match? @_func "(^|\\.)writeHaskell(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)writeHaskell(Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @javascript)
- (indented_string_expression (string_fragment) @javascript)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "javascript")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "javascript")))
])
- (#match? @_func "(^|\\.)writeJS(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)writeJS(Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @perl)
- (indented_string_expression (string_fragment) @perl)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "perl")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "perl")))
])
- (#match? @_func "(^|\\.)writePerl(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)writePerl(Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @python)
- (indented_string_expression (string_fragment) @python)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "python")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "python")))
])
- (#match? @_func "(^|\\.)write(PyPy|Python)[23](Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)write(PyPy|Python)[23](Bin)?$")
+ (#set! injection.combined))
((apply_expression
function: (apply_expression
function: (apply_expression function: (_) @_func))
argument: [
- (string_expression (string_fragment) @rust)
- (indented_string_expression (string_fragment) @rust)
+ (string_expression
+ ((string_fragment) @injection.content (#set! injection.language "rust")))
+ (indented_string_expression
+ ((string_fragment) @injection.content (#set! injection.language "rust")))
])
- (#match? @_func "(^|\\.)writeRust(Bin)?$"))
- @combined
+ (#match? @_func "(^|\\.)writeRust(Bin)?$")
+ (#set! injection.combined))
diff --git a/queries/ocaml/injections.scm b/queries/ocaml/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/ocaml/injections.scm
+++ b/queries/ocaml/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/ocamllex/injections.scm b/queries/ocamllex/injections.scm
index 337d8073e..ed1d9302a 100644
--- a/queries/ocamllex/injections.scm
+++ b/queries/ocamllex/injections.scm
@@ -1,3 +1,5 @@
-(ocaml) @ocaml
+((ocaml) @injection.content
+ (#set! injection.language "ocaml"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/odin/injections.scm b/queries/odin/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/odin/injections.scm
+++ b/queries/odin/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/pascal/injections.scm b/queries/pascal/injections.scm
index c410fbb41..9832973b6 100644
--- a/queries/pascal/injections.scm
+++ b/queries/pascal/injections.scm
@@ -1,4 +1,7 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
; There is no parser for assembly language yet. Add an injection here when we
; have a parser.
-; (asmBody) @asm
+; ((asmBody) @injection.content
+; (#set! injection.language "asm"))
diff --git a/queries/pem/injections.scm b/queries/pem/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/pem/injections.scm
+++ b/queries/pem/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/perl/injections.scm b/queries/perl/injections.scm
index 78162bdba..cab5f53d5 100644
--- a/queries/perl/injections.scm
+++ b/queries/perl/injections.scm
@@ -1 +1,2 @@
-(comments) @comment
+((comments) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/php/injections.scm b/queries/php/injections.scm
index 9e243259d..0022459f7 100644
--- a/queries/php/injections.scm
+++ b/queries/php/injections.scm
@@ -1,20 +1,34 @@
-(text) @html @combined
+((text) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined))
-(comment) @phpdoc
+((comment) @injection.content
+ (#set! injection.language "phpdoc"))
;; regex
((function_call_expression
function: (_) @_preg_func_identifier
- arguments: (arguments . (argument (_ (string_value) @regex))))
+ arguments:
+ (arguments .
+ (argument
+ (_ (string_value) @injection.content))))
+ (#set! injection.language "regex")
(#lua-match? @_preg_func_identifier "^preg_"))
;; bash
((function_call_expression
function: (_) @_shell_func_identifier
- arguments: (arguments . (argument (_ (string_value) @bash))))
+ arguments:
+ (arguments .
+ (argument
+ (_ (string_value) @injection.content))))
+ (#set! injection.language "bash")
(#any-of? @_shell_func_identifier "shell_exec" "escapeshellarg"
"escapeshellcmd" "exec" "passthru" "proc_open" "shell_exec" "system"))
-((expression_statement (shell_command_expression (string_value) @bash)))
+(expression_statement
+ (shell_command_expression
+ (string_value) @injection.content)
+ (#set! injection.language "bash"))
diff --git a/queries/pioasm/injections.scm b/queries/pioasm/injections.scm
index a8a0cf49e..854886c65 100644
--- a/queries/pioasm/injections.scm
+++ b/queries/pioasm/injections.scm
@@ -1,10 +1,15 @@
- [ (line_comment) (block_comment) ] @comment
+([
+ (line_comment)
+ (block_comment)
+ ] @injection.content
+ (#set! injection.language "comment"))
((code_block
(code_block_language) @_language
- (code_block_body) @c)
- (#eq? @_language "c-sdk"))
+ (code_block_body) @injection.content)
+ (#eq? @_language "c-sdk")
+ (#set! injection.language "c"))
(code_block
- (code_block_language) @language
- (code_block_body) @content)
+ (code_block_language) @injection.language
+ (code_block_body) @injection.content)
diff --git a/queries/po/injections.scm b/queries/po/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/po/injections.scm
+++ b/queries/po/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/poe_filter/injections.scm b/queries/poe_filter/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/poe_filter/injections.scm
+++ b/queries/poe_filter/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/pony/injections.scm b/queries/pony/injections.scm
index e48ce9af3..43ae7287b 100644
--- a/queries/pony/injections.scm
+++ b/queries/pony/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(line_comment)
(block_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/promql/injections.scm b/queries/promql/injections.scm
index ffdf4f8e6..408b1c7b5 100644
--- a/queries/promql/injections.scm
+++ b/queries/promql/injections.scm
@@ -1 +1,3 @@
-((label_value) @regex (#offset! @regex 0 1 0 -1))
+((label_value) @injection.content
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 1 0 -1))
diff --git a/queries/prql/injections.scm b/queries/prql/injections.scm
index a6d4ccb12..ac266cc2d 100644
--- a/queries/prql/injections.scm
+++ b/queries/prql/injections.scm
@@ -1,13 +1,13 @@
-(
- (s_string) @sql
- (#offset! @sql 0 2 0 -1)
-)
+((s_string) @injection.content
+ (#set! injection.language "sql")
+ (#offset! @injection.content 0 2 0 -1))
(from_text
(keyword_from_text)
(keyword_json)
- (literal) @json
- (#offset! @json 0 3 0 -3)
-)
+ (literal) @injection.content
+ (#set! injection.language "json")
+ (#offset! @injection.content 0 3 0 -3))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/pug/injections.scm b/queries/pug/injections.scm
index 027744402..a307a4eb2 100644
--- a/queries/pug/injections.scm
+++ b/queries/pug/injections.scm
@@ -1,7 +1,8 @@
-(javascript) @javascript
+((javascript) @injection.content
+ (#set! injection.language "javascript"))
-(
- (attribute_name) @_attribute_name
- (quoted_attribute_value (attribute_value ) @javascript)
- (#match? @_attribute_name "^(:|v-bind|v-|\\@)")
-)
+((attribute_name) @_attribute_name
+ (quoted_attribute_value
+ (attribute_value) @injection.content
+ (#set! injection.language "javascript"))
+ (#match? @_attribute_name "^(:|v-bind|v-|\\@)"))
diff --git a/queries/puppet/injections.scm b/queries/puppet/injections.scm
index a81069600..caa10a2b0 100644
--- a/queries/puppet/injections.scm
+++ b/queries/puppet/injections.scm
@@ -1,4 +1,6 @@
-((regex) @regex
- (#offset! @regex 0 1 0 -1))
+((regex) @injection.content
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 1 0 -1))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/python/injections.scm b/queries/python/injections.scm
index 04d0eed1f..effe2ecc7 100644
--- a/queries/python/injections.scm
+++ b/queries/python/injections.scm
@@ -1,8 +1,10 @@
((call
function: (attribute
object: (identifier) @_re)
- arguments: (argument_list (string) @regex))
+ arguments: (argument_list (string) @injection.content))
(#eq? @_re "re")
- (#lua-match? @regex "^r.*"))
+ (#lua-match? @injection.content "^r.*")
+ (#set! injection.language "regex"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/ql/injections.scm b/queries/ql/injections.scm
index 88d49d424..baed9196d 100644
--- a/queries/ql/injections.scm
+++ b/queries/ql/injections.scm
@@ -1,5 +1,6 @@
-[
+([
(line_comment)
(block_comment)
(qldoc)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/qmldir/injections.scm b/queries/qmldir/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/qmldir/injections.scm
+++ b/queries/qmldir/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/query/injections.scm b/queries/query/injections.scm
index c4b877d0b..6bde865d0 100644
--- a/queries/query/injections.scm
+++ b/queries/query/injections.scm
@@ -1,13 +1,16 @@
((predicate
name: (identifier) @_name
- parameters: (parameters (string) @regex))
+ parameters: (parameters (string) @injection.content))
(#match? @_name "^#?(not-)?(match|vim-match)$")
- (#offset! @regex 0 1 0 -1))
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 1 0 -1))
((predicate
name: (identifier) @_name
- parameters: (parameters (string) @luap))
+ parameters: (parameters (string) @injection.content))
(#match? @_name "^#?(not-)?lua-match$")
- (#offset! @luap 0 1 0 -1))
+ (#set! injection.language "luap")
+ (#offset! @injection.content 0 1 0 -1))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/r/injections.scm b/queries/r/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/r/injections.scm
+++ b/queries/r/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/racket/injections.scm b/queries/racket/injections.scm
index 496286d3f..b90c418a4 100644
--- a/queries/racket/injections.scm
+++ b/queries/racket/injections.scm
@@ -1,2 +1,5 @@
-[(comment)
- (block_comment)] @comment
+([
+ (comment)
+ (block_comment)
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/rego/injections.scm b/queries/rego/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/rego/injections.scm
+++ b/queries/rego/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/requirements/injections.scm b/queries/requirements/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/requirements/injections.scm
+++ b/queries/requirements/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/rnoweb/injections.scm b/queries/rnoweb/injections.scm
index 2f7ec8a91..6b07ccdc4 100644
--- a/queries/rnoweb/injections.scm
+++ b/queries/rnoweb/injections.scm
@@ -1,7 +1,12 @@
-(latex) @latex @combined
+((latex) @injection.content
+ (#set! injection.language "latex")
+ (#set! injection.combined))
+
(rchunk
- (renv_content) @r @combined
-)
+ (renv_content) @injection.content
+ (#set! injection.language "r")
+ (#set! injection.combined))
+
(rinline
- (renv_content) @r
-)
+ (renv_content) @injection.content
+ (#set! injection.language "r"))
diff --git a/queries/ron/injections.scm b/queries/ron/injections.scm
index e48ce9af3..c3522f945 100644
--- a/queries/ron/injections.scm
+++ b/queries/ron/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(line_comment)
(block_comment)
-] @comment
+] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/rst/injections.scm b/queries/rst/injections.scm
index 97bd0628a..4fc27225a 100644
--- a/queries/rst/injections.scm
+++ b/queries/rst/injections.scm
@@ -1,9 +1,11 @@
-(doctest_block) @python
+((doctest_block) @injection.content
+ (#set! injection.language "python"))
;; Directives with nested content without arguments nor options
((directive
name: (type) @_type
- body: (body) @rst)
+ body: (body) @injection.content)
+ (#set! injection.language "rst")
(#any-of?
@_type
"attention" "caution" "danger" "error" "hint" "important" "note" "tip" "warning" "admonition"
@@ -15,7 +17,8 @@
;; Directives with nested content without arguments, but with options
((directive
name: (type) @_type
- body: (body (options) (content) @rst))
+ body: (body (options) (content) @injection.content))
+ (#set! injection.language "rst")
(#any-of?
@_type
"attention" "caution" "danger" "error" "hint" "important" "note" "tip" "warning" "admonition"
@@ -24,7 +27,8 @@
;; Directives with nested content with arguments and options
((directive
name: (type) @_type
- body: (body (content) @rst))
+ body: (body (content) @injection.content))
+ (#set! injection.language "rst")
(#any-of?
@_type
"figure"
@@ -35,37 +39,42 @@
;; Special directives
((directive
name: (type) @_type
- body: (body (arguments) @language (content) @content))
+ body: (body (arguments) @injection.language (content) @injection.content))
(#any-of? @_type "code" "code-block" "sourcecode"))
((directive
name: (type) @_type
- body: (body (arguments) @language (content) @content))
+ body: (body (arguments) @injection.language (content) @injection.content))
(#eq? @_type "raw"))
((directive
name: (type) @_type
- body: (body (content) @latex))
+ body: (body (content) @injection.content))
+ (#set! injection.language "latex")
(#eq? @_type "math"))
; TODO: re-add when a parser for csv is added.
; ((directive
; name: (type) @_type
-; body: (body (content) @csv))
+; body: (body (content) @injection.content))
+; (#set! injection.language "csv")
; (#eq? @_type "csv-table"))
;; Special roles - prefix
((interpreted_text
(role) @_role
- "interpreted_text" @latex)
- (#eq? @_role ":math:"))
+ "interpreted_text" @injection.content)
+ (#eq? @_role ":math:")
+ (#set! injection.language "latex"))
;; Special roles - suffix
((interpreted_text
- "interpreted_text" @latex
+ "interpreted_text" @injection.content
(role) @_role)
- (#eq? @_role ":math:"))
+ (#eq? @_role ":math:")
+ (#set! injection.language "latex"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/ruby/injections.scm b/queries/ruby/injections.scm
index 8e2456b39..6981808c5 100644
--- a/queries/ruby/injections.scm
+++ b/queries/ruby/injections.scm
@@ -1,9 +1,12 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
(heredoc_body
- (heredoc_content) @content
- (heredoc_end) @language
- (#set! "language" @language)
+ (heredoc_content) @injection.content
+ (heredoc_end) @injection.language
+ (#set! "language" @injection.language)
(#downcase! "language"))
-(regex (string_content) @regex)
+(regex
+ (string_content) @injection.content
+ (#set! injection.language "regex"))
diff --git a/queries/rust/injections.scm b/queries/rust/injections.scm
index fd19fbec2..5dead8564 100644
--- a/queries/rust/injections.scm
+++ b/queries/rust/injections.scm
@@ -1,34 +1,39 @@
(macro_invocation
- (token_tree) @rust)
+ (token_tree) @injection.content (#set! injection.language "rust"))
(macro_definition
(macro_rule
- left: (token_tree_pattern) @rust
- right: (token_tree) @rust))
+ left: (token_tree_pattern) @injection.content
+ (#set! injection.language "rust")))
-[
+(macro_definition
+ (macro_rule
+ right: (token_tree) @injection.content
+ (#set! injection.language "rust")))
+
+([
(line_comment)
(block_comment)
-] @comment
-
-(
- (macro_invocation
- macro: ((identifier) @_html_def)
- (token_tree) @html)
+] @injection.content
+ (#set! injection.language "comment"))
- (#eq? @_html_def "html")
-)
+((macro_invocation
+ macro: ((identifier) @injection.language)
+ (token_tree) @injection.content)
+ (#eq? @injection.language "html"))
(call_expression
function: (scoped_identifier
path: (identifier) @_regex (#eq? @_regex "Regex")
name: (identifier) @_new (#eq? @_new "new"))
arguments: (arguments
- (raw_string_literal) @regex))
+ (raw_string_literal) @injection.content)
+ (#set! injection.language "regex"))
(call_expression
function: (scoped_identifier
path: (scoped_identifier (identifier) @_regex (#eq? @_regex "Regex").)
name: (identifier) @_new (#eq? @_new "new"))
arguments: (arguments
- (raw_string_literal) @regex))
+ (raw_string_literal) @injection.content)
+ (#set! injection.language "regex"))
diff --git a/queries/scala/injections.scm b/queries/scala/injections.scm
index 521ca7a67..aebb54d93 100644
--- a/queries/scala/injections.scm
+++ b/queries/scala/injections.scm
@@ -1,4 +1,5 @@
-[
- (comment)
- (block_comment)
-] @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((block_comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/scfg/injections.scm b/queries/scfg/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/scfg/injections.scm
+++ b/queries/scfg/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/scheme/injections.scm b/queries/scheme/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/scheme/injections.scm
+++ b/queries/scheme/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/smali/injections.scm b/queries/smali/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/smali/injections.scm
+++ b/queries/smali/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/sparql/injections.scm b/queries/sparql/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/sparql/injections.scm
+++ b/queries/sparql/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/sql/injections.scm b/queries/sql/injections.scm
index 2157ceb1d..b298ff22f 100644
--- a/queries/sql/injections.scm
+++ b/queries/sql/injections.scm
@@ -1,3 +1,6 @@
-(comment) @comment
-(marginalia) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((marginalia) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/squirrel/injections.scm b/queries/squirrel/injections.scm
index 97cd40350..34a0fce8b 100644
--- a/queries/squirrel/injections.scm
+++ b/queries/squirrel/injections.scm
@@ -1,9 +1,12 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
-((verbatim_string) @html
- (#lua-match? @html "^@\"<html")
- (#offset! @html 0 2 0 -1))
+((verbatim_string) @injection.content
+ (#lua-match? @injection.content "^@\"<html")
+ (#set! injection.language "html")
+ (#offset! @injection.content 0 2 0 -1))
-((verbatim_string) @html
- (#lua-match? @html "@\"<!DOCTYPE html>")
- (#offset! @html 0 2 0 -1))
+((verbatim_string) @injection.content
+ (#lua-match? @injection.content "@\"<!DOCTYPE html>")
+ (#set! injection.languge "html")
+ (#offset! @injection.content 0 2 0 -1))
diff --git a/queries/supercollider/injections.scm b/queries/supercollider/injections.scm
index e48ce9af3..43ae7287b 100644
--- a/queries/supercollider/injections.scm
+++ b/queries/supercollider/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(line_comment)
(block_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/surface/injections.scm b/queries/surface/injections.scm
index 928977a34..0ee100999 100644
--- a/queries/surface/injections.scm
+++ b/queries/surface/injections.scm
@@ -1,8 +1,10 @@
; Surface expressions and components are Elixir code
-[
+([
(expression_value)
(component_name)
-] @elixir
+] @injection.content
+ (#set! injection.language "elixir"))
; Surface comments are nvim-treesitter comments
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/svelte/injections.scm b/queries/svelte/injections.scm
index dec2772f8..679919dc6 100644
--- a/queries/svelte/injections.scm
+++ b/queries/svelte/injections.scm
@@ -1,40 +1,41 @@
; inherits: html_tags
-(
- (style_element
+((style_element
(start_tag
(attribute
(attribute_name) @_attr
(quoted_attribute_value (attribute_value) @_lang)))
- (raw_text) @scss)
+ (raw_text) @injection.content)
(#eq? @_attr "lang")
(#any-of? @_lang "scss" "postcss" "less")
-)
+ (#set! injection.language "scss")
+ (#set! injection.include-children))
-[
+([
(raw_text_expr)
(raw_text_each)
-] @javascript
+] @injection.content
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
-(
- (script_element
+((script_element
(start_tag
(attribute
(attribute_name) @_attr
(quoted_attribute_value (attribute_value) @_lang)))
- (raw_text) @typescript)
- (#eq? @_attr "lang")
- (#any-of? @_lang "ts" "typescript")
-)
+ (raw_text) @injection.content)
+ (#eq? @_attr "lang")
+ (#any-of? @_lang "ts" "typescript")
+ (#set! injection.language "typescript")
+ (#set! injection.include-children))
-(
- (element
- (start_tag
- (attribute
- (attribute_name) @_attr
- (quoted_attribute_value
- (attribute_value) @_lang)))
- (text) @pug)
- (#eq? @_attr "lang")
- (#eq? @_lang "pug")
-)
+((element
+ (start_tag
+ (attribute
+ (attribute_name) @_attr
+ (quoted_attribute_value
+ (attribute_value) @injection.language)))
+ (text) @injection.content)
+ (#eq? @_attr "lang")
+ (#eq? @injection.language "pug")
+ (#set! injection.include-children))
diff --git a/queries/sxhkdrc/injections.scm b/queries/sxhkdrc/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/sxhkdrc/injections.scm
+++ b/queries/sxhkdrc/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/systemtap/injections.scm b/queries/systemtap/injections.scm
index 1dd86c9f3..9a1099d6d 100644
--- a/queries/systemtap/injections.scm
+++ b/queries/systemtap/injections.scm
@@ -1,2 +1,5 @@
-(comment) @comment
-(embedded_code) @c
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((embedded_code) @injection.content
+ (#set! injection.language "c"))
diff --git a/queries/t32/injections.scm b/queries/t32/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/t32/injections.scm
+++ b/queries/t32/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/tablegen/injections.scm b/queries/tablegen/injections.scm
index b137e472c..08390aaa1 100644
--- a/queries/tablegen/injections.scm
+++ b/queries/tablegen/injections.scm
@@ -1,7 +1,9 @@
-((code) @cpp
- (#offset! @cpp 0 2 0 -2))
+((code) @injection.content
+ (#set! injection.language "cpp")
+ (#offset! @injection.content 0 2 0 -2))
((tablegen_file
- (comment) @bash)
- (#lua-match? @bash "^.*RUN")
- (#offset! @bash 0 8))
+ (comment) @injection.content)
+ (#lua-match? @injection.content "^.*RUN")
+ (#set! injection.language "bash")
+ (#offset! @injection.content 0 8))
diff --git a/queries/teal/injections.scm b/queries/teal/injections.scm
index f37f4d747..5eef08702 100644
--- a/queries/teal/injections.scm
+++ b/queries/teal/injections.scm
@@ -3,12 +3,13 @@
(index
(identifier) @_cdef_identifier)
(arguments
- (string) @c)
+ (string) @injection.content)
)
(#eq? @_cdef_identifier "cdef")
- (#lua-match? @c "^[\"']")
- (#offset! @c 0 1 0 -1)
+ (#lua-match? @injection.content "^[\"']")
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "c")
)
(
@@ -16,12 +17,14 @@
(index
(identifier) @_cdef_identifier)
(arguments
- (string) @c)
+ (string) @injection.content)
)
(#eq? @_cdef_identifier "cdef")
- (#lua-match? @c "^%[%[")
- (#offset! @c 0 2 0 -2)
+ (#lua-match? @injection.content "^%[%[")
+ (#offset! @injection.content 0 2 0 -2)
+ (#set! injection.language "c")
)
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/thrift/injections.scm b/queries/thrift/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/thrift/injections.scm
+++ b/queries/thrift/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/tiger/injections.scm b/queries/tiger/injections.scm
index 21350312a..b0063012c 100644
--- a/queries/tiger/injections.scm
+++ b/queries/tiger/injections.scm
@@ -1,3 +1,4 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
; vim: sw=2 foldmethod=marker
diff --git a/queries/tlaplus/injections.scm b/queries/tlaplus/injections.scm
index 4d0833e1b..b88c1facb 100644
--- a/queries/tlaplus/injections.scm
+++ b/queries/tlaplus/injections.scm
@@ -1,4 +1,5 @@
-[
+([
(comment)
(block_comment_text)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/toml/injections.scm b/queries/toml/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/toml/injections.scm
+++ b/queries/toml/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/turtle/injections.scm b/queries/turtle/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/turtle/injections.scm
+++ b/queries/turtle/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/twig/injections.scm b/queries/twig/injections.scm
index 97f84c16c..663dc3b6c 100644
--- a/queries/twig/injections.scm
+++ b/queries/twig/injections.scm
@@ -1,2 +1,3 @@
-(content) @html
+((content) @injection.content
+ (#set! injection.language "html"))
diff --git a/queries/ungrammar/injections.scm b/queries/ungrammar/injections.scm
index 35c0af746..ac82a3e5f 100644
--- a/queries/ungrammar/injections.scm
+++ b/queries/ungrammar/injections.scm
@@ -1,2 +1,3 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/uxntal/injections.scm b/queries/uxntal/injections.scm
index 4bb7d675d..6adae45a2 100644
--- a/queries/uxntal/injections.scm
+++ b/queries/uxntal/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/v/injections.scm b/queries/v/injections.scm
index b39a5ef44..9fa581377 100644
--- a/queries/v/injections.scm
+++ b/queries/v/injections.scm
@@ -1,13 +1,17 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
;; asm_statement if asm ever highlighted :)
;; #include <...>
-(hash_statement) @c
+((hash_statement) @injection.content
+ (#set! injection.language "c"))
;; regex for the methods defined in `re` module
((call_expression
name: (selector_expression
field: (reference_expression (identifier) @_re))
arguments: (argument_list
- (argument (literal (raw_string_literal) @regex (#offset! @regex 0 2 0 -1)))))
- (#any-of? @_re "regex_base" "regex_opt" "compile_opt"))
+ (argument (literal (raw_string_literal) @injection.content
+ (#offset! @injection.content 0 2 0 -1)))))
+ (#any-of? @_re "regex_base" "regex_opt" "compile_opt")
+ (#set! injection.language "regex"))
diff --git a/queries/verilog/injections.scm b/queries/verilog/injections.scm
index 4bb7d675d..321c90add 100644
--- a/queries/verilog/injections.scm
+++ b/queries/verilog/injections.scm
@@ -1 +1,2 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/vim/injections.scm b/queries/vim/injections.scm
index cddcbe418..553ac5e6a 100644
--- a/queries/vim/injections.scm
+++ b/queries/vim/injections.scm
@@ -1,18 +1,35 @@
-(lua_statement (script (body) @lua))
-(lua_statement (chunk) @lua)
-(ruby_statement (script (body) @ruby))
-(ruby_statement (chunk) @ruby)
-(python_statement (script (body) @python))
-(python_statement (chunk) @python)
+(lua_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "lua")))
+(lua_statement
+ (chunk) @injection.content
+ (#set! injection.language "lua"))
+(ruby_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "ruby")))
+(ruby_statement
+ (chunk) @injection.content
+ (#set! injection.language "ruby"))
+(python_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "python")))
+(python_statement
+ (chunk) @injection.content
+ (#set! injection.language "python"))
;; If we support perl at some point...
;; (perl_statement (script (body) @perl))
;; (perl_statement (chunk) @perl)
-(autocmd_statement (pattern) @regex)
+(autocmd_statement
+ (pattern) @injection.content
+ (#set! injection.language "regex"))
((set_item
option: (option_name) @_option
- value: (set_value) @vim)
+ value: (set_value) @injection.content)
(#any-of? @_option
"includeexpr" "inex"
"printexpr" "pexpr"
@@ -22,6 +39,8 @@
"foldexpr" "fde"
"diffexpr" "dex"
"patchexpr" "pex"
- "charconvert" "ccv"))
+ "charconvert" "ccv")
+ (#set! injection.language "vim"))
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/vimdoc/injections.scm b/queries/vimdoc/injections.scm
index 09bbe44e8..4ae65e19e 100644
--- a/queries/vimdoc/injections.scm
+++ b/queries/vimdoc/injections.scm
@@ -1,3 +1,4 @@
-(codeblock
- (language) @language
- (code) @content)
+((codeblock
+ (language) @injection.language
+ (code) @injection.content)
+ (#set! injection.include-children))
diff --git a/queries/vue/injections.scm b/queries/vue/injections.scm
index ffbc00bfc..215fe1081 100644
--- a/queries/vue/injections.scm
+++ b/queries/vue/injections.scm
@@ -5,30 +5,36 @@
(start_tag
(attribute
(attribute_name) @_lang
- (quoted_attribute_value (attribute_value) @_css)))
+ (quoted_attribute_value (attribute_value) @injection.language)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
- (#eq? @_css "css")
- (raw_text) @css))
+ (#any-of? @injection.language "css" "scss")
+ (#set! injection.include-children))
-; TODO: When nvim-treesitter have postcss and less parser, use @language and @content instead
+; TODO: When nvim-treesitter has postcss and less parsers, use @injection.language and @injection.content instead
; <script lang="scss">
((style_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_scss)))
+ (raw_text) @injection.content
(#eq? @_lang "lang")
- (#any-of? @_scss "scss" "less" "postcss")
- (raw_text) @scss))
+ (#any-of? @_scss "less" "postcss")
+ (#set! injection.language "scss")
+ (#set! injection.include-children)))
+
; <script lang="js">
((script_element
(start_tag
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_js)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
(#eq? @_js "js")
- (raw_text) @javascript))
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
; <script lang="ts">
((script_element
@@ -36,9 +42,11 @@
(attribute
(attribute_name) @_lang
(quoted_attribute_value (attribute_value) @_ts)))
+ (raw_text) @injection.content)
(#eq? @_lang "lang")
(#eq? @_ts "ts")
- (raw_text) @typescript))
+ (#set! injection.language "typescript")
+ (#set! injection.include-children))
; <script lang="tsx">
; <script lang="jsx">
@@ -46,21 +54,27 @@
(start_tag
(attribute
(attribute_name) @_attr
- (quoted_attribute_value (attribute_value) @language)))
+ (quoted_attribute_value (attribute_value) @injection.language)))
(#eq? @_attr "lang")
- (#any-of? @language "tsx" "jsx")
- (raw_text) @content))
+ (#any-of? @injection.language "tsx" "jsx")
+ (raw_text) @injection.content)
+ (#set! injection.include-children))
((interpolation
- (raw_text) @javascript))
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript")
+ (#set! injection.include-children))
-((directive_attribute
- (quoted_attribute_value
- (attribute_value) @javascript)))
+(directive_attribute
+ (quoted_attribute_value
+ (attribute_value) @injection.content
+ (#set! injection.language "javascript")
+ (#set! injection.include-children)))
-((template_element
+(template_element
(start_tag
(attribute
- (quoted_attribute_value (attribute_value) @_lang)))
- (#eq? @_lang "pug")
- (text) @pug))
+ (quoted_attribute_value (attribute_value) @injection.language)))
+ (text) @injection.content
+ (#eq? @injection.language "pug")
+ (#set! injection.include-children))
diff --git a/queries/yaml/injections.scm b/queries/yaml/injections.scm
index ba6d0aa06..fd4685bb7 100644
--- a/queries/yaml/injections.scm
+++ b/queries/yaml/injections.scm
@@ -1,22 +1,30 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
;; Github actions ("run") / Gitlab CI ("scripts")
(block_mapping_pair
key: (flow_node) @_run (#any-of? @_run "run" "script" "before_script" "after_script")
value: (flow_node
- (plain_scalar) @bash))
+ (plain_scalar
+ (string_scalar) @injection.content)
+ (#set! injection.language "bash")))
(block_mapping_pair
key: (flow_node) @_run (#any-of? @_run "run" "script" "before_script" "after_script")
value: (block_node
- (block_scalar) @bash (#offset! @bash 0 1 0 0)))
+ (block_scalar) @injection.content
+ (#set! injection.language "bash")
+ (#offset! @injection.content 0 1 0 0)))
(block_mapping_pair
key: (flow_node) @_run (#any-of? @_run "run" "script" "before_script" "after_script")
value: (block_node
(block_sequence
(block_sequence_item
- (flow_node) @bash))))
+ (flow_node
+ (plain_scalar
+ (string_scalar) @injection.content))
+ (#set! injection.language "bash")))))
(block_mapping_pair
key: (flow_node) @_run (#any-of? @_run "script" "before_script" "after_script")
@@ -24,25 +32,34 @@
(block_sequence
(block_sequence_item
(block_node
- (block_scalar) @bash (#offset! @bash 0 1 0 0))))))
+ (block_scalar) @injection.content
+ (#set! injection.language "bash")
+ (#offset! @injection.content 0 1 0 0))))))
;; Prometheus Alertmanager ("expr")
(block_mapping_pair
key: (flow_node) @_expr (#eq? @_expr "expr")
value: (flow_node
- (plain_scalar) @promql))
+ (plain_scalar
+ (string_scalar) @injection.content)
+ (#set! injection.language "promql")))
(block_mapping_pair
key: (flow_node) @_expr (#eq? @_expr "expr")
value: (block_node
- (block_scalar) @promql (#offset! @promql 0 2 0 0)))
+ (block_scalar) @injection.content
+ (#set! injection.language "promql")
+ (#offset! @injection.content 0 2 0 0)))
(block_mapping_pair
key: (flow_node) @_expr (#eq? @_expr "expr")
value: (block_node
(block_sequence
(block_sequence_item
- (flow_node) @promql))))
+ (flow_node
+ (plain_scalar
+ (string_scalar) @injection.content))
+ (#set! injection.language "promql")))))
(block_mapping_pair
key: (flow_node) @_expr (#eq? @_expr "expr")
@@ -50,4 +67,6 @@
(block_sequence
(block_sequence_item
(block_node
- (block_scalar) @promql (#offset! @promql 0 2 0 0))))))
+ (block_scalar) @injection.content
+ (#set! injection.language "promql")
+ (#offset! @injection.content 0 2 0 0))))))
diff --git a/queries/yang/injections.scm b/queries/yang/injections.scm
index a1d9482b7..44b0e44e9 100644
--- a/queries/yang/injections.scm
+++ b/queries/yang/injections.scm
@@ -1,6 +1,8 @@
-(comment) @comment
+((comment) @injection.content
+ (#set! injection.language "comment"))
((statement
(statement_keyword "pattern")
- (argument (string) @regex))
- (#offset! @regex 0 1 0 -1))
+ (argument (string) @injection.content))
+ (#set! injection.language "regex")
+ (#offset! @injection.content 0 1 0 -1))
diff --git a/queries/zig/injections.scm b/queries/zig/injections.scm
index e3ff406d3..31e15a328 100644
--- a/queries/zig/injections.scm
+++ b/queries/zig/injections.scm
@@ -1,5 +1,7 @@
-[
+([
(container_doc_comment)
(doc_comment)
(line_comment)
-] @comment
+ ] @injection.content
+ (#set! injection.language "comment"))
+