@@ -83,8 +83,7 @@ import Ide.Types
8383import Language.Haskell.LSP.Core (LspFuncs (.. ), ProgressCancellable (Cancellable ))
8484import Language.Haskell.LSP.Messages (FromServerMessage (NotShowMessage ))
8585import Language.Haskell.LSP.Types as J
86- import Retrie.CPP (CPP (NoCPP ), parseCPP ,
87- printCPP )
86+ import Retrie.CPP (CPP (NoCPP ), parseCPP )
8887import Retrie.ExactPrint (fix , relativiseApiAnns ,
8988 transformA , unsafeMkA )
9089import Retrie.Fixity (mkFixityEnv )
@@ -384,19 +383,12 @@ callRetrie state session rewrites origin = do
384383
385384 results <- forM targets $ \ t -> runExceptT $ do
386385 (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)) <-
388388 lift $ runRetrie fixityEnv retrie cpp
389389 case ast of
390390 _ ->
391- -- NoCPP {} ->
392391 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'
400392
401393 let (errors :: [CallRetrieError ], replacements ) = partitionEithers results
402394 editParams :: WorkspaceEdit
@@ -430,17 +422,12 @@ callRetrie state session rewrites origin = do
430422 let ranns = relativiseApiAnns pm_parsed_source pm_annotations
431423 in unsafeMkA pm_parsed_source ranns 0
432424
433- wholeDocument :: Range
434- wholeDocument = Range (Position 0 0 ) (Position maxBound 0 )
435-
436425asEditMap :: [[(Uri , TextEdit )]] -> WorkspaceEditMap
437426asEditMap = coerce . HM. fromListWith (++) . concatMap (map (second pure ))
438427
439428asTextEdits :: Change -> [(Uri , TextEdit )]
440429asTextEdits NoChange = []
441430asTextEdits (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
444431 [ (Uri spanLoc, edit)
445432 | Replacement {.. } <- nubOrdOn replLocation reps,
446433 s@ (RealSrcSpan rspan) <- [replLocation],
0 commit comments