haskell / haskell/haskell-language-server

API to set priorities of individual PluginHandlers

Open
#3,644 2 comments 2 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
3d 21h
Merged PRs (30d)
13

Description

## Is your enhancement request related to a problem? Please describe.

To solve #3636, I had to split the `hls-pragmas-plugin` into three separate plugins (see #3640),
so that I could decrease the priority of the "disable this warning" codeAction.

A cleaner solution would be to have a single plugin with priorities set for the individual `PluginHandlers`.

## Describe the solution you'd like

- A property for each `pluginHandler` (analogous to the `PluginDescriptor.pluginPriority` property) that lets us define the priority of each `pluginHandler`.
- This priority should be used to sort the code actions and completions.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the existing PluginDescriptor.pluginPriority implementation and the code paths that sort code actions and completions. Done means individual PluginHandlers can define priorities and those priorities affect the ordering of both result types, with coverage for the new behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.