@@ -83,8 +83,7 @@ import Ide.Types
83
83
import Language.Haskell.LSP.Core (LspFuncs (.. ), ProgressCancellable (Cancellable ))
84
84
import Language.Haskell.LSP.Messages (FromServerMessage (NotShowMessage ))
85
85
import Language.Haskell.LSP.Types as J
86
- import Retrie.CPP (CPP (NoCPP ), parseCPP ,
87
- printCPP )
86
+ import Retrie.CPP (CPP (NoCPP ), parseCPP )
88
87
import Retrie.ExactPrint (fix , relativiseApiAnns ,
89
88
transformA , unsafeMkA )
90
89
import Retrie.Fixity (mkFixityEnv )
@@ -384,19 +383,12 @@ callRetrie state session rewrites origin = do
384
383
385
384
results <- forM targets $ \ t -> runExceptT $ do
386
385
(fixityEnv, cpp) <- ExceptT $ try $ getCPPmodule t
387
- (_user, ast, change@ (Change replacements _imports)) <-
386
+ -- TODO add the imports to the resulting edits
387
+ (_user, ast, change@ (Change _replacements _imports)) <-
388
388
lift $ runRetrie fixityEnv retrie cpp
389
389
case ast of
390
390
_ ->
391
- -- NoCPP {} ->
392
391
return $ asTextEdits change
393
- _ -> do
394
- -- DEBUG CODE bypass replacements and use the rewritten ast instead
395
- -- we would want to do this to capture import edits
396
- let new = T. pack $ printCPP replacements ast
397
- uri = Uri $ T. pack t
398
- change' = [(uri, TextEdit wholeDocument new)]
399
- return change'
400
392
401
393
let (errors :: [CallRetrieError ], replacements ) = partitionEithers results
402
394
editParams :: WorkspaceEdit
@@ -430,17 +422,12 @@ callRetrie state session rewrites origin = do
430
422
let ranns = relativiseApiAnns pm_parsed_source pm_annotations
431
423
in unsafeMkA pm_parsed_source ranns 0
432
424
433
- wholeDocument :: Range
434
- wholeDocument = Range (Position 0 0 ) (Position maxBound 0 )
435
-
436
425
asEditMap :: [[(Uri , TextEdit )]] -> WorkspaceEditMap
437
426
asEditMap = coerce . HM. fromListWith (++) . concatMap (map (second pure ))
438
427
439
428
asTextEdits :: Change -> [(Uri , TextEdit )]
440
429
asTextEdits NoChange = []
441
430
asTextEdits (Change reps _imports) =
442
- -- TODO retrie does not include import edits in the 'reps' list
443
- -- fix this in retrie or work around it here
444
431
[ (Uri spanLoc, edit)
445
432
| Replacement {.. } <- nubOrdOn replLocation reps,
446
433
s@ (RealSrcSpan rspan) <- [replLocation],
0 commit comments