Remove duplication in 'let' expression layout.

pull/66/head
Evan Rutledge Borden 2017-11-25 20:24:41 -05:00 committed by Lennart Spitzner
parent ba3d9ad739
commit 35f33c131c
1 changed files with 46 additions and 54 deletions

View File

@ -567,9 +567,7 @@ layoutExpr lexpr@(L _ expr) = do
(docSetBaseY $ expDoc1) (docSetBaseY $ expDoc1)
] ]
] ]
Just bindDocs@(_:_) -> docAlt $ Just bindDocs@(_:_) -> docAltFilter
case indentPolicy of
IndentPolicyLeft ->
--either --either
-- let -- let
-- a = b -- a = b
@ -583,7 +581,8 @@ layoutExpr lexpr@(L _ expr) = do
-- c = d -- c = d
-- in -- in
-- fooooooooooooooooooo -- fooooooooooooooooooo
[ docLines [ ( indentPolicy == IndentPolicyLeft
, docLines
[ docAddBaseY BrIndentRegular [ docAddBaseY BrIndentRegular
$ docPar $ docPar
(docLit $ Text.pack "let") (docLit $ Text.pack "let")
@ -593,19 +592,9 @@ layoutExpr lexpr@(L _ expr) = do
, docAddBaseY BrIndentRegular $ expDoc1 , docAddBaseY BrIndentRegular $ expDoc1
] ]
] ]
)
, ( indentPolicy /= IndentPolicyLeft
, docLines , docLines
[ docAddBaseY BrIndentRegular
$ docPar
(docLit $ Text.pack "let")
(docSetBaseAndIndent $ docLines $ return <$> bindDocs)
, docAddBaseY BrIndentRegular
$ docPar
(docLit $ Text.pack "in")
(docSetBaseY $ expDoc1)
]
]
_ ->
[ docLines
[ docSeq [ docSeq
[ appSep $ docLit $ Text.pack "let" [ appSep $ docLit $ Text.pack "let"
, docSetBaseAndIndent $ docLines $ return <$> bindDocs , docSetBaseAndIndent $ docLines $ return <$> bindDocs
@ -615,6 +604,8 @@ layoutExpr lexpr@(L _ expr) = do
, docSetBaseY $ expDoc1 , docSetBaseY $ expDoc1
] ]
] ]
)
, ( True
, docLines , docLines
[ docAddBaseY BrIndentRegular [ docAddBaseY BrIndentRegular
$ docPar $ docPar
@ -625,6 +616,7 @@ layoutExpr lexpr@(L _ expr) = do
(docLit $ Text.pack "in") (docLit $ Text.pack "in")
(docSetBaseY $ expDoc1) (docSetBaseY $ expDoc1)
] ]
)
] ]
_ -> docSeq [appSep $ docLit $ Text.pack "let in", expDoc1] _ -> docSeq [appSep $ docLit $ Text.pack "let in", expDoc1]
-- docSeq [appSep $ docLit "let in", expDoc1] -- docSeq [appSep $ docLit "let in", expDoc1]