Skip to content

Commit 7edbf67

Browse files
authored
Merge pull request #107 from korayal/87-fix-completion
[#87] Fix completion via ghcide's `getCompletionsLSP`
2 parents feae2b4 + 25c253a commit 7edbf67

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/Ide/Plugin.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ makeCompletions sps lf ideState params@(CompletionParams (TextDocumentIdentifier
512512
case mprefix of
513513
Nothing -> return $ Right $ Completions $ List []
514514
Just _prefix -> do
515-
mhs <- mapM (\(_,p) -> p ideState params) sps
515+
mhs <- mapM (\(_,p) -> p lf ideState params) sps
516516
case rights mhs of
517517
[] -> return $ Left $ responseError $ T.pack $ show $ lefts mhs
518518
hs -> return $ Right $ combine hs

src/Ide/Plugin/Example.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ symbols _lf _ide (DocumentSymbolParams _doc _mt)
210210
-- ---------------------------------------------------------------------
211211

212212
completion :: CompletionProvider
213-
completion _ide (CompletionParams _doc _pos _mctxt _mt)
213+
completion _lf _ide (CompletionParams _doc _pos _mctxt _mt)
214214
= pure $ Right $ Completions $ List [r]
215215
where
216216
r = CompletionItem label kind tags detail documentation deprecated preselect

src/Ide/Plugin/Example2.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ symbols _lf _ide (DocumentSymbolParams _doc _mt)
207207
-- ---------------------------------------------------------------------
208208

209209
completion :: CompletionProvider
210-
completion _ide (CompletionParams _doc _pos _mctxt _mt)
210+
completion _lf _ide (CompletionParams _doc _pos _mctxt _mt)
211211
= pure $ Right $ Completions $ List [r]
212212
where
213213
r = CompletionItem label kind tags detail documentation deprecated preselect

src/Ide/Plugin/GhcIde.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Development.IDE.Core.Service
1010
import Development.IDE.LSP.HoverDefinition
1111
import Development.IDE.LSP.Outline
1212
import Development.IDE.Plugin.CodeAction
13+
import Development.IDE.Plugin.Completions
1314
import Development.IDE.Types.Logger
1415
import Ide.Plugin
1516
import Ide.Types
@@ -29,7 +30,7 @@ descriptor plId = PluginDescriptor
2930
, pluginHoverProvider = Just hover'
3031
, pluginSymbolsProvider = Just symbolsProvider
3132
, pluginFormattingProvider = Nothing
32-
, pluginCompletionProvider = Nothing
33+
, pluginCompletionProvider = Just getCompletionsLSP
3334
}
3435

3536
-- ---------------------------------------------------------------------

src/Ide/Types.hs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ type CodeActionProvider = LSP.LspFuncs Config
9999
-> CodeActionContext
100100
-> IO (Either ResponseError (List CAResult))
101101

102+
type CompletionProvider = LSP.LspFuncs Config
103+
-> IdeState
104+
-> CompletionParams
105+
-> IO (Either ResponseError CompletionResponseResult)
106+
107+
102108

103109
type CodeLensProvider = LSP.LspFuncs Config
104110
-> IdeState
@@ -144,10 +150,6 @@ type ExecuteCommandProvider = IdeState
144150

145151
newtype WithSnippets = WithSnippets Bool
146152

147-
type CompletionProvider = IdeState
148-
-> CompletionParams
149-
-> IO (Either ResponseError CompletionResponseResult)
150-
151153
-- ---------------------------------------------------------------------
152154

153155
newtype PluginId = PluginId T.Text

0 commit comments

Comments
 (0)