diff --git a/source/library/Language/Haskell/Brittany/Internal/Config/InlineParsing.hs b/source/library/Language/Haskell/Brittany/Internal/Config/InlineParsing.hs index c4c5c27..3138748 100644 --- a/source/library/Language/Haskell/Brittany/Internal/Config/InlineParsing.hs +++ b/source/library/Language/Haskell/Brittany/Internal/Config/InlineParsing.hs @@ -22,7 +22,6 @@ import GHC.Parser.Annotation ( EpaCommentTok ) ) import qualified UI.Butcher.Monadic as Butcher --- import qualified Language.Haskell.GHC.ExactPrint.Utils as ExactPrint.Utils import Control.Monad.Trans.Except import Language.Haskell.Brittany.Internal.Config.Config @@ -31,6 +30,8 @@ import Language.Haskell.Brittany.Internal.Util.AST import Language.Haskell.Brittany.Internal.Config.Types.Instances1 () import Language.Haskell.Brittany.Internal.Config.Types.Instances2 () -- import Language.Haskell.Brittany.Internal.Utils +-- import qualified Language.Haskell.GHC.ExactPrint.Utils as ExactPrint.Utils +-- import Data.Data(toConstr) @@ -39,6 +40,7 @@ data InlineConfigTarget | InlineConfigTargetNextDecl -- really only next in module | InlineConfigTargetNextBinding -- by name | InlineConfigTargetBinding String + deriving Show extractCommentConfigs :: (String -> IO ()) @@ -116,13 +118,13 @@ extractCommentConfigs _putErrorLn modul = do ] let perSpan = Map.fromListWith (<>) - [ (srcSpan, conf) + [ (declSpan, conf) | (srcSpan, target, conf) <- lineConfigs - , let perBindRes = Map.lookupGT srcSpan declMap + , Just (declSpan, names) <- [Map.lookupGT srcSpan declMap] , case target of - InlineConfigTargetNextDecl -> True - InlineConfigTargetNextBinding | Nothing <- perBindRes -> True - _ -> False + InlineConfigTargetNextDecl -> True + InlineConfigTargetNextBinding -> null names + _ -> False ] pure diff --git a/source/library/Language/Haskell/Brittany/Internal/StepOrchestrate.hs b/source/library/Language/Haskell/Brittany/Internal/StepOrchestrate.hs index 6da4220..b1b2f1d 100644 --- a/source/library/Language/Haskell/Brittany/Internal/StepOrchestrate.hs +++ b/source/library/Language/Haskell/Brittany/Internal/StepOrchestrate.hs @@ -218,7 +218,8 @@ ppToplevelDecl decl immediateAfterComms = do declConfig & _conf_roundtrip_exactprint_only & confUnpack bd <- fmap fst $ if exactprintOnly then briDocMToPPM layouters - $ docSeq (briDocByExact decl : map commentToDoc immediateAfterComms) + $ docSeq + (briDocByExactNoComment decl : map commentToDoc immediateAfterComms) else do let innerDoc = case decl of L (SrcSpanAnn _ (GHC.RealSrcSpan s _)) _ ->