https://github.com/sveltejs/language-tools
The Svelte Language Server, and official extensions which use it
https://github.com/sveltejs/language-tools
language-server svelte vscode-extension
Last synced: 16 days ago
JSON representation
The Svelte Language Server, and official extensions which use it
- Host: GitHub
- URL: https://github.com/sveltejs/language-tools
- Owner: sveltejs
- License: mit
- Created: 2020-03-15T19:49:32.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-26T08:04:50.000Z (21 days ago)
- Last Synced: 2026-01-26T19:50:22.472Z (21 days ago)
- Topics: language-server, svelte, vscode-extension
- Language: TypeScript
- Homepage:
- Size: 7.72 MB
- Stars: 1,393
- Watchers: 11
- Forks: 227
- Open Issues: 284
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-list - language-tools
- JavaScript-Guide - Svelte Language Tools
- VSCode-Guide - Svelte Language Tools
README
[IDE docs and troubleshooting](docs)
## What is Svelte Language Tools?
Svelte Language Tools contains a library implementing the Language Server Protocol (LSP). LSP powers the [VSCode extension](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode), which is also hosted in this repository. Additionally, LSP is capable of powering plugins for [numerous other IDEs](https://microsoft.github.io/language-server-protocol/implementors/tools/).
A `.svelte` file would look something like this:
```html
let count = $state(1);
let doubled = $derived(count * 2);
let quadrupled = $derived(doubled * 2);
function handleClick() {
count += 1;
}
Count: {count}
{count} * 2 = {doubled}
{doubled} * 2 = {quadrupled}
```
Which is a mix of [HTMLx](https://github.com/htmlx-org/HTMLx) and vanilla JavaScript (but with additional runtime behavior coming from the svelte compiler).
This repo contains the tools which provide editor integrations for Svelte files like this.
## Contributing
Contributions are encouraged and always welcome. [Read the contribution guide for more info](CONTRIBUTING.md) and help us out!
## Supporting Svelte
Svelte is an MIT-licensed open source project with its ongoing development made possible entirely by the support of awesome volunteers. If you'd like to support their efforts, please consider:
- [Becoming a backer on Open Collective](https://opencollective.com/svelte).
Funds donated via Open Collective will be used for compensating expenses related to Svelte's development such as hosting costs. If sufficient donations are received, funds may also be used to support Svelte's development more directly.
## License
[MIT](LICENSE)
## Credits
- [James Birtles](https://github.com/jamesbirtles) for creating the foundation which this language server, and the extensions are built on
- Vue's [Vetur](https://github.com/vuejs/vetur) language server which heavily inspires this project
- [halfnelson](https://github.com/halfnelson) for creating `svelte2tsx`
- [jasonlyu123](https://github.com/jasonlyu123) for his ongoing work in all areas of the language-tools