Language servers
Assumer uses language servers to understand types, symbols and errors in your code, and downloads the right server automatically for each language it finds.
Language servers (LSP) give Assumer the same code intelligence your editor has: types, definitions and diagnostics. After editing a file, the agent can see new errors right away and fix them before you review.
Supported languages
Assumer starts the right server when your project uses the language:
| Language | Server |
|---|---|
| TypeScript, JavaScript | typescript-language-server, Deno, ESLint |
| Python | Pyright |
| Go | gopls |
| Rust | rust-analyzer |
| C, C++ | clangd |
| Java | jdtls |
| Ruby | ruby-lsp |
| PHP | Intelephense |
| Swift | sourcekit-lsp |
| Elixir | elixir-ls |
| Zig | zls |
| Dart | Dart language server |
| Vue, Svelte, Astro | vue-language-server, svelte-language-server, astro-ls |
| YAML, Lua, Bash | yaml-, lua- and bash-language-server |
| Terraform, Prisma | terraform-ls, Prisma language server |
| OCaml, Clojure, Typst | ocaml-lsp, clojure-lsp, tinymist |
Automatic downloads
Servers that aren’t installed are downloaded the first time they’re needed. To use only the servers already on your machine, set:
export ASSUMER_DISABLE_LSP_DOWNLOAD=1
Troubleshooting
assumer debug lsp
shows which servers are running for the current project and any errors they report.