From fb2483242a8f8e5e4b4e52faa74e49a09a2dffaf Mon Sep 17 00:00:00 2001
From: Lennart Spitzner <lsp@informatik.uni-kiel.de>
Date: Thu, 4 Aug 2016 11:15:33 +0200
Subject: [PATCH] Add evil workaround for CPP comment indentation

---
 src/Language/Haskell/Brittany/BriLayouter.hs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/Language/Haskell/Brittany/BriLayouter.hs b/src/Language/Haskell/Brittany/BriLayouter.hs
index dc2a07b..4e686c3 100644
--- a/src/Language/Haskell/Brittany/BriLayouter.hs
+++ b/src/Language/Haskell/Brittany/BriLayouter.hs
@@ -1168,7 +1168,10 @@ layoutBriDocM = \case
           priors `forM_` \( ExactPrint.Types.Comment comment _ _
                           , ExactPrint.Types.DP (y, x)
                           ) -> do
-            layoutMoveToCommentPos y x
+            -- evil hack for CPP:
+            case comment of
+              ('#':_) -> layoutMoveToCommentPos y (-999)
+              _       -> layoutMoveToCommentPos y x
             -- fixedX <- fixMoveToLineByIsNewline x
             -- replicateM_ fixedX layoutWriteNewline
             -- layoutMoveToIndentCol y