LSP servers
Install, manage, and inspect LSP servers from the TUI. Mason-backed installer with 576+ packages, dual Neovim and standalone backends, no config edits.
Empryo's code intelligence runs a full LSP layer. It ships a Mason-backed installer so you can add servers for any language from the TUI without touching your Neovim config.
Commands
/lsp open the LSP manager (install, enable, disable)
/lsp install search and install servers (Mason registry, 576+ packages)
/lsp status attached servers with PID, language, capabilities
/lsp restart restart all, or filter by languageWhat the agent uses
Every code intelligence operation tries LSP first:
- Go-to-definition
- Find references
- Workspace-wide rename
- Diagnostics (errors, warnings, info)
- Code actions (quick fixes, refactors)
- Call hierarchy (incoming and outgoing)
- Type hierarchy (super and subtypes)
- Hover and type info
- Format document and format range
No manual setup required. The agent picks the right tool automatically.
Dual backend
Empryo runs LSP in two modes, whichever is available:
| Mode | When |
|---|---|
| Neovim bridge | Editor panel open. Routes through your running Neovim LSP clients. Zero warm-up cost. |
| Standalone | Editor panel closed, or Neovim not installed. Empryo spawns LSP servers directly into ~/.empryo/lsp-servers/. |
Both cover the same capabilities. Standalone servers stay warm as hot standby even when Neovim is open.
Supported languages
Typical LSP coverage (any Mason package works): TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, Scala, C#, Swift, Dart, Elixir, OCaml, Lua, C, C++, Ruby, PHP, Zig, Bash, CSS, HTML, JSON, TOML, YAML, Dockerfile, Vue.
Tree-sitter detection adds ReScript, Solidity, TLA+, Emacs Lisp, Objective-C, Nix, HCL/Terraform, Bazel/Starlark, Jsonnet, Makefile, GraphQL, Protobuf, SQL, Markdown, MDX, XML, and more.
For anything LSP doesn't cover, the intelligence router falls through to ts-morph (TypeScript/JavaScript AST), tree-sitter, and regex.
Mason installer
/lsp install opens a fuzzy-search browser over Mason's registry. Pick a package, press enter, Empryo installs it:
- npm packages to
~/.empryo/lsp-servers/node_modules/ - pypi via
pip3 - cargo via
cargo install - golang via
go install - github releases downloaded and extracted
Already installed locally or via your Neovim's Mason? Empryo picks them up from the existing paths.
Check health
/diagnose runs a full check: tree-sitter, LSP readiness, semantic indexing, Genome status. Use it when something doesn't feel right.