Skip to content

Commit b2d7bab

Browse files
pepeiborrasloorush
authored andcommitted
Fix priority for pragma completions
1 parent 8d424f8 commit b2d7bab

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

ghcide/src/Development/IDE/Plugin/Completions.hs

+6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
module Development.IDE.Plugin.Completions
66
( descriptor
77
, Log(..)
8+
, ghcideCompletionsPluginPriority
89
) where
910

1011
import Control.Concurrent.Async (concurrently)
@@ -49,6 +50,7 @@ import Ide.Types
4950
import qualified Language.LSP.Server as LSP
5051
import Language.LSP.Types
5152
import qualified Language.LSP.VFS as VFS
53+
import Numeric.Natural
5254
import Text.Fuzzy.Parallel (Scored (..))
5355

5456
data Log = LogShake Shake.Log deriving Show
@@ -57,12 +59,16 @@ instance Pretty Log where
5759
pretty = \case
5860
LogShake log -> pretty log
5961

62+
ghcideCompletionsPluginPriority :: Natural
63+
ghcideCompletionsPluginPriority = defaultPluginPriority
64+
6065
descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState
6166
descriptor recorder plId = (defaultPluginDescriptor plId)
6267
{ pluginRules = produceCompletions recorder
6368
, pluginHandlers = mkPluginHandler STextDocumentCompletion getCompletionsLSP
6469
, pluginCommands = [extendImportCommand]
6570
, pluginConfigDescriptor = defaultConfigDescriptor {configCustomConfig = mkCustomConfig properties}
71+
, pluginPriority = ghcideCompletionsPluginPriority
6672
}
6773

6874
produceCompletions :: Recorder (WithPriority Log) -> Rules ()

plugins/hls-pragmas-plugin/src/Ide/Plugin/Pragmas.hs

+14-12
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,30 @@ module Ide.Plugin.Pragmas
1414
, validPragmas
1515
) where
1616

17-
import Control.Lens hiding (List)
18-
import Control.Monad.IO.Class (MonadIO (liftIO))
19-
import qualified Data.HashMap.Strict as H
20-
import Data.List.Extra (nubOrdOn)
21-
import Data.Maybe (catMaybes)
22-
import qualified Data.Text as T
17+
import Control.Lens hiding (List)
18+
import Control.Monad.IO.Class (MonadIO (liftIO))
19+
import qualified Data.HashMap.Strict as H
20+
import Data.List.Extra (nubOrdOn)
21+
import Data.Maybe (catMaybes)
22+
import qualified Data.Text as T
2323
import Development.IDE
2424
import Development.IDE.GHC.Compat
25-
import qualified Development.IDE.Spans.Pragmas as Pragmas
25+
import Development.IDE.Plugin.Completions (ghcideCompletionsPluginPriority)
26+
import qualified Development.IDE.Spans.Pragmas as Pragmas
2627
import Ide.Types
27-
import qualified Language.LSP.Server as LSP
28-
import qualified Language.LSP.Types as J
29-
import qualified Language.LSP.Types.Lens as J
30-
import qualified Language.LSP.VFS as VFS
31-
import qualified Text.Fuzzy as Fuzzy
28+
import qualified Language.LSP.Server as LSP
29+
import qualified Language.LSP.Types as J
30+
import qualified Language.LSP.Types.Lens as J
31+
import qualified Language.LSP.VFS as VFS
32+
import qualified Text.Fuzzy as Fuzzy
3233

3334
-- ---------------------------------------------------------------------
3435

3536
descriptor :: PluginId -> PluginDescriptor IdeState
3637
descriptor plId = (defaultPluginDescriptor plId)
3738
{ pluginHandlers = mkPluginHandler J.STextDocumentCodeAction codeActionProvider
3839
<> mkPluginHandler J.STextDocumentCompletion completion
40+
, pluginPriority = ghcideCompletionsPluginPriority + 1
3941
}
4042

4143
-- ---------------------------------------------------------------------

0 commit comments

Comments
 (0)