Language Servers
Setup guides for individual language servers. Each page covers installation and Catenary configuration.
Languages
| Language(s) | Page | Server |
|---|---|---|
| CSS, HTML, JSON | CSS-HTML-JSON | vscode-langservers-extracted |
| Go | Go | gopls |
| JavaScript | JavaScript | typescript-language-server |
| Julia | Julia | LanguageServer.jl |
| Markdown | Markdown | lattice |
| PHP | PHP | intelephense |
| Python | Python | pyright-langserver |
| Rust | Rust | rust-analyzer |
| Shell (Bash) | Shell | bash-language-server |
| Termux & Packaging | Termux | termux-language-server |
| TypeScript | TypeScript | typescript-language-server |
Contributing
Want to add a language?
- Create a page for your language in the
lsp/folder following the template below - Add a row to the table above
- Submit a PR
Template
# YourLanguage
## Install
### macOS
```bash
# install command
```
### Linux
```bash
# install command
```
### Windows
```bash
# install command
```
## Config
Catenary ships a built-in definition for `your-language-server` — no
`[lsp.server.*]` config is needed. If `your-language-server` is on PATH,
it works automatically.
<!-- OR, if the server is not in the built-in defaults: -->
Add to `~/.config/catenary/config.toml`. The `[lsp.server.*]` section key
**is** the server binary Catenary spawns (add `path = "/abs/path"` only to
relocate a binary that is not on PATH):
```toml
[lsp.server.your-language-server]
args = ["--stdio"]
[lsp.language.yourlanguage]
servers = ["your-language-server"]
```
## Notes
Any gotchas, tips, or links to official docs.