@@ -14,10 +14,12 @@ module Ide.Plugin.Tactic
14
14
) where
15
15
16
16
import Bag (listToBag , bagToList )
17
+ import Control.Exception (evaluate )
17
18
import Control.Monad
18
19
import Control.Monad.Trans
19
20
import Control.Monad.Trans.Maybe
20
21
import Data.Aeson
22
+ import Data.Bifunctor (Bifunctor (bimap ))
21
23
import Data.Bool (bool )
22
24
import Data.Data (Data )
23
25
import Data.Generics.Aliases (mkQ )
@@ -45,8 +47,6 @@ import Language.LSP.Types.Capabilities
45
47
import OccName
46
48
import Prelude hiding (span )
47
49
import System.Timeout
48
- import Control.Exception (evaluate )
49
- import Data.Bifunctor (Bifunctor (bimap ))
50
50
51
51
52
52
descriptor :: PluginId -> PluginDescriptor IdeState
@@ -93,15 +93,15 @@ codeActionProvider _ _ _ = pure $ Right $ List []
93
93
tacticCmd :: (OccName -> TacticsM () ) -> CommandFunction IdeState TacticParams
94
94
tacticCmd tac state (TacticParams uri range var_name)
95
95
| Just nfp <- uriToNormalizedFilePath $ toNormalizedUri uri = do
96
- clientCapabilities <- getClientCapabilities
96
+ ccs <- getClientCapabilities
97
97
res <- liftIO $ fromMaybeT (Right Nothing ) $ do
98
98
(range', jdg, ctx, dflags) <- judgementForHole state nfp range
99
99
let span = rangeToRealSrcSpan (fromNormalizedFilePath nfp) range'
100
100
pm <- MaybeT $ useAnnotatedSource " tacticsCmd" state nfp
101
101
102
102
timingOut 2e8 $ join $
103
103
bimap (mkErr InvalidRequest . T. pack . show )
104
- (mkWorkspaceEdits span dflags clientCapabilities uri pm)
104
+ (mkWorkspaceEdits span dflags ccs uri pm)
105
105
$ runTactic ctx jdg $ tac $ mkVarOcc $ T. unpack var_name
106
106
107
107
case res of
@@ -143,9 +143,9 @@ mkWorkspaceEdits
143
143
-> Annotated ParsedSource
144
144
-> RunTacticResults
145
145
-> Either ResponseError (Maybe WorkspaceEdit )
146
- mkWorkspaceEdits span dflags clientCapabilities uri pm rtr = do
146
+ mkWorkspaceEdits span dflags ccs uri pm rtr = do
147
147
let g = graftHole (RealSrcSpan span ) rtr
148
- response = transform dflags clientCapabilities uri g pm
148
+ response = transform dflags ccs uri g pm
149
149
in case response of
150
150
Right res -> Right $ Just res
151
151
Left err -> Left $ mkErr InternalError $ T. pack err
@@ -243,14 +243,10 @@ graftDecl span _ x = do
243
243
noteT " graftDecl: don't know about this AST form"
244
244
245
245
246
-
247
246
fromMaybeT :: Functor m => a -> MaybeT m a -> m a
248
247
fromMaybeT def = fmap (fromMaybe def) . runMaybeT
249
248
250
249
251
-
252
-
253
-
254
250
locateBiggest :: (Data r , Data a ) => SrcSpan -> a -> Maybe r
255
251
locateBiggest ss x = getFirst $ everything (<>)
256
252
( mkQ mempty $ \ case
0 commit comments