svelte: Migrate to tree-sitter-grammars/tree-sitter-svelte
(#17529)
> [!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>
This commit is contained in:
parent
27f09957c2
commit
accff826ca
7 changed files with 271 additions and 113 deletions
|
@ -2,16 +2,29 @@
|
|||
|
||||
Svelte support is available through the [Svelte extension](https://github.com/zed-industries/zed/tree/main/extensions/svelte).
|
||||
|
||||
- Tree Sitter: [Himujjal/tree-sitter-svelte](https://github.com/Himujjal/tree-sitter-svelte)
|
||||
- Tree Sitter: [tree-sitter-grammars/tree-sitter-svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte)
|
||||
- Language Server: [sveltejs/language-tools](https://github.com/sveltejs/language-tools)
|
||||
|
||||
<!--
|
||||
TBD: Rewrite Svelte docs so it doesn't begin with a json block assuming you know what inlayHints are.
|
||||
-->
|
||||
## Extra theme styling configuration
|
||||
|
||||
You can modify how certain styles such as directives and modifiers appear in attributes:
|
||||
|
||||
```json
|
||||
"syntax": {
|
||||
// Styling for directives (e.g., `class:foo` or `on:click`) (the `on` or `class` part of the attribute).
|
||||
"attribute.function": {
|
||||
"color": "#ff0000"
|
||||
},
|
||||
// Styling for modifiers at the end of attributes, e.g. `on:<click|preventDefault|stopPropagation>`
|
||||
"attribute.special": {
|
||||
"color": "#00ff00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Inlay Hints
|
||||
|
||||
Zed sets the following initialization options for inlay Hints:
|
||||
Zed sets the following initialization options for inlay hints:
|
||||
|
||||
```json
|
||||
"inlayHints": {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue