slint/tools/lsp
Olivier Goffart e44f7d7a4c LSP: fix reloading loaded dependencies
The change in https://github.com/slint-ui/slint/pull/6747
invalidated the cache, but it was only reloaded when one of the dependent was reloaded.
We need to reload the cache for all open file so that LSP feature continue to work on
open document even if they get no changes
2024-11-26 14:27:56 +01:00
..
common LSP: fix reloading loaded dependencies 2024-11-26 14:27:56 +01:00
fmt fmt: Fix moving comments on the next line 2024-09-16 13:02:14 +02:00
language LSP: fix reloading loaded dependencies 2024-11-26 14:27:56 +01:00
LICENSES Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
preview live-preview: Do not show components in selection popup 2024-11-26 10:30:18 +01:00
ui live-preview: Elide text in the selection popup 2024-11-25 22:52:41 +01:00
build.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
Cargo.toml Interpreter: on wasm, check the user agent to resolve the native style 2024-10-17 18:05:38 +02:00
common.rs live-preview: Use another seelction color for interactive building blocks 2024-11-14 14:07:37 +01:00
fmt.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
language.rs LSP: fix reloading loaded dependencies 2024-11-26 14:27:56 +01:00
lsp_ext.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
main.rs LSP: fix reloading loaded dependencies 2024-11-26 14:27:56 +01:00
preview.rs live-preview: Use another seelction color for interactive building blocks 2024-11-14 14:07:37 +01:00
README.md Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
util.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
wasm_main.rs lsp: Pass invalidation of files on to live-preview 2024-10-10 09:31:11 +02:00

LSP (Language Server Protocol) Server for Slint

This directory contains the implementation of the LSP server for Slint featuring diagnostics, code completion, goto definition, and more importantly, live-preview

Generic usage

The LSP server consists of a binary, slint-lsp (or slint-lsp.exe on Windows). It provides all the functionality and allows any programming editor that also implements the standardized LSP protocol to communicate with it.

If you have Rust installed, you can install the binary by running the following command:

cargo install slint-lsp

This makes the latest released version available in $HOME/.cargo/bin. If you would like to try a development version, you can also point cargo install to the git repository: for the released version. Or, to install the develoment version:

cargo install slint-lsp --git https://github.com/slint-ui/slint --force

Alternatively, you can download one of our pre-built binaries for Linux or Windows:

  1. Open https://github.com/slint-ui/slint/releases
  2. Click on the latest release
  3. From "Assets" download either slint-lsp-linux.tar.gz for a Linux x86-64 binary or slint-lsp-windows.zip for a Windows x86-64 binary.
  4. Uncompress the downloaded archive into a location of your choice.

As the next step, configure your editor to use the binary, no arguments are required

Code formatting

The slint code formatting tool is part of the lsp. To learn how to use it as a standalone tool, see fmt README

Editor configuration

Please check the editors folder in the Slint repository for instructions on how to set up different editors to work with Slint.