1 unstable release

new 0.15.0 Jan 7, 2025

#95 in Programming languages

Download history 70/week @ 2025-01-02

70 downloads per month

MIT license

62KB
1.5K SLoC

koto-ls

An implementation of the Language Server Protocol for the Koto programming language.

Installation

The koto-ls executable can be installed from the current directory by running cargo install --path ..

Features

Along with reporting compilation errors, the following LSP features are supported by koto-ls:

  • Get document symbols
  • Goto definition
  • Find references
  • Rename symbol

Editor Setup

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
})

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" ]

Dependencies

~12–21MB
~287K SLoC