Aiken is a pure functional programming language to write Smart Contracts for Cardano Blockchain. It is still on heavy development but is being deployed to Mainnet by projects like Fluid Tokens and we at Book.io launched an https://app.book.io/ito/sale developing the smart contracts using Aiken.

Current state on Neovim

Aiken team has developed tools for VsCode and Neovim. For neovim there is a plugin for syntax highlight and automatic indentation, that you can download from github: https://github.com/aiken-lang/editor-integration-nvim. A tree-sitter grammar is on development as well: https://github.com/aiken-lang/tree-sitter-aiken

To start the aiken lsp is really straight forward: aiken lsp and that’s it, but integration with nvim-lspconfig wasn’t automatic and required some additional lua scripting. Now if you check master branch aiken is on the list of supported servers: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md

Setup

If you don’t have nvim-lspconfig already,check their github repository. To add Aiken as a language server add the following to your init.lua or wherever you have your lsp configuration:

require("lspconfig").aiken.setup({})

Make sure to have installed https://github.com/aiken-lang/editor-integration-nvim, because it defines the aiken filetype that neovim will use to automatically start the lsp.