From b4f749ea0c82170eecea4e36ad661a068c9a9d83 Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Sat, 6 Aug 2016 14:58:47 +0200 Subject: [PATCH] Fix comment handling CPP special case --- src/Language/Haskell/Brittany/BriLayouter.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Language/Haskell/Brittany/BriLayouter.hs b/src/Language/Haskell/Brittany/BriLayouter.hs index 41e9628..976a6ce 100644 --- a/src/Language/Haskell/Brittany/BriLayouter.hs +++ b/src/Language/Haskell/Brittany/BriLayouter.hs @@ -1345,9 +1345,12 @@ layoutBriDocM = \case Nothing -> return () Just posts -> do posts `forM_` \( ExactPrint.Types.Comment comment _ _ - , ExactPrint.Types.DP (x, y) + , ExactPrint.Types.DP (y, x) ) -> do - layoutMoveToCommentPos x y + -- evil hack for CPP: + case comment of + ('#':_) -> layoutMoveToCommentPos y (-999) + _ -> layoutMoveToCommentPos y x -- fixedX <- fixMoveToLineByIsNewline x -- replicateM_ fixedX layoutWriteNewline -- layoutMoveToIndentCol y