dorkhub

language-tools

The Svelte Language Server, and official extensions which use it

sveltejs
TypeScript1.4k248 forksMITupdated 4 days ago
git clone https://github.com/sveltejs/language-tools.gitsveltejs/language-tools

Cybernetically enhanced web apps: Svelte npm version license

IDE docs and troubleshooting

What is Svelte Language Tools?

Svelte Language Tools contains a library implementing the Language Server Protocol (LSP). LSP powers the VSCode extension, which is also hosted in this repository. Additionally, LSP is capable of powering plugins for numerous other IDEs.

A .svelte file would look something like this:

<script>
    let count = $state(1);

    let doubled = $derived(count * 2);
    let quadrupled = $derived(doubled * 2);

    function handleClick() {
        count += 1;
    }
</script>

<button onclick="{handleClick}">Count: {count}</button>

<p>{count} * 2 = {doubled}</p>
<p>{doubled} * 2 = {quadrupled}</p>

Which is a mix of 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 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:

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

Credits

  • James Birtles for creating the foundation which this language server, and the extensions are built on
  • Vue's Vetur language server which heavily inspires this project
  • halfnelson for creating svelte2tsx
  • jasonlyu123 for his ongoing work in all areas of the language-tools

more like this

svelte-audio-waveform

Generate stunning audio waveforms with Svelte 5 and Canvas. Transform an array of peak data into beautifully rendered,…

Svelte51

chessdriller

Open-source chess opening practice. Free alternative to Chessable's spaced repetition / review feature.

JavaScript62

search

search projects, people, and tags