Fixup last two commits (tests were effectively disabled
- re-enable tests - un-break tests by fixing the alignment code behaviourpull/141/head
parent
315a7e1ee1
commit
696f72d336
|
@ -183,7 +183,7 @@ defaultTestConfig = Config
|
||||||
}
|
}
|
||||||
, _conf_preprocessor = _conf_preprocessor staticDefaultConfig
|
, _conf_preprocessor = _conf_preprocessor staticDefaultConfig
|
||||||
, _conf_forward = ForwardOptions {_options_ghc = Identity []}
|
, _conf_forward = ForwardOptions {_options_ghc = Identity []}
|
||||||
, _conf_roundtrip_exactprint_only = coerce True
|
, _conf_roundtrip_exactprint_only = coerce False
|
||||||
}
|
}
|
||||||
|
|
||||||
contextFreeTestConfig :: Config
|
contextFreeTestConfig :: Config
|
||||||
|
|
|
@ -56,7 +56,7 @@ data ColInfo
|
||||||
|
|
||||||
instance Show ColInfo where
|
instance Show ColInfo where
|
||||||
show ColInfoStart = "ColInfoStart"
|
show ColInfoStart = "ColInfoStart"
|
||||||
show ColInfoNo{} = "ColInfoNo{}"
|
show (ColInfoNo bd) = "ColInfoNo " ++ show (take 30 (show (briDocToDoc bd)) ++ "..")
|
||||||
show (ColInfo ind sig list) = "ColInfo " ++ show ind ++ " " ++ show sig ++ " " ++ show list
|
show (ColInfo ind sig list) = "ColInfo " ++ show ind ++ " " ++ show sig ++ " " ++ show list
|
||||||
|
|
||||||
data ColBuildState = ColBuildState
|
data ColBuildState = ColBuildState
|
||||||
|
@ -433,7 +433,8 @@ alignColsLines bridocs = do -- colInfos `forM_` \colInfo -> do
|
||||||
alignBreak <-
|
alignBreak <-
|
||||||
mAsk <&> _conf_layout .> _lconfig_alignmentBreakOnMultiline .> confUnpack
|
mAsk <&> _conf_layout .> _lconfig_alignmentBreakOnMultiline .> confUnpack
|
||||||
case () of
|
case () of
|
||||||
_ ->
|
_ -> do
|
||||||
|
-- tellDebugMess ("processedMap: " ++ show processedMap)
|
||||||
sequence_
|
sequence_
|
||||||
$ List.intersperse layoutWriteEnsureNewlineBlock
|
$ List.intersperse layoutWriteEnsureNewlineBlock
|
||||||
$ colInfos
|
$ colInfos
|
||||||
|
@ -623,7 +624,12 @@ processInfo maxSpace m = \case
|
||||||
Right{} -> spaceAdd
|
Right{} -> spaceAdd
|
||||||
let colMax = min colMaxConf (curX + maxSpace)
|
let colMax = min colMaxConf (curX + maxSpace)
|
||||||
-- tellDebugMess $ show curX
|
-- tellDebugMess $ show curX
|
||||||
let Just (ratio, maxCols, _colss) = IntMapS.lookup ind m
|
let Just (ratio, maxCols1, _colss) = IntMapS.lookup ind m
|
||||||
|
let maxCols2 = list <&> \e -> case e of
|
||||||
|
(_, ColInfo i _ _) ->
|
||||||
|
let Just (_, ms, _) = IntMapS.lookup i m in sum ms
|
||||||
|
(l, _) -> l
|
||||||
|
let maxCols = zipWith max maxCols1 maxCols2
|
||||||
let (maxX, posXs) = mapAccumL (\acc x -> (acc + x, acc)) curX maxCols
|
let (maxX, posXs) = mapAccumL (\acc x -> (acc + x, acc)) curX maxCols
|
||||||
-- handle the cases that the vertical alignment leads to more than max
|
-- handle the cases that the vertical alignment leads to more than max
|
||||||
-- cols:
|
-- cols:
|
||||||
|
@ -647,8 +653,11 @@ processInfo maxSpace m = \case
|
||||||
let spacings = zipWith (-)
|
let spacings = zipWith (-)
|
||||||
(List.tail fixedPosXs ++ [min maxX colMax])
|
(List.tail fixedPosXs ++ [min maxX colMax])
|
||||||
fixedPosXs
|
fixedPosXs
|
||||||
|
-- tellDebugMess $ "ind = " ++ show ind
|
||||||
-- tellDebugMess $ "maxCols = " ++ show maxCols
|
-- tellDebugMess $ "maxCols = " ++ show maxCols
|
||||||
-- tellDebugMess $ "fixedPosXs = " ++ show fixedPosXs
|
-- tellDebugMess $ "fixedPosXs = " ++ show fixedPosXs
|
||||||
|
-- tellDebugMess $ "list = " ++ show list
|
||||||
|
-- tellDebugMess $ "maxSpace = " ++ show maxSpace
|
||||||
let alignAct = zip3 fixedPosXs spacings list `forM_` \(destX, s, x) -> do
|
let alignAct = zip3 fixedPosXs spacings list `forM_` \(destX, s, x) -> do
|
||||||
layoutWriteEnsureAbsoluteN destX
|
layoutWriteEnsureAbsoluteN destX
|
||||||
processInfo s m (snd x)
|
processInfo s m (snd x)
|
||||||
|
|
Loading…
Reference in New Issue