Some layouting improvements/fixes

pull/1/head
Lennart Spitzner 2016-08-06 14:07:52 +02:00
parent 52a4f7c11c
commit f54e3c6079
2 changed files with 21 additions and 11 deletions

View File

@ -577,7 +577,7 @@ layoutExpr lexpr@(L _ expr) = docWrapNode lexpr $ case expr of
e1Doc <- docSharedWrapper layoutExpr e1
docSeq
[ docLit $ Text.pack "["
, docForceSingleline e1Doc
, appSep $ docForceSingleline e1Doc
, docLit $ Text.pack "..]"
]
FromThen e1 e2 -> do
@ -586,8 +586,8 @@ layoutExpr lexpr@(L _ expr) = docWrapNode lexpr $ case expr of
docSeq
[ docLit $ Text.pack "["
, docForceSingleline e1Doc
, docLit $ Text.pack ","
, docForceSingleline e2Doc
, appSep $ docLit $ Text.pack ","
, appSep $ docForceSingleline e2Doc
, docLit $ Text.pack "..]"
]
FromTo e1 eN -> do
@ -595,8 +595,8 @@ layoutExpr lexpr@(L _ expr) = docWrapNode lexpr $ case expr of
eNDoc <- docSharedWrapper layoutExpr eN
docSeq
[ docLit $ Text.pack "["
, docForceSingleline e1Doc
, docLit $ Text.pack ".."
, appSep $ docForceSingleline e1Doc
, appSep $ docLit $ Text.pack ".."
, docForceSingleline eNDoc
, docLit $ Text.pack "]"
]
@ -607,9 +607,9 @@ layoutExpr lexpr@(L _ expr) = docWrapNode lexpr $ case expr of
docSeq
[ docLit $ Text.pack "["
, docForceSingleline e1Doc
, docLit $ Text.pack ","
, docForceSingleline e2Doc
, docLit $ Text.pack ".."
, appSep $ docLit $ Text.pack ","
, appSep $ docForceSingleline e2Doc
, appSep $ docLit $ Text.pack ".."
, docForceSingleline eNDoc
, docLit $ Text.pack "]"
]

View File

@ -33,8 +33,18 @@ layoutStmt lstmt@(L _ stmt) = docWrapNode lstmt $ case stmt of
BindStmt lPat expr _ _ _ -> do
patDoc <- docSharedWrapper layoutPat lPat
expDoc <- docSharedWrapper layoutExpr expr
docCols ColBindStmt
[appSep patDoc, docSeq [appSep $ docLit $ Text.pack "<-", expDoc]]
docAlt
[ docCols ColBindStmt
[ appSep patDoc
, docSeq [appSep $ docLit $ Text.pack "<-", docForceParSpacing expDoc]
]
, docCols ColBindStmt
[ appSep patDoc
, docAddBaseY BrIndentRegular
$ docPar (docLit $ Text.pack "<-")
(expDoc)
]
]
LetStmt binds -> layoutLocalBinds binds >>= \case
Nothing ->
docLit $ Text.pack "let" -- i just tested
@ -55,7 +65,7 @@ layoutStmt lstmt@(L _ stmt) = docWrapNode lstmt $ case stmt of
Just bindDocs@(bindDoc1:bindDocr) -> do
-- TODO: the indentation here is screwed up. needs docSetIndentLevel and
-- SetBaseY based layouting, not cols.
docAlt
docSetBaseY $ docAlt
[ docLines
$ (docCols ColDoLet
[ appSep $ docLit $ Text.pack "let"