Skip to content

How to Avoid Type Signature Code Lenses in Instance Declarations #3272

Open
@julmb

Description

@julmb

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationtype: supportUser support tickets, questions, help with setup etc.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions