Skip to content

Commit

Permalink
Present aiken-lsp & fill-in CHANGELOG
Browse files Browse the repository at this point in the history
  • Loading branch information
KtorZ committed Oct 21, 2023
1 parent 17832fc commit 5f8e256
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 3 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@

- **aiken-project**: The `plutus.json` blueprint now contains a `compiler.name`
and `compiler.version` fields.
- **aiken-prokect**: Add compiler and system information to panic error report.
- **aiken-prokect**: Added compiler and system information to panic error report.
- **aiken-lsp**: Added quickfix suggestions for unknown variables, modules and
constructors.

### Changed

Expand All @@ -20,8 +22,9 @@

### Fixed

- **aiken-lang**: improved error messages for `a |> b(x)`
- **uplc**: Fixed cost model issue when using div, quot, rem, mod
- **aiken-lang**: improved error messages for `a |> b(x)`.
- **uplc**: Fixed cost model issue when using div, quot, rem, mod.
- **aiken-lsp**: Improved hovering suggestions and type annotations.

## v1.0.19-alpha - 2023-09-29

Expand Down
39 changes: 39 additions & 0 deletions crates/aiken-lsp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Aiken Language Server Protocol (LSP)

The `aiken` command-line comes built-in with a _Language Server_ implementing
(part of) the [Language Server Protocol](https://microsoft.github.io/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](https://marketplace.visualstudio.com/items?itemName=TxPipe.aiken) from the official marketplace.

### NeoVim

If you're using NeoVim and using [`nvim-lspconfig`](https://github.com/neovim/nvim-lspconfig) then there's almost
nothing to do as Aiken is directly supported. Simply follow the [official
instructions](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#aiken)

## Supported Capabilities

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

0 comments on commit 5f8e256

Please sign in to comment.