koto-ls

Crates.iokoto-ls
lib.rskoto-ls
version0.16.1
created_at2025-01-07 17:24:28.655803+00
updated_at2025-07-31 10:11:07.783391+00
descriptionAn LSP server for the Koto programming language
homepagehttps://koto.dev
repositoryhttps://github.com/koto-lang/koto-ls
max_upload_size
id1507511
size100,586
Ian Hobson (irh)

documentation

README

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.

Commit count: 77

cargo fmt