From 847e01cc309c4dccad4a62c86722026af129258d Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Wed, 15 Mar 2023 10:39:46 +0000 Subject: [PATCH] Clean up unused WriteBriDoc operators --- .../Brittany/Internal/S4_WriteBriDoc.hs | 5 +- .../Internal/WriteBriDoc/Operators.hs | 114 ++++-------------- 2 files changed, 26 insertions(+), 93 deletions(-) diff --git a/source/library/Language/Haskell/Brittany/Internal/S4_WriteBriDoc.hs b/source/library/Language/Haskell/Brittany/Internal/S4_WriteBriDoc.hs index 24d2ed3..d31d870 100644 --- a/source/library/Language/Haskell/Brittany/Internal/S4_WriteBriDoc.hs +++ b/source/library/Language/Haskell/Brittany/Internal/S4_WriteBriDoc.hs @@ -301,8 +301,9 @@ printComments comms = do addComment s anchor prior = do case anchor of Anchor span UnchangedAnchor -> - moveToCommentPos True $ ExactPrint.ss2deltaEnd prior span - Anchor _span (MovedAnchor dp) -> moveToCommentPos False dp + layoutMoveToCommentPos True (ExactPrint.ss2deltaEnd prior span) 1 + Anchor _span (MovedAnchor dp) -> + layoutMoveToCommentPos False dp 1 -- ppmMoveToExactLoc $ ExactPrint.ss2deltaEnd prior span layoutWriteAppend $ Text.pack s comms `forM_` \case diff --git a/source/library/Language/Haskell/Brittany/Internal/WriteBriDoc/Operators.hs b/source/library/Language/Haskell/Brittany/Internal/WriteBriDoc/Operators.hs index 01f3540..2ef9c96 100644 --- a/source/library/Language/Haskell/Brittany/Internal/WriteBriDoc/Operators.hs +++ b/source/library/Language/Haskell/Brittany/Internal/WriteBriDoc/Operators.hs @@ -1,6 +1,23 @@ {-# LANGUAGE NoImplicitPrelude #-} -module Language.Haskell.Brittany.Internal.WriteBriDoc.Operators where +module Language.Haskell.Brittany.Internal.WriteBriDoc.Operators + ( layoutWriteEnsureNewlineBlock + , layoutWriteEnsureAbsoluteN + , layoutWriteEnsureBlock + , layoutIndentRestorePostComment + , layoutRemoveIndentLevelLinger + , layoutWriteAppend + , layoutAddSepSpace + , layoutBaseYPushCur + , layoutBaseYPop + , layoutWithAddBaseCol + , layoutWithAddBaseColN + , layoutIndentLevelPushCur + , layoutIndentLevelPop + , layoutWriteNewlineBlock + , layoutMoveToCommentPos + ) +where import Language.Haskell.Brittany.Internal.Prelude @@ -43,32 +60,6 @@ layoutWriteAppend t = do , _lstate_addSepSpace = Nothing } -layoutWriteAppendSpaces - :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) - => Int - -> m () -layoutWriteAppendSpaces i = do - traceLocal ("layoutWriteAppendSpaces", i) - unless (i == 0) $ do - state <- mGet - mSet $ state - { _lstate_addSepSpace = Just $ maybe i (+ i) $ _lstate_addSepSpace state - } - -layoutWriteAppendMultiline - :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) - => [Text] - -> m () -layoutWriteAppendMultiline ts = do - traceLocal ("layoutWriteAppendMultiline", ts) - case ts of - [] -> layoutWriteAppend (Text.pack "") -- need to write empty, too. - (l : lr) -> do - layoutWriteAppend l - lr `forM_` \x -> do - layoutWriteNewline - layoutWriteAppend x - -- adds a newline and adds spaces to reach the base column. layoutWriteNewlineBlock :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) @@ -95,27 +86,18 @@ layoutWriteNewlineBlock = do -- else _lstate_indLevelLinger state + i - _lstate_curY state -- } -layoutSetCommentCol :: (MonadMultiState LayoutState m) => m () -layoutSetCommentCol = do - state <- mGet - let - col = case _lstate_curYOrAddNewline state of - Left i -> i + fromMaybe 0 (_lstate_addSepSpace state) - Right{} -> lstate_baseY state - traceLocal ("layoutSetCommentCol", col) - unless (Data.Maybe.isJust $ _lstate_commentCol state) - $ mSet state { _lstate_commentCol = Just col } - -- This is also used to move to non-comments in a couple of places. Seems -- to be harmless so far.. layoutMoveToCommentPos :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) => Bool - -> Int - -> Int + -> GHC.DeltaPos -> Int -> m () -layoutMoveToCommentPos absolute y x commentLines = do +layoutMoveToCommentPos absolute dp commentLines = do + let (y, x) = case dp of + GHC.SameLine c -> (0, c) + GHC.DifferentLine l c -> (l, c) state <- mGet traceLocal ("layoutMoveToCommentPos", y, x, commentLines, _lstate_curYOrAddNewline state, _lstate_addSepSpace state, lstate_baseY state) mSet state @@ -144,19 +126,6 @@ layoutMoveToCommentPos absolute y x commentLines = do _lstate_commentNewlines state + y + commentLines - 1 } --- | does _not_ add spaces to again reach the current base column. -layoutWriteNewline - :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) - => m () -layoutWriteNewline = do - traceLocal ("layoutWriteNewline") - state <- mGet - mSet $ state - { _lstate_curYOrAddNewline = case _lstate_curYOrAddNewline state of - Left{} -> Right 1 - Right i -> Right (i + 1) - , _lstate_addSepSpace = Nothing - } _layoutResetCommentNewlines :: MonadMultiState LayoutState m => m () _layoutResetCommentNewlines = do @@ -238,34 +207,6 @@ layoutWithAddBaseCol m = do m layoutBaseYPopInternal -layoutWithAddBaseColBlock - :: ( MonadMultiWriter Text.Builder.Builder m - , MonadMultiState LayoutState m - , MonadMultiReader Config m - ) - => m () - -> m () -layoutWithAddBaseColBlock m = do - amount <- mAsk <&> _conf_layout .> _lconfig_indentAmount .> confUnpack - state <- mGet - layoutBaseYPushInternal $ lstate_baseY state + amount - layoutWriteEnsureBlock - m - layoutBaseYPopInternal - -layoutWithAddBaseColNBlock - :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) - => Int - -> m () - -> m () -layoutWithAddBaseColNBlock amount m = do - traceLocal ("layoutWithAddBaseColNBlock", amount) - state <- mGet - layoutBaseYPushInternal $ lstate_baseY state + amount - layoutWriteEnsureBlock - m - layoutBaseYPopInternal - layoutWriteEnsureBlock :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) => m () @@ -364,15 +305,6 @@ layoutAddSepSpace = do -- -- mModify $ \state -> state { _lstate_addNewline = Just x } -- moveToY y -moveToCommentPos - :: (MonadMultiWriter Text.Builder.Builder m, MonadMultiState LayoutState m) - => Bool - -> GHC.DeltaPos - -> m () -moveToCommentPos absolute = \case - GHC.SameLine c -> layoutMoveToCommentPos absolute 0 c 1 - GHC.DifferentLine l c -> layoutMoveToCommentPos absolute l c 1 - -- moveToY :: MonadMultiState LayoutState m => Int -> m () -- moveToY y = mModify $ \state -> -- let