haskell / haskell/haskell-language-server
How to Avoid Type Signature Code Lenses in Instance Declarations
- Dominant language
- Haskell
- Stars
- 3k
- Forks
- 455
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 11
Description
## Your environment
Which OS do you use?
ArchLinux
Which version of GHC do you use and how did you install it?
8.10.7 from ghcup
Which LSP client (editor/plugin) do you use?
Code OSS from Arch repository
Which version of HLS do you use and how did you install it?
1.8.0.0 from ghcup
## What's wrong?
I recently upgraded from HLS 1.6.* (I think) to 1.8.0.0 and now type signature code lenses are displayed for functions in instance declarations, which was not the case before. I would like to retain the former behavior of only showing type signature code lenses for standalone top-level declarations.
I looked at the settings and found `haskell.plugin.ghcide-type-lenses.config.mode`, which has three possible values `always`, `exported`, and `diagnostics`. The description for the `diagnostics` value reads "Follows error messages produced by GHC about missing signatures". This sounds to me like type signature code lenses would be displayed in exactly those places where GHC would give a `-Wmissing-signatures` warning. However, this seems to not be the case and I was in fact unable to find any situation where `diagnostics` and `always` produced a different result.
1. How do I prevent type signature code lenses from being shown in instance declarations?
2. What is the intended behavior of the `diagnostics` value?
3. If the intended behavior of `diagnostics` is something different than aligning type signature code lenses with `-Wmissing-signatures`, maybe an option that enables this sort of behavior would be useful?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.