Clean up unused WriteBriDoc operators

ghc92
Lennart Spitzner 2023-03-15 10:39:46 +00:00
parent d11141d34d
commit 847e01cc30
2 changed files with 26 additions and 93 deletions

View File

@ -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

View File

@ -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