Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Language Servers

Setup guides for individual language servers. Each page covers installation and Catenary configuration.

Manual system installs are one path. Catenary installs conformance-vetted servers itself, into a directory it owns — automatically with [servers] auto_install = true in your user config, or one at a time from the TUI’s guided install — see Managed language servers. The pages here cover the manual system install: use them for servers outside the vetted set, or when you prefer to manage server binaries yourself.

Languages

Language(s)PageServer
CSS, HTML, JSONCSS-HTML-JSONvscode-langservers-extracted
GoGogopls
JavaScriptJavaScripttypescript-language-server
JuliaJuliaLanguageServer.jl
MarkdownMarkdownlattice
PHPPHPintelephense
PythonPythonpyright-langserver
RustRustrust-analyzer
Shell (Bash)Shellbash-language-server
Termux & PackagingTermuxtermux-language-server
TypeScriptTypeScripttypescript-language-server

Contributing

Want to add a language?

  1. Create a page for your language in the lsp/ folder following the template below
  2. Add a row to the table above
  3. 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.