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
-