translations/LSP_IT.md
Rama main · réplica de lectura del repositorio original.
# Protocollo Server di Linguaggio Zen C (LSP)
Zen C include un Server di Linguaggio (LSP) integrato per fornire funzionalità dell'editor come autocompletamento, vai alla definizione e diagnostica degli errori.
## Avvio del Server
Il Server di Linguaggio è integrato nel compilatore `zc`. Puoi avviarlo manualmente (sebbene il tuo editor di solito lo gestisca) con:
```bash
zc lsp
```
Comunica tramite input/output standard (stdio).
## Configurazione dell'Editor
### VS Code
Per Visual Studio Code, usa l'estensione ufficiale di Zen C:
- **Repository**: [zenc-lang/vscode-zenc](https://github.com/zenc-lang/vscode-zenc)
Installa l'estensione direttamente dal **[Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Z-libs.zenc)**.
In alternativa, puoi compilare il `.vsix` dal codice sorgente.
### Vim / Neovim
Il supporto per Vim e Neovim è fornito tramite il plugin `zenc.vim`, che include evidenziazione della sintassi e helper di configurazione LSP.
- **Repository**: [zenc-lang/zenc.vim](https://github.com/zenc-lang/zenc.vim)
#### Neovim (esempio con `lazy.nvim`)
Se usi `nvim-lspconfig`, puoi registrare `zc` come server personalizzato:
```lua
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')
if not configs.zenc then
configs.zenc = {
default_config = {
cmd = { 'zc', 'lsp' },
filetypes = { 'zenc', 'zc' },
root_dir = lspconfig.util.root_pattern('.git', 'build.bat', 'Makefile'),
settings = {},
},
}
end
lspconfig.zenc.setup {}
```
### Zed
Per configurare Zen C in Zed, aggiungi quanto segue al tuo `settings.json` o configurazione del linguaggio:
```json
{
"lsp": {
"zenc": {
"binary": {
"path": "zc",
"arguments": ["lsp"]
}
}
},
"languages": {
"Zen C": {
"language_servers": ["zenc"]
}
}
}
```
### Editor Generici (Sublime, Emacs, ecc.)
Per qualsiasi editor che supporti client LSP generici:
1. **Comando**: `zc`
2. **Argomenti**: `lsp`
3. **Trasporto**: `stdio`
4. **Estensioni file**: `.zc`
## Funzionalità
- **Diagnostica**: Errori di sintassi e tipo in tempo reale.
- **Vai alla Definizione**: Salta alle definizioni di struct, funzioni e variabili.
- **Autocompletamento**: Suggerimenti contestuali per campi e metodi.
- **Hover**: Informazioni sul tipo e documentazione al passaggio del mouse.