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

Download history 61/week @ 2025-08-01 3/week @ 2025-08-08 2/week @ 2025-09-26 1/week @ 2025-10-03

126 downloads per month

MIT license

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:

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