Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Migrate all plugins and ghcide to use structured diagnostics #4605

Open
Labels
HackathonThis issue is suitable for hackathon sessions type: enhancementNew feature or request
@fendor

Description

HLS uses in many locations regexes to extract information out of GHC diagnostics to then offer code actions based on them.
This has served us well for many years, but it is time for an improvement!
GHC has structured diagnostics since GHC 9.4 (at least), but HLS isn't really using them, even though we keep them around since #4433.

This issue tracks the effort to update the full HLS codebase to use structured diagnostics instead of handwritten regex matchers.

Not all the listed plugins actually benefit from structured diagnostics, but we need to check which ones need to be updated. For example, I don't think hls-stan-plugin uses ghc in any way, so will likely not need updating.
I will update the list as time goes on.

The task for each of these plugins/packages would be to check whether the plugin needs updating, try to migrate it to use structured diagnostics or document what is missing to migrate them to structured diagnostics. This may require us to send issues to GHC upstream.

If you need inspiration for what this migration may look like, the PR #4472 migrates the hls-class-plugin to use structured diagnostics.

I am planning to present this issue at ZuriHac, if you want to work on migrating a plugin, please comment here and I will update the table.

Metadata

Metadata

Assignees

No one assigned

    Labels

    HackathonThis issue is suitable for hackathon sessions type: enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /