Skip to content

Commit 94cf3d4

Browse files
committed
Fix reduction depth
Fixes #1743
1 parent 37622d8 commit 94cf3d4

File tree

1 file changed

+43
-39
lines changed

1 file changed

+43
-39
lines changed

ghcide/src/Development/IDE/GHC/ExactPrint.hs

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -32,42 +32,46 @@ module Development.IDE.GHC.ExactPrint
3232
)
3333
where
3434

35-
import BasicTypes (appPrec)
36-
import Control.Applicative (Alternative)
37-
import Control.Monad
38-
import qualified Control.Monad.Fail as Fail
39-
import Control.Monad.IO.Class (MonadIO)
40-
import Control.Monad.Trans.Class
41-
import Control.Monad.Trans.Except
42-
import Control.Monad.Zip
43-
import qualified Data.DList as DL
44-
import Data.Either.Extra (mapLeft)
45-
import Data.Functor.Classes
46-
import Data.Functor.Contravariant
47-
import qualified Data.Text as T
48-
import Development.IDE.Core.RuleTypes
49-
import Development.IDE.Core.Service (runAction)
50-
import Development.IDE.Core.Shake
51-
import Development.IDE.GHC.Compat hiding (parseExpr)
52-
import Development.IDE.Types.Location
53-
import Development.Shake (RuleResult, Rules)
54-
import Development.Shake.Classes
55-
import qualified GHC.Generics as GHC
56-
import Generics.SYB
57-
import Generics.SYB.GHC
58-
import Ide.PluginUtils
59-
import Language.Haskell.GHC.ExactPrint
60-
import Language.Haskell.GHC.ExactPrint.Parsers
61-
import Language.LSP.Types
62-
import Language.LSP.Types.Capabilities (ClientCapabilities)
63-
import Outputable (Outputable, ppr, showSDoc)
64-
import Retrie.ExactPrint hiding (parseDecl, parseExpr, parsePattern, parseType)
65-
import Parser (parseIdentifier)
66-
import Data.Traversable (for)
67-
import Data.Foldable (Foldable(fold))
68-
import Data.Bool (bool)
69-
import Data.Monoid (All(All), getAll)
70-
import Control.Arrow
35+
import BasicTypes (appPrec)
36+
import Control.Applicative (Alternative)
37+
import Control.Arrow
38+
import Control.Monad
39+
import qualified Control.Monad.Fail as Fail
40+
import Control.Monad.IO.Class (MonadIO)
41+
import Control.Monad.Trans.Class
42+
import Control.Monad.Trans.Except
43+
import Control.Monad.Zip
44+
import Data.Bool (bool)
45+
import qualified Data.DList as DL
46+
import Data.Either.Extra (mapLeft)
47+
import Data.Foldable (Foldable (fold))
48+
import Data.Functor.Classes
49+
import Data.Functor.Contravariant
50+
import Data.Monoid (All (All), getAll)
51+
import qualified Data.Text as T
52+
import Data.Traversable (for)
53+
import Development.IDE.Core.RuleTypes
54+
import Development.IDE.Core.Service (runAction)
55+
import Development.IDE.Core.Shake
56+
import Development.IDE.GHC.Compat hiding (parseExpr)
57+
import Development.IDE.Types.Location
58+
import Development.Shake (RuleResult, Rules)
59+
import Development.Shake.Classes
60+
import qualified GHC.Generics as GHC
61+
import Generics.SYB
62+
import Generics.SYB.GHC
63+
import Ide.PluginUtils
64+
import Language.Haskell.GHC.ExactPrint
65+
import Language.Haskell.GHC.ExactPrint.Parsers
66+
import Language.LSP.Types
67+
import Language.LSP.Types.Capabilities (ClientCapabilities)
68+
import Outputable (Outputable, ppr,
69+
showSDoc)
70+
import Parser (parseIdentifier)
71+
import Retrie.ExactPrint hiding (parseDecl,
72+
parseExpr,
73+
parsePattern,
74+
parseType)
7175

7276

7377
------------------------------------------------------------------------------
@@ -230,7 +234,7 @@ graft' needs_space dst val = Graft $ \dflags a -> do
230234
( mkT $
231235
\case
232236
(L src _ :: Located ast) | src == dst -> val'
233-
l -> l
237+
l -> l
234238
)
235239
a
236240

@@ -292,8 +296,8 @@ graftExprWithM dst trans = Graft $ \dflags a -> do
292296
case mval of
293297
Just val' -> do
294298
(anns, val'') <-
295-
hoistTransform (either Fail.fail pure) $
296-
annotate dflags needs_space $ mk_parens val'
299+
hoistTransform (either Fail.fail pure)
300+
(annotate @(HsExpr GhcPs) dflags needs_space (mk_parens val'))
297301
modifyAnnsT $ mappend anns
298302
pure val''
299303
Nothing -> pure val

0 commit comments

Comments
 (0)