haskell / haskell/haskell-language-server

Pervasive Duplication in VSCode Extension

Open
#4,461 3 comments 1 reaction 0 assignees View on GitHub
type: bug
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

### Your environment

_Which OS do you use?_
MacOS Ventura (13.7)

_Which version of GHC do you use and how did you install it?_
GHC versions from the 9.4, 9.6, and 9.8 series installed via ghcup.

How is your project built (alternative: link to the project)?
Various projects built using Cabal.

Which LSP client (editor/plugin) do you use?
VSCode and VSCodium with `haskell.haskell`.

Which version of HLS do you use and how did you install it?
HLS version 2.9.0.1 installed via ghcup.

Have you configured HLS in any way (especially: a `hie.yaml` file)?
Various projects with and without `hie.yaml` files.
Consistently configured to discover GHC and other tools via the PATH.

### Observed behaviour

The VSCode language extension for Haskell pervasively duplicates responses. This manifests in various ways:

- Duplicated Quick Fix suggestions.

![The Quick Fix suggestion menu where each suggestion is shown twice.](https://github.com/user-attachments/assets/b6b5f09a-bed2-4b3c-836f-91bc9430bf89)

- Overlapping Instance errors pointing to the same instance twice.
#3694

![An overlapping instance warning for Eq where both instance points to the same code location.](https://github.com/user-attachments/assets/e46cd0ac-e5c5-4234-ab0d-730a591379bc)
- ...

Unfortunately, the issue does not always happen. However, I can attest that it is not exclusively triggered by opening out-of-workspace files—which I don't generally do—or opening multiple workspaces concurrently—which I do often do.

### Steps to reproduce

I do not currently have a way to reproduce the behaviour, but can look into this once we hone in on a particular issue.

NOTE: I am opening this issue now, but I'll continue to add evidence as I gather it.

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.