Le Language Server Protocol (LSP) est la passerelle entre Vitte et les éditeurs modernes (VS Code, Neovim, Sublime Text, etc.).
Le serveur LSP de Vitte (vitte-lsp
) offre des fonctionnalités de productivité telles que l’autocomplétion, la navigation, le diagnostic en temps réel et le formatage automatique.
git clone https://github.com/vitte-lang/vitte.git
cd vitte
cargo build --release -p vitte-lsp
./target/release/vitte-lsp --version
Le serveur est généralement lancé automatiquement par l’éditeur.
Manuellement, il peut être exécuté en mode stdio
ou tcp
.
vitte-lsp
vitte-lsp-tcp --port 9257
vitte-fmt
.Shift+Alt+F
).settings.json
){
"vitte.lsp.path": "/usr/local/bin/vitte-lsp",
"vitte.fmt.enable": true,
"editor.formatOnSave": true,
"editor.defaultFormatter": "vitte-lang.vitte"
}
require('lspconfig').vitte_lsp.setup{
cmd = {"vitte-lsp"},
filetypes = {"vit"},
root_dir = function(fname)
return vim.fn.getcwd()
end
}
flowchart TD
A[Editor] <--> B[VS Code Extension]
B <--> C[Vitte LSP Server]
C --> D[Parser / AST]
C --> E[Compiler / IR]
C --> F[Formatter]
C --> G[Diagnostics Engine]
Le serveur peut être démarré via vitte-cli
:
vitte lsp
Options :
--stdio
(par défaut)--tcp <port>
fn add(x: int, y: int) -> int {
return x + y
}
let z = add(1, 2)
Au survol de add
, l’éditeur affiche :
fn add(x: int, y: int) -> int
Avant :
let result = compute()
print(result)
Après renommage en value
:
let value = compute()
print(value)
Activer les logs :
RUST_LOG=debug vitte-lsp
Fichier de log :
~/.cache/vitte/lsp.log
~/Library/Logs/Vitte/lsp.log
%APPDATA%\Vitte\lsp.log
vitte-fuzz
Le serveur LSP Vitte est l’élément clé pour offrir une expérience moderne et productive.
Il permet de développer Vitte comme un langage de premier plan, avec un IDE complet, multiplateforme et extensible.