diff --git a/runtime/queries/ecma/injections.scm b/runtime/queries/ecma/injections.scm index 69afb6d41..2aa7c2d21 100644 --- a/runtime/queries/ecma/injections.scm +++ b/runtime/queries/ecma/injections.scm @@ -10,12 +10,13 @@ function: (identifier) @injection.language arguments: [ (arguments - (template_string) @injection.content) - (template_string) @injection.content + (template_string + (string_fragment) @injection.content)) + (template_string + (string_fragment) @injection.content) ] (#lua-match? @injection.language "^[a-zA-Z][a-zA-Z0-9]*$") - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + (#set! injection.combined) ; Languages excluded from auto-injection due to special rules ; - svg uses the html parser ; - css uses the styled parser @@ -27,11 +28,12 @@ (#eq? @_name "svg") arguments: [ (arguments - (template_string) @injection.content) - (template_string) @injection.content + (template_string + (string_fragment) @injection.content)) + (template_string + (string_fragment) @injection.content) ] - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + (#set! injection.combined) (#set! injection.language "html")) ; Vercel PostgreSQL @@ -41,12 +43,13 @@ property: (property_identifier) @injection.language) arguments: [ (arguments - (template_string) @injection.content) - (template_string) @injection.content + (template_string + (string_fragment) @injection.content)) + (template_string + (string_fragment) @injection.content) ] (#eq? @injection.language "sql") - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children)) + (#set! injection.combined)) ; Sanity CMS GROQ query ; defineQuery(`...`) @@ -54,9 +57,9 @@ function: (identifier) @_name (#eq? @_name "defineQuery") arguments: (arguments - (template_string) @injection.content) - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + (template_string + (string_fragment) @injection.content)) + (#set! injection.combined) (#set! injection.language "groq")) ; gql`...` or gql(`...`) @@ -65,28 +68,29 @@ (#eq? @_name "gql") arguments: [ (arguments - (template_string) @injection.content) - (template_string) @injection.content + (template_string + (string_fragment) @injection.content)) + (template_string + (string_fragment) @injection.content) ] - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + (#set! injection.combined) (#set! injection.language "graphql")) (call_expression function: (identifier) @_name (#eq? @_name "hbs") - arguments: (template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: (template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "glimmer")) ; css``, keyframes`` (call_expression function: (identifier) @_name (#any-of? @_name "css" "keyframes") - arguments: (template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: (template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "styled")) ; styled.div`` @@ -94,9 +98,9 @@ function: (member_expression object: (identifier) @_name (#eq? @_name "styled")) - arguments: ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "styled"))) ; styled(Component)`` @@ -104,9 +108,9 @@ function: (call_expression function: (identifier) @_name (#eq? @_name "styled")) - arguments: ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "styled"))) ; styled.div.attrs({ prop: "foo" })`` @@ -116,9 +120,9 @@ object: (member_expression object: (identifier) @_name (#eq? @_name "styled")))) - arguments: ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "styled"))) ; styled(Component).attrs({ prop: "foo" })`` @@ -128,9 +132,9 @@ object: (call_expression function: (identifier) @_name (#eq? @_name "styled")))) - arguments: ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + arguments: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "styled"))) ((regex_pattern) @injection.content @@ -140,10 +144,10 @@ ; (#eq? @_gql_comment "/* GraphQL */") ; (template_string) @injection.content ; (#set! injection.language "graphql")) -((template_string) @injection.content - (#lua-match? @injection.content "^`#graphql") - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) +((template_string + (string_fragment) @injection.content) + (#lua-match? @injection.content "^#graphql") + (#set! injection.combined) (#set! injection.language "graphql")) ; el.innerHTML = `` @@ -151,9 +155,9 @@ left: (member_expression property: (property_identifier) @_prop (#any-of? @_prop "outerHTML" "innerHTML")) - right: (template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + right: (template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "html")) ; el.innerHTML = '' @@ -178,9 +182,9 @@ (pair key: ((property_identifier) @_prop (#eq? @_prop "template")) - value: ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + value: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "angular"))))))) ; @Component({ @@ -196,9 +200,9 @@ key: ((property_identifier) @_prop (#eq? @_prop "styles")) value: (array - ((template_string) @injection.content - (#offset! @injection.content 0 1 0 -1) - (#set! injection.include-children) + ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "css")))))))) ; @Component({ @@ -213,7 +217,7 @@ (pair key: ((property_identifier) @_prop (#eq? @_prop "styles")) - value: ((template_string) @injection.content - (#set! injection.include-children) - (#offset! @injection.content 0 1 0 -1) + value: ((template_string + (string_fragment) @injection.content) + (#set! injection.combined) (#set! injection.language "css"))))))) diff --git a/runtime/queries/html_tags/injections.scm b/runtime/queries/html_tags/injections.scm index 1c8ce012b..eb0ecd8e1 100644 --- a/runtime/queries/html_tags/injections.scm +++ b/runtime/queries/html_tags/injections.scm @@ -81,13 +81,13 @@ ((attribute (quoted_attribute_value (attribute_value) @injection.content)) - (#lua-match? @injection.content "%${") + (#lua-match? @injection.content "^%${") (#offset! @injection.content 0 2 0 -1) (#set! injection.language "javascript")) ((attribute (attribute_value) @injection.content) - (#lua-match? @injection.content "%${") + (#lua-match? @injection.content "^%${") (#offset! @injection.content 0 2 0 -2) (#set! injection.language "javascript"))