Retain comments after lambdacase and at record fields
parent
22a658e794
commit
7485938bf3
|
@ -1015,3 +1015,15 @@ catchFunc = do
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
)
|
)
|
||||||
`catch` catcher
|
`catch` catcher
|
||||||
|
|
||||||
|
#test comment after lambdacase
|
||||||
|
func = \case
|
||||||
|
-- zzz
|
||||||
|
False -> 0
|
||||||
|
True -> 1
|
||||||
|
|
||||||
|
#test comment for recordfield
|
||||||
|
func = myRecord { field = -- comment
|
||||||
|
if some condition then option one else option two
|
||||||
|
, otherfield = "text"
|
||||||
|
}
|
||||||
|
|
|
@ -124,19 +124,22 @@ layoutExpr lexpr@(L _ expr) = do
|
||||||
docSetParSpacing
|
docSetParSpacing
|
||||||
$ docAddBaseY BrIndentRegular
|
$ docAddBaseY BrIndentRegular
|
||||||
$ (docLit $ Text.pack "\\case {}")
|
$ (docLit $ Text.pack "\\case {}")
|
||||||
HsLamCase _ (MG _ lmatches@(L _ matches) _) -> do
|
HsLamCase epAnn (MG _ lmatches@(L _ matches) _) -> do
|
||||||
binderDoc <- docLit $ Text.pack "->"
|
binderDoc <- docLit $ Text.pack "->"
|
||||||
layouters <- mAsk
|
layouters <- mAsk
|
||||||
funcPatDocs <-
|
funcPatDocs <-
|
||||||
layout_patternBind layouters Nothing binderDoc `mapM` matches
|
layout_patternBind layouters Nothing binderDoc `mapM` matches
|
||||||
docSetParSpacing $ docAddBaseY BrIndentRegular $ docPar
|
docSetParSpacing
|
||||||
(docLit $ Text.pack "\\case")
|
$ docAddBaseY BrIndentRegular
|
||||||
( docSetBaseAndIndent
|
$ docHandleComms epAnn
|
||||||
$ docNonBottomSpacing
|
$ docPar
|
||||||
$ docHandleComms lmatches
|
(docLit $ Text.pack "\\case")
|
||||||
$ docLines
|
( docSetBaseAndIndent
|
||||||
$ return <$> funcPatDocs
|
$ docNonBottomSpacing
|
||||||
)
|
$ docHandleComms lmatches
|
||||||
|
$ docLines
|
||||||
|
$ return <$> funcPatDocs
|
||||||
|
)
|
||||||
HsApp _ exp1 _ -> do
|
HsApp _ exp1 _ -> do
|
||||||
let gather
|
let gather
|
||||||
:: [(EpAnnCO, LHsExpr GhcPs)]
|
:: [(EpAnnCO, LHsExpr GhcPs)]
|
||||||
|
@ -1015,7 +1018,7 @@ recordExpression dotdot wrapO wrapDD wrapC indentPolicy _lexpr nameDoc nameLayou
|
||||||
[AddCommaAnn span] -> Just $ epaLocationRealSrcSpanStart span
|
[AddCommaAnn span] -> Just $ epaLocationRealSrcSpanStart span
|
||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
SrcSpanAnn EpAnnNotUsed _ -> Nothing
|
SrcSpanAnn EpAnnNotUsed _ -> Nothing
|
||||||
fnameDoc <- shareDoc $ nameLayouter nameThing
|
fnameDoc <- shareDoc $ docHandleComms fEpAnn $ nameLayouter nameThing
|
||||||
if pun
|
if pun
|
||||||
then pure $ Left (posStart, fnameDoc)
|
then pure $ Left (posStart, fnameDoc)
|
||||||
else do
|
else do
|
||||||
|
|
Loading…
Reference in New Issue