Stop aligning patterns for different functions
parent
8218b6e199
commit
395fe02644
|
@ -84,7 +84,7 @@ layoutBind lbind@(L _ bind) = case bind of
|
|||
clauseDocs <- layoutGrhs `mapM` grhss
|
||||
mWhereDocs <- layoutLocalBinds whereBinds
|
||||
binderDoc <- docLit $ Text.pack "="
|
||||
fmap Right $ docWrapNode lbind $ layoutPatternBindFinal binderDoc (Just patDoc) clauseDocs mWhereDocs
|
||||
fmap Right $ docWrapNode lbind $ layoutPatternBindFinal Text.empty binderDoc (Just patDoc) clauseDocs mWhereDocs
|
||||
_ -> Right <$> unknownNodeError "" lbind
|
||||
|
||||
data BagBindOrSig = BagBind (LHsBindLR RdrName RdrName)
|
||||
|
@ -144,10 +144,10 @@ layoutPatternBind mIdStr binderDoc lmatch@(L _ match@(Match _ pats _ (GRHSs grhs
|
|||
$ (List.intersperse docSeparator $ docForceSingleline <$> ps)
|
||||
clauseDocs <- docWrapNodeRest lmatch $ layoutGrhs `mapM` grhss
|
||||
mWhereDocs <- layoutLocalBinds whereBinds
|
||||
layoutPatternBindFinal binderDoc (Just patDoc) clauseDocs mWhereDocs
|
||||
layoutPatternBindFinal (fromMaybe Text.empty mIdStr) binderDoc (Just patDoc) clauseDocs mWhereDocs
|
||||
|
||||
layoutPatternBindFinal :: BriDocNumbered -> Maybe BriDocNumbered -> [([BriDocNumbered], BriDocNumbered, LHsExpr RdrName)] -> Maybe [BriDocNumbered] -> ToBriDocM BriDocNumbered
|
||||
layoutPatternBindFinal binderDoc mPatDoc clauseDocs mWhereDocs = do
|
||||
layoutPatternBindFinal :: Text -> BriDocNumbered -> Maybe BriDocNumbered -> [([BriDocNumbered], BriDocNumbered, LHsExpr RdrName)] -> Maybe [BriDocNumbered] -> ToBriDocM BriDocNumbered
|
||||
layoutPatternBindFinal idStr binderDoc mPatDoc clauseDocs mWhereDocs = do
|
||||
let patPartInline = case mPatDoc of
|
||||
Nothing -> []
|
||||
Just patDoc -> [appSep $ docForceSingleline $ return patDoc]
|
||||
|
@ -175,7 +175,7 @@ layoutPatternBindFinal binderDoc mPatDoc clauseDocs mWhereDocs = do
|
|||
]
|
||||
docAlt $
|
||||
-- one-line solution
|
||||
[ docCols ColBindingLine
|
||||
[ docCols (ColBindingLine idStr)
|
||||
[ docSeq
|
||||
(patPartInline ++ [guardPart])
|
||||
, docSeq
|
||||
|
@ -203,7 +203,7 @@ layoutPatternBindFinal binderDoc mPatDoc clauseDocs mWhereDocs = do
|
|||
] ++
|
||||
-- one-line solution + where in next line(s)
|
||||
[ docLines
|
||||
$ [ docCols ColBindingLine
|
||||
$ [ docCols (ColBindingLine idStr)
|
||||
[ docSeq
|
||||
(patPartInline ++ [guardPart])
|
||||
, docSeq
|
||||
|
@ -242,7 +242,7 @@ layoutPatternBindFinal binderDoc mPatDoc clauseDocs mWhereDocs = do
|
|||
-- pattern and exactly one clause in single line, body as par;
|
||||
-- where in following lines
|
||||
[ docLines
|
||||
$ [ docCols ColBindingLine
|
||||
$ [ docCols (ColBindingLine idStr)
|
||||
[ docSeq
|
||||
(patPartInline ++ [appSep guardPart])
|
||||
, docSeq
|
||||
|
|
|
@ -392,7 +392,7 @@ layoutExpr lexpr@(L _ expr) = docWrapNode lexpr $ case expr of
|
|||
binderDoc <- docLit $ Text.pack " ->"
|
||||
docAddBaseY BrIndentRegular $ docPar
|
||||
(docLit $ Text.pack "if")
|
||||
(layoutPatternBindFinal binderDoc Nothing clauseDocs Nothing)
|
||||
(layoutPatternBindFinal Text.empty binderDoc Nothing clauseDocs Nothing)
|
||||
HsLet binds exp1 -> do
|
||||
expDoc1 <- docSharedWrapper layoutExpr exp1
|
||||
mBindDocs <- layoutLocalBinds binds
|
||||
|
|
|
@ -146,7 +146,7 @@ data ColSig
|
|||
-- Has variable number of columns depending on the number of patterns.
|
||||
| ColPatterns
|
||||
| ColCasePattern
|
||||
| ColBindingLine
|
||||
| ColBindingLine Text
|
||||
-- e.g. "func pat pat = expr"
|
||||
-- 1111111111111222222
|
||||
-- or "pat | stmt -> expr"
|
||||
|
|
Loading…
Reference in New Issue