Skip to content

Commit 35399e7

Browse files
committed
Do not error if doc is not available
1 parent 62f2e41 commit 35399e7

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

haskell-language-server.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,7 @@ library hls-signature-help-plugin
866866
, hls-plugin-api == 2.11.0.0
867867
, lsp-types
868868
, text
869+
, transformers
869870

870871

871872
test-suite hls-signature-help-plugin-tests

plugins/hls-signature-help-plugin/src/Ide/Plugin/SignatureHelp.hs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
module Ide.Plugin.SignatureHelp (descriptor) where
55

66
import Control.Arrow ((>>>))
7+
import Control.Monad.Trans.Except (ExceptT (ExceptT))
78
import Data.Bifunctor (bimap)
89
import Data.Function ((&))
910
import Data.IntMap (IntMap)
@@ -20,7 +21,8 @@ import Development.IDE (DocAndTyThingMap (DKMap),
2021
IdeState (shakeExtras),
2122
Pretty (pretty),
2223
Recorder, WithPriority,
23-
printOutputableOneLine)
24+
printOutputableOneLine,
25+
useWithStaleFast)
2426
import Development.IDE.Core.PluginUtils (runIdeActionE,
2527
useWithStaleFastE)
2628
import Development.IDE.Core.PositionMapping (fromCurrentPosition)
@@ -101,8 +103,10 @@ signatureHelpProvider ideState _pluginId (SignatureHelpParams (TextDocumentIdent
101103
Just (functionName, functionTypes, argumentNumber)
102104
)
103105
(docMap, argDocMap) <- runIdeActionE "signatureHelp.docMap" (shakeExtras ideState) $ do
104-
(DKMap docMap _tyThingMap argDocMap, _positionMapping) <- useWithStaleFastE GetDocMap nfp
105-
pure (docMap, argDocMap)
106+
mResult <- ExceptT $ Right <$> useWithStaleFast GetDocMap nfp
107+
case mResult of
108+
Just (DKMap docMap _tyThingMap argDocMap, _positionMapping) -> pure (docMap, argDocMap)
109+
Nothing -> pure (mempty, mempty)
106110
case results of
107111
[(_functionName, [], _argumentNumber)] -> pure $ InR Null
108112
[(functionName, functionTypes, argumentNumber)] ->

0 commit comments

Comments
 (0)