eastwood
Package info
-
Homepage
gitlab.com/top-software/eastwood -
Latest version
2.3.0, a month ago -
Maintainer
TOP Software Technology -
License
GPL-3.0-only
Description
A linter and language server.
Readme
# Eastwood linter and language server
Eastwood is a linter and language server for the functional programming language [Clean][].
Neovim and VS Code are the currently supported IDEs. Other IDEs will need to be configured manually.
## The project configuration file (Eastwood.yml)
Eastwood requires a project configuration file `Eastwood.yml` in the current working directory.
This is a YAML file with the following fields:
- `compiler`: compiler executable (usually `cocl`)
- `paths`: Relative or absolute paths in which included modules are located
An example Eastwood.yml file:
```
compiler: cocl
paths: []
```
It is required to specify a compiler.
It is required to specify a YAML list for the paths key (use "paths: []" for an empty list).
## Usage in Neovim
The configuration below assumes you have neovim 0.5 or greater with lsp-config installed. Simply add the following to
your vimrc:
```lua
lua << EOF
local lspconfig = require'lspconfig'
local util = require'lspconfig/util'
local configs = require'lspconfig/configs'
if not lspconfig.eastwood then
configs.eastwood = {
default_config = {
cmd = {'eastwood-cls'};
filetypes = {'clean'};
root_dir = util.root_pattern 'Eastwood.yml',
settings = {};
};
}
end
lspconfig.eastwood.setup{}
EOF
```
## Usage in VS Code
Use the [Eastwood extension for VS Code](https://gitlab.com/top-software/eastwood-vs-code).
## Installation
Binaries are available at the [Clean package registry](https://clean-lang.org/pkg/eastwood/).
Eastwood should be installed using [Nitrile][]:
```
nitrile global install eastwood
```
If Eastwood is used as linter within a Nitrile project, it should be added as
[dependency with `Test` scope](https://clean-and-itasks.gitlab.io/nitrile/nitrile-yml/reference/#dependenciesscope).
## Building
Eastwood can be built and tested using [Nitrile][].
The sources can be compiled as follows:
```bash
nitrile build
```
## Running tests
The tests can be run as follows:
```bash
nitrile test
```
## Documentation
Further documentation can be found [here](https://gitlab.com/top-software/eastwood/-/tree/main/docs).
## Copyright & License
Eastwood is copyright © 2021 TOP Software Technology B.V.
This software is licensed under the GPL 3.0 or later license. For details, see the
[LICENSE](/LICENSE) file.
[Clean]: https://clean-lang.org
[Nitrile]: https://clean-lang.org/about.html#install
Changelog
### 2.3.0
- Feature: support syntax introduced with `base-compiler` `4.1`.
#### 2.2.1
- Fix: do no longer abort when module could not be parsed when checking dcl documentation
as this causes the language server to crash.
### 2.2.0
- Feature: the validity of .dcl documentation syntax
(see: https://gitlab.com/clean-and-itasks/clean-platform/-/blob/master/doc/DOCUMENTATION.md)
is now automatically checked when using the Eastwood language server or linter.
#### 2.1.3
- Fix: prevent `bad file descriptor` crashes when using `eastwood-cls` for some time.
#### 2.1.2
- Fix: prevent linter crashes for expressions with types.
#### 2.1.1
- Fix: prevent deadlocks while reading large compiler outputs.
## 2.1.0
- Feature: support syntax introduced with `base-compiler` `4.0`.
#### 2.0.0
- Remove: Removed root directory from default search paths to improve
performance for finding definitions/declarations in case there
are subdirectories which do not contain relevant source files.
(e.g when including repositories in repositories to build with local dependency).
#### 1.1.3
- Fix: Add timeout for grep in case it takes too long to return all results. Do no longer allow to go to the declaration
or definition of import as grep would not return.
#### 1.1.2
- Fix: show stdout of compiler if compiler crashes, compiler sometimes prints errors to stdout
instead of stderr. Therefore, the errors would not end up being shown to the user by Eastwood.
#### 1.1.1
- Fix: incorrect character range for the CAF linter warnings.
### 1.1.0
- Feature: the language server now includes linter output.
#### 1.0.2
- Fix: make compiler option in Eastwood.yml work again.
#### 1.0.1
- Fix: include fixes of the YAML parser (see yaml v1.1.2).
## 1.0.0
- Initial version using nitrile semantic versioning.
Versions
-
2.3.0 latest a month ago
Targets: linux-x64.
-
2.2.1 latest 2.2 7 months ago
Targets: linux-x64.
-
2.2.0 7 months ago
Targets: linux-x64.
-
2.1.3 latest 2.1 8 months ago
Targets: linux-x64.
-
2.1.2 9 months ago
Targets: linux-x64.
-
2.1.1 10 months ago
Targets: linux-x64.
-
2.1.0 10 months ago
Targets: linux-x64.
-
2.0.0 latest 2.0 1 year, 10 months ago
Targets: linux-x64.
-
1.1.3 latest 1.1 2 years ago
Targets: linux-x64.
-
1.1.2 2 years ago
Targets: linux-x64.
-
1.1.1 2 years ago
Targets: linux-x64.
-
1.1.0 2 years ago
Targets: linux-x64.
-
1.0.2 latest 1.0 2 years ago
Targets: linux-x64.
-
1.0.1 2 years ago
Targets: linux-x64.
-
1.0.0 2 years ago
Targets: linux-x64.