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.

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.