refactor: remove include-children from queries (#5226)

These `include-children` were to alleviate an issue with empty range language tree, which has been fixed for Neovim nightly/Neovim 0.9.2
This commit is contained in:
Pham Huy Hoang 2023-09-12 15:36:50 +09:00 committed by GitHub
parent 15d327fe63
commit bfb4601f48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 58 deletions

View file

@ -5,8 +5,7 @@
(tag_name) @_py_script) (tag_name) @_py_script)
(text) @injection.content (text) @injection.content
(#any-of? @_py_script "py-script" "py-repl") (#any-of? @_py_script "py-script" "py-repl")
(#set! injection.language "python") (#set! injection.language "python"))
(#set! injection.include-children))
(script_element (script_element
(start_tag (start_tag
@ -18,13 +17,11 @@
(#eq? @_attr "type") (#eq? @_attr "type")
; not adding type="py" here as it's handled by html_tags ; 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.language "python"))
(#set! injection.include-children))
(element (element
(start_tag (start_tag
(tag_name) @_py_config) (tag_name) @_py_config)
(text) @injection.content (text) @injection.content
(#eq? @_py_config "py-config") (#eq? @_py_config "py-config")
(#set! injection.language "toml") (#set! injection.language "toml"))
(#set! injection.include-children))

View file

@ -7,8 +7,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#not-lua-match? @_no_type_lang "%slang%s*=") (#not-lua-match? @_no_type_lang "%slang%s*=")
(#not-lua-match? @_no_type_lang "%stype%s*=") (#not-lua-match? @_no_type_lang "%stype%s*=")
(#set! injection.language "css") (#set! injection.language "css"))
(#set! injection.include-children))
((style_element ((style_element
(start_tag (start_tag
@ -18,8 +17,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_type "type") (#eq? @_type "type")
(#eq? @_css "text/css") (#eq? @_css "text/css")
(#set! injection.language "css") (#set! injection.language "css"))
(#set! injection.include-children))
; <script>...</script> ; <script>...</script>
; <script defer>...</script> ; <script defer>...</script>
@ -28,8 +26,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#not-lua-match? @_no_type_lang "%slang%s*=") (#not-lua-match? @_no_type_lang "%slang%s*=")
(#not-lua-match? @_no_type_lang "%stype%s*=") (#not-lua-match? @_no_type_lang "%stype%s*=")
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
; <script type="mimetype-or-well-known-script-type"> ; <script type="mimetype-or-well-known-script-type">
(script_element (script_element
@ -37,16 +34,14 @@
((attribute ((attribute
(attribute_name) @_attr (#eq? @_attr "type") (attribute_name) @_attr (#eq? @_attr "type")
(quoted_attribute_value (attribute_value) @_type)))) (quoted_attribute_value (attribute_value) @_type))))
(raw_text) @injection.content (#set-lang-from-mimetype! @_type) (raw_text) @injection.content (#set-lang-from-mimetype! @_type))
(#set! injection.include-children))
; <a style="/* css */"> ; <a style="/* css */">
((attribute ((attribute
(attribute_name) @_attr (attribute_name) @_attr
(quoted_attribute_value (attribute_value) @injection.content)) (quoted_attribute_value (attribute_value) @injection.content))
(#eq? @_attr "style") (#eq? @_attr "style")
(#set! injection.language "css") (#set! injection.language "css"))
(#set! injection.include-children))
; lit-html style template interpolation ; lit-html style template interpolation
; <a @click=${e => console.log(e)}> ; <a @click=${e => console.log(e)}>
@ -55,15 +50,13 @@
(quoted_attribute_value (attribute_value) @injection.content)) (quoted_attribute_value (attribute_value) @injection.content))
(#lua-match? @injection.content "%${") (#lua-match? @injection.content "%${")
(#offset! @injection.content 0 2 0 -1) (#offset! @injection.content 0 2 0 -1)
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
((attribute ((attribute
(attribute_value) @injection.content) (attribute_value) @injection.content)
(#lua-match? @injection.content "%${") (#lua-match? @injection.content "%${")
(#offset! @injection.content 0 2 0 -2) (#offset! @injection.content 0 2 0 -2)
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
; <input pattern="[0-9]"> or <input pattern=[0-9]> ; <input pattern="[0-9]"> or <input pattern=[0-9]>
(element (_ (element (_
@ -73,13 +66,11 @@
(quoted_attribute_value (attribute_value) @injection.content) (quoted_attribute_value (attribute_value) @injection.content)
(attribute_value) @injection.content (attribute_value) @injection.content
] (#eq? @_attr "pattern"))) ] (#eq? @_attr "pattern")))
(#set! injection.language "regex") (#set! injection.language "regex")))
(#set! injection.include-children)))
; <input type="checkbox" onchange="this.closest('form').elements.output.value = this.checked"> ; <input type="checkbox" onchange="this.closest('form').elements.output.value = this.checked">
(attribute (attribute
(attribute_name) @_name (attribute_name) @_name
(#lua-match? @_name "^on[a-z]+$") (#lua-match? @_name "^on[a-z]+$")
(quoted_attribute_value (attribute_value) @injection.content) (quoted_attribute_value (attribute_value) @injection.content)
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))

View file

@ -33,10 +33,10 @@
(#lua-match? @injection.content "^%s*;+%s?query") (#lua-match? @injection.content "^%s*;+%s?query")
(#set! injection.language "query")) (#set! injection.language "query"))
((comment) @injection.content (comment
(#lua-match? @injection.content "^[-][-][-][%s]*@") content: (_) @injection.content
(#lua-match? @injection.content "^[-][%s]*@")
(#set! injection.language "luadoc") (#set! injection.language "luadoc")
(#set! injection.include-children)
(#offset! @injection.content 0 3 0 0)) (#offset! @injection.content 0 3 0 0))
; string.match("123", "%d+") ; string.match("123", "%d+")
@ -87,6 +87,6 @@
(#set! injection.language "luap") (#set! injection.language "luap")
(#set! injection.include-children)))) (#set! injection.include-children))))
((comment) @injection.content (comment
(#set! injection.language "comment") content: (_) @injection.content
(#set! injection.include-children)) (#set! injection.language "comment"))

View file

@ -1,8 +1,6 @@
((html_tag) @injection.content ((html_tag) @injection.content
(#set! injection.language "html") (#set! injection.language "html")
(#set! injection.combined) (#set! injection.combined))
(#set! injection.include-children))
((latex_block) @injection.content ((latex_block) @injection.content
(#set! injection.language "latex") (#set! injection.language "latex"))
(#set! injection.include-children))

View file

@ -8,15 +8,13 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_attr "lang") (#eq? @_attr "lang")
(#any-of? @_lang "scss" "postcss" "less") (#any-of? @_lang "scss" "postcss" "less")
(#set! injection.language "scss") (#set! injection.language "scss"))
(#set! injection.include-children))
([ ([
(raw_text_expr) (raw_text_expr)
(raw_text_each) (raw_text_each)
] @injection.content ] @injection.content
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
((script_element ((script_element
(start_tag (start_tag
@ -26,8 +24,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_attr "lang") (#eq? @_attr "lang")
(#any-of? @_lang "ts" "typescript") (#any-of? @_lang "ts" "typescript")
(#set! injection.language "typescript") (#set! injection.language "typescript"))
(#set! injection.include-children))
((element ((element
(start_tag (start_tag
@ -37,5 +34,4 @@
(attribute_value) @injection.language))) (attribute_value) @injection.language)))
(text) @injection.content) (text) @injection.content)
(#eq? @_attr "lang") (#eq? @_attr "lang")
(#eq? @injection.language "pug") (#eq? @injection.language "pug"))
(#set! injection.include-children))

View file

@ -8,8 +8,7 @@
(quoted_attribute_value (attribute_value) @injection.language))) (quoted_attribute_value (attribute_value) @injection.language)))
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_lang "lang") (#eq? @_lang "lang")
(#any-of? @injection.language "css" "scss") (#any-of? @injection.language "css" "scss"))
(#set! injection.include-children))
; TODO: When nvim-treesitter has postcss and less parsers, use @injection.language and @injection.content instead ; TODO: When nvim-treesitter has postcss and less parsers, use @injection.language and @injection.content instead
; <script lang="scss"> ; <script lang="scss">
@ -21,8 +20,7 @@
(raw_text) @injection.content (raw_text) @injection.content
(#eq? @_lang "lang") (#eq? @_lang "lang")
(#any-of? @_scss "less" "postcss") (#any-of? @_scss "less" "postcss")
(#set! injection.language "scss") (#set! injection.language "scss")))
(#set! injection.include-children)))
; <script lang="js"> ; <script lang="js">
((script_element ((script_element
@ -33,8 +31,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_lang "lang") (#eq? @_lang "lang")
(#eq? @_js "js") (#eq? @_js "js")
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
; <script lang="ts"> ; <script lang="ts">
((script_element ((script_element
@ -45,8 +42,7 @@
(raw_text) @injection.content) (raw_text) @injection.content)
(#eq? @_lang "lang") (#eq? @_lang "lang")
(#eq? @_ts "ts") (#eq? @_ts "ts")
(#set! injection.language "typescript") (#set! injection.language "typescript"))
(#set! injection.include-children))
; <script lang="tsx"> ; <script lang="tsx">
; <script lang="jsx"> ; <script lang="jsx">
@ -57,24 +53,20 @@
(quoted_attribute_value (attribute_value) @injection.language))) (quoted_attribute_value (attribute_value) @injection.language)))
(#eq? @_attr "lang") (#eq? @_attr "lang")
(#any-of? @injection.language "tsx" "jsx") (#any-of? @injection.language "tsx" "jsx")
(raw_text) @injection.content) (raw_text) @injection.content))
(#set! injection.include-children))
((interpolation ((interpolation
(raw_text) @injection.content) (raw_text) @injection.content)
(#set! injection.language "javascript") (#set! injection.language "javascript"))
(#set! injection.include-children))
(directive_attribute (directive_attribute
(quoted_attribute_value (quoted_attribute_value
(attribute_value) @injection.content (attribute_value) @injection.content
(#set! injection.language "javascript") (#set! injection.language "javascript")))
(#set! injection.include-children)))
(template_element (template_element
(start_tag (start_tag
(attribute (attribute
(quoted_attribute_value (attribute_value) @injection.language))) (quoted_attribute_value (attribute_value) @injection.language)))
(text) @injection.content (text) @injection.content
(#eq? @injection.language "pug") (#eq? @injection.language "pug"))
(#set! injection.include-children))