diff options
| -rw-r--r-- | queries/svelte/injections.scm | 11 | ||||
| -rw-r--r-- | tests/query/injections/svelte/test-svelte-injections.svelte | 39 |
2 files changed, 43 insertions, 7 deletions
diff --git a/queries/svelte/injections.scm b/queries/svelte/injections.scm index d66530f7a..65adb5143 100644 --- a/queries/svelte/injections.scm +++ b/queries/svelte/injections.scm @@ -4,16 +4,13 @@ (style_element (start_tag (attribute + (attribute_name) @_attr (quoted_attribute_value (attribute_value) @_lang))) (raw_text) @scss) + (#eq? @_attr "lang") (#any-of? @_lang "scss" "postcss" "less") ) -((attribute - (attribute_name) @_attr - (quoted_attribute_value (attribute_value) @css)) - (#eq? @_attr "style")) - [ (raw_text_expr) (raw_text_each) @@ -23,9 +20,9 @@ (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") ) - -(comment) @comment diff --git a/tests/query/injections/svelte/test-svelte-injections.svelte b/tests/query/injections/svelte/test-svelte-injections.svelte new file mode 100644 index 000000000..a821dd080 --- /dev/null +++ b/tests/query/injections/svelte/test-svelte-injections.svelte @@ -0,0 +1,39 @@ +<script> + import Button from "./Button.svelte"; +// ^ javascript +</script> +<script lang="ts"> + const foo: number = 1 +// ^ typescript +</script> + +<style> + main { + font-family: sans-serif; + text-align: center; +/* ^ css +*/ + } +</style> +<style lang="scss"> + main { + font-family: sans-serif; + text-align: center; + &:hover { +// ^ scss + } + } +</style> + +<main> + <h1>Test file</h1> + {#each someItems as someItem} +<!-- ^ javascript +--> + <div>{someItem}</div> +<!-- ^ javascript +--> + {/each} + <Button /> + <button on:click={() => foo++}></button> +</main> |
