Let's consider the following case:
  ```
  type Var =
    Integer
  type Vars =
    List<Var>
  ```
  This incorrectly reports an infinite cycle; due to the inability to
  properly type-check `Var` which is also a dependent var of `Vars`. Yet
  the real issue here being that `Integer` is an unknown type.
  This commit also upgrades miette to 7.2.0, so that we can also display
  a better error output when the problem is actually a cycle.
						
					
				
			 | 
			||
|---|---|---|
| .. | ||
| 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