haskell / haskell/haskell-language-server

HLS hangs when given an invalid hlint annotation

Open
#1,908 2 comments 0 reactions 0 assignees View on GitHub
component: hls-hlint-plugin type: bug
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
4d 3h
Merged PRs (30d)
12

Description

### Your environment
Output of `haskell-language-server --probe-tools` or `haskell-language-server-wrapper --probe-tools`:

```sh
❯ haskell-language-server-wrapper --probe-tools
haskell-language-server version: 1.1.0.0 (GHC: 8.10.4) (PATH: /nix/store/yc9ljhg8fgb8k8zjlgid04qkq3ffzm5s-haskell-language-server-1.1.0.0/bin/haskell-language-server-wrapper)
Tool versions found on the $PATH
cabal: 3.4.0.0
stack: Not found
ghc: 8.10.4

```
Which OS do you use:

Which lsp-client do you use: coc.nvim in neovim on nixos

Describe your project (alternative: link to the project): this commit https://github.com/expipiplus1/fourmolu/commit/6091ab424fc6ad423e6ce005dda9c990e850e212#diff-7db35ce2b13b8bb7dc43a789dc3cf6074abe57a77051f98a5e7090a09bb6b206R42

Contents of `hie.yaml`:
```yaml
cradle:
multi:
- path: "data"
config: { cradle: { none: }}
- path: "region-tests"
config: { cradle: { none: }}

- path: "."
config:
cradle:
cabal:
- path: "src"
component: "lib:fourmolu"

- path: "app"
component: "fourmolu:exe:fourmolu"

- path: "tests"
component: "fourmolu:test:tests"

```

### Steps to reproduce

Clone fourmolu at this commit https://github.com/expipiplus1/fourmolu/commit/6091ab424fc6ad423e6ce005dda9c990e850e212#diff-7db35ce2b13b8bb7dc43a789dc3cf6074abe57a77051f98a5e7090a09bb6b206R42

### Expected behaviour

hls should terminate

### Actual behaviour

`haskell-language-server` doesn't terminate, the last message is

```
/home/j/src/fourmolu/src/Ormolu/Printer/Meat/Declaration/Value.hs:42:16-56: Error while reading hint file, bad classify pragma
("Hlint: inore use camelCase " :: String)
```

(not the misspelled 'ignore')

It does respond to SIGTERM

### Include debug information
Execute in the root of your project the command `haskell-language-server --debug .` and paste the logs here:

https://gist.github.com/2e49d2524c9faaa638bebaa919943c82

Things work correctly when 'ignore' is spelled correctly.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.