3 unstable releases
Uses new Rust 2024
| 0.16.1 | Jul 31, 2025 |
|---|---|
| 0.16.0 | Jul 23, 2025 |
| 0.15.0 | Jan 7, 2025 |
#35 in Text editors
126 downloads per month
74KB
2K
SLoC
koto-ls
An implementation of the Language Server Protocol for the Koto programming language.
Installation
The latest published version of koto-ls can be installed by running
cargo install koto-ls.
To install the development version of koto-ls, run cargo install --path . in the current directory.
Features
Along with reporting compilation errors,
the following LSP features are supported by koto-ls:
- Document formatting
- Document highlights
- Find references
- Get document symbols
- Goto definition
- Hover
- Rename symbol
Editor Setup
Helix
Helix has built-in support for Koto since version 25.01, and will make use of koto-ls if it's available in your path.
For older versions, koto-ls can be registered as a language server in your languages.toml file.
[language-server.koto-ls]
command = "koto-ls"
[[language]]
name = "koto"
scope = "source.koto"
injection-regex = "koto"
file-types = ["koto"]
comment-token = "#"
indent = { tab-width = 2, unit = " " }
roots = []
language-servers = [ "koto-ls" ]
Neovim
koto-ls can be used with neovim's built-in LSP support by creating an autocmd
that runs each time a .koto file is opened.
vim.api.nvim_create_autocmd("FileType", {
pattern = "koto",
callback = function()
vim.lsp.start({
cmd = { "koto-ls" },
root_dir = vim.fn.getcwd(),
})
end
})
Sublime Text
After following the LSP setup instructions and installing the koto package, you can enable koto-ls by adding the following to the "clients" list in your LSP settings:
"koto-ls": {
"enabled": true,
"command": ["koto-ls"],
"selector": "source.koto"
}
Zed
koto-ls can be used with zed's LSP support via user-installable koto-zed extension that runs each time a .koto file is opened.
Dependencies
~9–14MB
~241K SLoC