Language servers
Which LSPs the built-in editor uses for diagnostics, completions, and navigation.
On this page
The built-in editor uses Language Server Protocol (LSP) servers for diagnostics, autocomplete, hover docs, go-to-definition, rename, and code actions. Glueprint discovers a set of language servers automatically when you open a folder.
Auto-discovered LSPs
When you open a folder, Glueprint scans for language servers it knows about and registers any it finds. Open Settings > Language servers to see what’s registered.
Each row shows:
- The language it handles.
- The LSP binary’s path (where it was found).
- Its current state.
Languages supported today
Glueprint’s discovery registry currently covers:
- Rust
- TypeScript and JavaScript
- Python
- Go
- PHP
- C#
If the language you want isn’t in this list, the discovery registry doesn’t have a built-in rule for it yet. We’re adding more over time.
C# and csharp-ls
First install the .NET 10 SDK. Then install csharp-ls:
dotnet tool install --global csharp-ls
csharp-ls needs the .NET 10 SDK as its own runtime, independently of the
target framework of the code you are editing. Use csharp-ls 0.24.0 or newer.
Older builds send a configuration request during startup that Glueprint does
not answer, so the server reports Running but never finishes loading your
solution and answers nothing.
A solution file anywhere up the tree wins over a nearer project file. Rooting the server at a single project inside a multi-project solution gives you a server that starts and looks healthy but cannot resolve symbols outside that one project.
Language features cover .cs files only. Razor (.cshtml, .razor) and F#
get syntax highlighting from the editor, not language features.
Settings > Diagnostics carries a .NET SDK row showing whether the SDK is installed, its version, and whether it meets the .NET 10 floor csharp-ls needs.
Re-detect
If you’ve installed an LSP after launching Glueprint, click Re-detect at the top of Settings > Language servers to rescan.
State
Each server has a state badge:
- Running — responding.
- Idle — registered, not currently handling requests.
- Starting — launching now.
- Missing — the binary couldn’t be found.
- Crashed — the process died and Glueprint is showing you the last error.
Related topics
- Editor preferences for what’s tunable on the editor side.
- Editor & IDE for the rest of the editor’s features.