
> [!NOTE] > The https://github.com/tree-sitter-grammars/tree-sitter-svelte repository seems to be more well maintained, with higher quality code, and as per https://github.com/zed-extensions/svelte/issues/1 it was suggested that we swap to this repository for Svelte grammars - Closes https://github.com/zed-industries/zed/issues/17310 - Closes https://github.com/zed-industries/zed/issues/10893 - Closes https://github.com/zed-industries/zed/issues/12833 - Closes https://github.com/zed-extensions/svelte/issues/1 - Closes https://github.com/zed-industries/zed/issues/14943 - Closes https://github.com/zed-extensions/svelte/issues/2 - Added: buffer/file symbol outlines for `.svelte` (`outlines.scm`) - Improved: Attribute directives & modifiers in `.svelte` files can be styled independently. - Fixed: issue where svelte expression inside quotes failed parsing - Improved: Svelte components in Markup are styled differently from tags. - Added: Support for Svelte 5 syntax (`{#snippet children()}`, `{@render foo()`) - Change: Svelte now using [tree-sitter-grammars/tree-sitter-svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) for language highlighting - Added: Support for typescript syntax in svelte expressions   Release Notes: - N/A --- **tree-sitter-grammar things to improve** - [ ] snippet functions aren't being treated as JS code - [ ] we should be able to detect @component comments and treat them as markdown - [x] `foo:bar` style/class/prop directives - [x] `--foo="..."` var fields - [ ] snippet/if blocks's children may need to be indented a little further Will implement some of the rest of these in a separate PR --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
69 lines
797 B
Scheme
69 lines
797 B
Scheme
|
|
(script_element
|
|
(start_tag) @name
|
|
(raw_text) @context @item
|
|
)
|
|
|
|
(script_element
|
|
(end_tag) @name @item
|
|
)
|
|
|
|
(style_element
|
|
(start_tag) @name
|
|
(raw_text) @context
|
|
) @item
|
|
|
|
|
|
(document) @item
|
|
|
|
(comment) @annotation
|
|
|
|
(if_statement
|
|
(if_start) @name
|
|
) @item
|
|
|
|
(else_block
|
|
(else_start) @name
|
|
) @item
|
|
|
|
(else_if_block
|
|
(else_if_start) @name
|
|
) @item
|
|
|
|
(element
|
|
(start_tag) @name
|
|
) @item
|
|
|
|
(element
|
|
(self_closing_tag) @name
|
|
) @item
|
|
|
|
|
|
; (if_end) @name @item
|
|
|
|
(each_statement
|
|
(each_start) @name
|
|
) @item
|
|
|
|
|
|
(snippet_statement
|
|
(snippet_start) @name
|
|
) @item
|
|
|
|
(snippet_end) @name @item
|
|
|
|
(html_tag) @name @item
|
|
|
|
(const_tag) @name @item
|
|
|
|
(await_statement
|
|
(await_start) @name
|
|
) @item
|
|
|
|
(then_block
|
|
(then_start) @name
|
|
) @item
|
|
|
|
(catch_block
|
|
(catch_start) @name
|
|
) @item
|