haskell/haskell-language-server

Improving Handling of Structured Diagnostics

Opened this issue · 1 comments

Most of HLS is now using GHC structured diagnostics instead of regexes (#4605). However, there are still some messages we still rely on regex matching for, because they aren't available in structured format. I've created a GHC issue, but I'm not sure if this is a complete list.

Known Instances

Here are the ones I know about:

Suggest Type Signature Change: We have to extract the declName from a type mismatch from the ErrInfo (an SDoc).

Fill typed holes: The hole fit and refinement suggestions are stored in ErrInfo supplementary.

Fill type wildcard: We need to determine whether the user wrote a top-level hole, for example whether the user wrote foo :: _ or foo :: Maybe _. We do this again, by looking at ErrInfo context.

Discussion

To move forward, we'll still need to

  • Make sure the list above is complete
  • Figure out specifically which fields we need to add

Related Links

#4605
https://gitlab.haskell.org/ghc/ghc/-/issues/26353

Can I work on it .