Files
aiken/crates/aiken-lsp
KtorZ 51b6b77db8 Build LSP projects with verbose tracing level
Without that, the language server might trigger awkward warnings about
  unused imports due to trace stripping. So it's better to compile/check
  projects in the language server in the most expanded form.
2024-10-01 16:12:41 +02:00
..
2024-09-20 14:05:15 -04:00

Aiken Language Server Protocol (LSP)

The aiken command-line comes built-in with a Language Server implementing (part of) the Language Server Protocol.

Getting Started

General

Regardless of your IDE, you'll likely need the following information to configure your language client:

  • command: aiken lsp

    Note

    The command is hidden from the command-line help usage

  • root pattern: aiken.toml

  • filetype: aiken (.ak)

VsCode

Simply install the VSCode Aiken extension from the official marketplace.

NeoVim

If you're using NeoVim and using nvim-lspconfig then there's almost nothing to do as Aiken is directly supported. Simply follow the official instructions

Supported Capabilities

  • Document syncing and on-the-fly compilation
  • Document formatting (akin to aiken fmt)
  • Go-to definition
  • Type annotation on hover
  • Code actions providing quickfixes for a variety of errors:
    • aiken::check::unknown::variable
    • aiken::check::unknown::type
    • aiken::check::unknown::type_constructor
    • aiken::check::unknown::module