ncode CLI Features
Language servers
With a language server installed, agents can use the lsp tool to find their way through code by meaning rather than by text search:
| Operation | Answers |
|---|---|
goToDefinition | where a symbol is defined |
findReferences | every use of a symbol |
goToImplementation | the implementations of an interface or behaviour |
hover | the type and documentation at a position |
documentSymbol | the symbols of one file |
workspaceSymbol | a symbol anywhere in the project |
ncode starts one server per project and language when an agent first needs it, and stops it again after five minutes without a request. Each request has 30 seconds. Paths stay confined to the project.
Default servers#
ncode does not install language servers. It runs these commands when they are on your PATH:
| Language | Command |
|---|---|
| Elixir | elixir-ls --stdio |
| TypeScript, JavaScript | typescript-language-server --stdio |
| Python | pyright-langserver --stdio |
| Rust | rust-analyzer |
| Go | gopls serve |
| C, C++ | clangd --log=error |
| Ruby | solargraph stdio |
| Java | jdtls |
| Swift | sourcekit-lsp |
| Zig | zls |
| Erlang | none; set one yourself |
Using another command#
Settings → Language servers has one row per language. Set your own command there, or from a shell:
ncode config set lsp.python "basedpyright-langserver --stdio"
ncode config reset lsp.pythonA changed command applies to the next server that starts.