haskell / haskell/haskell-mode

Module and Import Colors Seem Different (Might be LSP related)

Open
#1,884 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Emacs Lisp
Stars
1.4k
Forks
354
Avg merge
5d 10h
Merged PRs (30d)
2

Description

So, in the photo below, I'm using the Catppuccin colour scheme. It used to be that only the words `module`, `where`, and `import` were purple, with the rest being white, but now the entire first few lines are purple.

Using `M-x describe face` I can tell that `Day01`, `Common.Runner`, `Common.Parser`, and `Common.Util` are all being rendered with the `haskell-constructor-face` which seems wrong, because these are module names and not constructors.

This might be an LSP issue, where the output of the LSP has changed (maybe it's outputting different different classifiers or something), I'm not sure. I'm currently using `haskell-language-server version: 2.12.0.0 (GHC: 9.10.3)` and my GHC version is the same. I'm also use LSP-Mode for Emacs: https://emacs-lsp.github.io/lsp-mode/

Here's the relevant directory structure:
https://gist.github.com/IQubic/ae3f1e0c3062ffd0a65035771dffdc90

![Image](https://github.com/user-attachments/assets/a42937a9-62a8-4dc5-abf3-355afc80d83e)

Contributor guide

Open the contributing guide

Research direction

Reproduce the report using the linked directory structure, Catppuccin, Haskell Language Server 2.12.0.0, and LSP-Mode. Use M-x describe face to inspect the highlighting of Day01, Common.Runner, Common.Parser, and Common.Util, then trace whether the classifications come from LSP-Mode or haskell-mode. Done means module names no longer receive haskell-constructor-face while the reported keyword colors remain correct.

Written by the indexing model from the issue text.

Assessment

Tech stack
emacs, emacs-lisp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.