Change record update syntax for left indent policy
parent
a6bea7542b
commit
44e95940c0
|
@ -646,9 +646,10 @@ func = do
|
||||||
#test record update indentation 2
|
#test record update indentation 2
|
||||||
func = do
|
func = do
|
||||||
s <- mGet
|
s <- mGet
|
||||||
mSet $ s { _lstate_indent = _lstate_indent state
|
mSet $ s
|
||||||
, _lstate_indent = _lstate_indent state
|
{ _lstate_indent = _lstate_indent state
|
||||||
}
|
, _lstate_indent = _lstate_indent state
|
||||||
|
}
|
||||||
|
|
||||||
#test record update indentation 3
|
#test record update indentation 3
|
||||||
func = do
|
func = do
|
||||||
|
@ -972,9 +973,9 @@ runBrittany tabSize text = do
|
||||||
let
|
let
|
||||||
config' = staticDefaultConfig
|
config' = staticDefaultConfig
|
||||||
config = config'
|
config = config'
|
||||||
{ _conf_layout = (_conf_layout config') { _lconfig_indentAmount = coerce
|
{ _conf_layout = (_conf_layout config')
|
||||||
tabSize
|
{ _lconfig_indentAmount = coerce tabSize
|
||||||
}
|
}
|
||||||
, _conf_forward = forwardOptionsSyntaxExtsEnabled
|
, _conf_forward = forwardOptionsSyntaxExtsEnabled
|
||||||
}
|
}
|
||||||
parsePrintModule config text
|
parsePrintModule config text
|
||||||
|
|
|
@ -853,81 +853,87 @@ layoutExpr lexpr@(L _ expr) = do
|
||||||
return $ case ambName of
|
return $ case ambName of
|
||||||
Unambiguous n _ -> (lfield, lrdrNameToText n, rFExpDoc)
|
Unambiguous n _ -> (lfield, lrdrNameToText n, rFExpDoc)
|
||||||
Ambiguous n _ -> (lfield, lrdrNameToText n, rFExpDoc)
|
Ambiguous n _ -> (lfield, lrdrNameToText n, rFExpDoc)
|
||||||
docAlt
|
docAltFilter
|
||||||
-- singleline
|
-- singleline
|
||||||
[ docSeq
|
[ ( True
|
||||||
[ docNodeAnnKW lexpr Nothing $ appSep $ docForceSingleline rExprDoc
|
, docSeq
|
||||||
, appSep $ docLit $ Text.pack "{"
|
[ docNodeAnnKW lexpr Nothing $ appSep $ docForceSingleline rExprDoc
|
||||||
, appSep $ docSeq $ List.intersperse docCommaSep
|
, appSep $ docLit $ Text.pack "{"
|
||||||
$ rFs <&> \case
|
, appSep $ docSeq $ List.intersperse docCommaSep
|
||||||
(lfield, fieldStr, Just fieldDoc) ->
|
$ rFs <&> \case
|
||||||
docWrapNode lfield $ docSeq
|
(lfield, fieldStr, Just fieldDoc) ->
|
||||||
[ appSep $ docLit fieldStr
|
docWrapNode lfield $ docSeq
|
||||||
, appSep $ docLit $ Text.pack "="
|
[ appSep $ docLit fieldStr
|
||||||
, docForceSingleline fieldDoc
|
, appSep $ docLit $ Text.pack "="
|
||||||
]
|
, docForceSingleline fieldDoc
|
||||||
(lfield, fieldStr, Nothing) ->
|
]
|
||||||
docWrapNode lfield $ docLit fieldStr
|
(lfield, fieldStr, Nothing) ->
|
||||||
, docLit $ Text.pack "}"
|
docWrapNode lfield $ docLit fieldStr
|
||||||
]
|
, docLit $ Text.pack "}"
|
||||||
|
]
|
||||||
|
)
|
||||||
-- wild-indentation block
|
-- wild-indentation block
|
||||||
, docSeq
|
, ( indentPolicy /= IndentPolicyLeft
|
||||||
[ docNodeAnnKW lexpr Nothing $ appSep rExprDoc
|
, docSeq
|
||||||
, docSetBaseY $ docLines $ let
|
[ docNodeAnnKW lexpr Nothing $ appSep rExprDoc
|
||||||
line1 = docCols ColRecUpdate
|
, docSetBaseY $ docLines $ let
|
||||||
[ appSep $ docLit $ Text.pack "{"
|
line1 = docCols ColRecUpdate
|
||||||
, docWrapNodePrior rF1f $ appSep $ docLit $ rF1n
|
[ appSep $ docLit $ Text.pack "{"
|
||||||
, case rF1e of
|
, docWrapNodePrior rF1f $ appSep $ docLit $ rF1n
|
||||||
Just x -> docWrapNodeRest rF1f $ docSeq
|
, case rF1e of
|
||||||
[ appSep $ docLit $ Text.pack "="
|
Just x -> docWrapNodeRest rF1f $ docSeq
|
||||||
, docForceSingleline $ x
|
[ appSep $ docLit $ Text.pack "="
|
||||||
]
|
, docForceSingleline $ x
|
||||||
Nothing -> docEmpty
|
|
||||||
]
|
|
||||||
lineR = rFr <&> \(lfield, fText, fDoc) -> docWrapNode lfield $ docCols ColRecUpdate
|
|
||||||
[ docCommaSep
|
|
||||||
, appSep $ docLit $ fText
|
|
||||||
, case fDoc of
|
|
||||||
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
|
||||||
, docForceSingleline x
|
|
||||||
]
|
]
|
||||||
Nothing -> docEmpty
|
Nothing -> docEmpty
|
||||||
]
|
]
|
||||||
lineN = docSeq
|
lineR = rFr <&> \(lfield, fText, fDoc) -> docWrapNode lfield $ docCols ColRecUpdate
|
||||||
[ docNodeAnnKW lexpr (Just AnnOpenC) docEmpty
|
[ docCommaSep
|
||||||
, docLit $ Text.pack "}"
|
, appSep $ docLit $ fText
|
||||||
]
|
, case fDoc of
|
||||||
in [line1] ++ lineR ++ [lineN]
|
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
||||||
]
|
, docForceSingleline x
|
||||||
|
]
|
||||||
|
Nothing -> docEmpty
|
||||||
|
]
|
||||||
|
lineN = docSeq
|
||||||
|
[ docNodeAnnKW lexpr (Just AnnOpenC) docEmpty
|
||||||
|
, docLit $ Text.pack "}"
|
||||||
|
]
|
||||||
|
in [line1] ++ lineR ++ [lineN]
|
||||||
|
]
|
||||||
|
)
|
||||||
-- strict indentation block
|
-- strict indentation block
|
||||||
, docSetParSpacing
|
, ( True
|
||||||
$ docAddBaseY BrIndentRegular
|
, docSetParSpacing
|
||||||
$ docPar
|
$ docAddBaseY BrIndentRegular
|
||||||
(docNodeAnnKW lexpr Nothing $ rExprDoc)
|
$ docPar
|
||||||
(docNonBottomSpacing $ docLines $ let
|
(docNodeAnnKW lexpr Nothing $ rExprDoc)
|
||||||
line1 = docCols ColRecUpdate
|
(docNonBottomSpacing $ docLines $ let
|
||||||
[ appSep $ docLit $ Text.pack "{"
|
line1 = docCols ColRecUpdate
|
||||||
, docWrapNodePrior rF1f $ appSep $ docLit $ rF1n
|
[ appSep $ docLit $ Text.pack "{"
|
||||||
, docWrapNodeRest rF1f $ case rF1e of
|
, docWrapNodePrior rF1f $ appSep $ docLit $ rF1n
|
||||||
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
, docWrapNodeRest rF1f $ case rF1e of
|
||||||
, docAddBaseY BrIndentRegular $ x
|
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
||||||
]
|
, docAddBaseY BrIndentRegular $ x
|
||||||
Nothing -> docEmpty
|
|
||||||
]
|
|
||||||
lineR = rFr <&> \(lfield, fText, fDoc) -> docWrapNode lfield $ docCols ColRecUpdate
|
|
||||||
[ docCommaSep
|
|
||||||
, appSep $ docLit $ fText
|
|
||||||
, case fDoc of
|
|
||||||
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
|
||||||
, docAddBaseY BrIndentRegular x
|
|
||||||
]
|
]
|
||||||
Nothing -> docEmpty
|
Nothing -> docEmpty
|
||||||
]
|
]
|
||||||
lineN = docSeq
|
lineR = rFr <&> \(lfield, fText, fDoc) -> docWrapNode lfield $ docCols ColRecUpdate
|
||||||
[ docNodeAnnKW lexpr (Just AnnOpenC) docEmpty
|
[ docCommaSep
|
||||||
, docLit $ Text.pack "}"
|
, appSep $ docLit $ fText
|
||||||
]
|
, case fDoc of
|
||||||
in [line1] ++ lineR ++ [lineN])
|
Just x -> docSeq [ appSep $ docLit $ Text.pack "="
|
||||||
|
, docAddBaseY BrIndentRegular x
|
||||||
|
]
|
||||||
|
Nothing -> docEmpty
|
||||||
|
]
|
||||||
|
lineN = docSeq
|
||||||
|
[ docNodeAnnKW lexpr (Just AnnOpenC) docEmpty
|
||||||
|
, docLit $ Text.pack "}"
|
||||||
|
]
|
||||||
|
in [line1] ++ lineR ++ [lineN])
|
||||||
|
)
|
||||||
]
|
]
|
||||||
#if MIN_VERSION_ghc(8,2,0) /* ghc-8.2 */
|
#if MIN_VERSION_ghc(8,2,0) /* ghc-8.2 */
|
||||||
ExprWithTySig exp1 (HsWC _ (HsIB _ typ1 _)) -> do
|
ExprWithTySig exp1 (HsWC _ (HsIB _ typ1 _)) -> do
|
||||||
|
@ -959,7 +965,7 @@ layoutExpr lexpr@(L _ expr) = do
|
||||||
docSeq
|
docSeq
|
||||||
[ docLit $ Text.pack "["
|
[ docLit $ Text.pack "["
|
||||||
, docForceSingleline e1Doc
|
, docForceSingleline e1Doc
|
||||||
, docCommaSep
|
, appSep $ docLit $ Text.pack ","
|
||||||
, appSep $ docForceSingleline e2Doc
|
, appSep $ docForceSingleline e2Doc
|
||||||
, docLit $ Text.pack "..]"
|
, docLit $ Text.pack "..]"
|
||||||
]
|
]
|
||||||
|
@ -980,7 +986,7 @@ layoutExpr lexpr@(L _ expr) = do
|
||||||
docSeq
|
docSeq
|
||||||
[ docLit $ Text.pack "["
|
[ docLit $ Text.pack "["
|
||||||
, docForceSingleline e1Doc
|
, docForceSingleline e1Doc
|
||||||
, docCommaSep
|
, appSep $ docLit $ Text.pack ","
|
||||||
, appSep $ docForceSingleline e2Doc
|
, appSep $ docForceSingleline e2Doc
|
||||||
, appSep $ docLit $ Text.pack ".."
|
, appSep $ docLit $ Text.pack ".."
|
||||||
, docForceSingleline eNDoc
|
, docForceSingleline eNDoc
|
||||||
|
|
Loading…
Reference in New Issue