- Doesn't allow pattern-matching on G1/G2 elements and strings,
because the use cases for those is unclear and it adds complexity to
the feature.
- We still _parse_ patterns on G1/G2 elements and strings, but emit an
error in those cases.
- The syntax is the same as for bytearray literals (i.e. supports hex,
utf-8 strings or plain arrays of bytes).
|
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
README.md
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 lspNote 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::variableaiken::check::unknown::typeaiken::check::unknown::type_constructoraiken::check::unknown::module