Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 1.76 KB

README.md

File metadata and controls

68 lines (51 loc) · 1.76 KB

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:

  • Get document symbols
  • Goto definition
  • Find references
  • Document highlights
  • 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" ]