Crates.io | aiken-lsp |
lib.rs | aiken-lsp |
version | 1.1.19 |
created_at | 2022-11-14 23:05:36.303262+00 |
updated_at | 2025-07-28 18:04:56.181329+00 |
description | Cardano smart contract language and toolchain |
homepage | https://github.com/aiken-lang/aiken |
repository | https://github.com/aiken-lang/aiken |
max_upload_size | |
id | 715253 |
size | 167,293 |
The aiken
command-line comes built-in with a Language Server implementing
(part of) the Language Server Protocol.
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)
Simply install the VSCode Aiken extension from the official marketplace.
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
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:
error | quickfix |
---|---|
check::unknown::variable |
Add relevant import or use qualified import inline |
check::unknown::type |
Add relevant import or use qualified import inline |
check::unknown::type_constructor |
Add relevant import or use qualified import inline |
check::unknown::module |
Add relevant import |
check::unused:import::value |
Remove redundant imports |
check::unused::import::module |
Remove redundant imports |
check::single_constructor_expect |
Replace expect with let |
check::syntax::unused_record_fields |
Remove redundant fields |
check::syntax::bytearray_literal_is_hex_string |
Prefix string with # |
check::unexpected::type_hole |
Replace type hole with inferred type |
check::unused::function |
Make private function public |
check::unused::constant |
Make private constant public |
check::unused::type |
Make private type public |
check::private_leak |
Make leaked type public |