Fix exactprinting fallback for inline splice
parent
4ed3a2f53d
commit
49a2529a5b
|
@ -89,31 +89,27 @@ briDocByExactInlineOnly
|
||||||
)
|
)
|
||||||
=> String
|
=> String
|
||||||
-> GHC.XRec GhcPs a
|
-> GHC.XRec GhcPs a
|
||||||
-> ToBriDocM BriDocNumbered
|
-> ToBriDocM (BriDocNumbered)
|
||||||
briDocByExactInlineOnly infoStr ast = do
|
briDocByExactInlineOnly infoStr ast = do
|
||||||
traceIfDumpConf
|
traceIfDumpConf "ast"
|
||||||
"ast"
|
|
||||||
_dconf_dump_ast_unknown
|
_dconf_dump_ast_unknown
|
||||||
(printTreeWithCustom 160 customLayouterF ast)
|
(printTreeWithCustom 160 customLayouterF ast)
|
||||||
let exactPrinted = Text.pack $ ExactPrint.exactPrint ast
|
let exactPrinted =
|
||||||
|
dropWhile Text.null $ Text.lines $ Text.pack $ ExactPrint.exactPrint ast
|
||||||
fallbackMode <-
|
fallbackMode <-
|
||||||
mAsk <&> _conf_errorHandling .> _econf_ExactPrintFallback .> confUnpack
|
mAsk <&> _conf_errorHandling .> _econf_ExactPrintFallback .> confUnpack
|
||||||
let
|
let exactPrintNode t = allocateNode $ BDExternal False t
|
||||||
exactPrintNode t =
|
let errorAction = do
|
||||||
allocateNode $ BDExternal
|
|
||||||
-- (ExactPrint.Types.mkAnnKey ast)
|
|
||||||
-- (foldedAnnKeys ast)
|
|
||||||
False t
|
|
||||||
let
|
|
||||||
errorAction = do
|
|
||||||
mTell [ErrorUnknownNode infoStr ast]
|
mTell [ErrorUnknownNode infoStr ast]
|
||||||
docLit $ Text.pack "{- BRITTANY ERROR UNHANDLED SYNTACTICAL CONSTRUCT -}"
|
docLit
|
||||||
|
$ Text.pack "{- BRITTANY ERROR UNHANDLED SYNTACTICAL CONSTRUCT -}"
|
||||||
mModify (+ connectedCommentCount ast)
|
mModify (+ connectedCommentCount ast)
|
||||||
case (fallbackMode, Text.lines exactPrinted) of
|
case (fallbackMode, exactPrinted) of
|
||||||
(ExactPrintFallbackModeNever, _) -> errorAction
|
(ExactPrintFallbackModeNever, _ ) -> errorAction
|
||||||
(_, [t]) -> exactPrintNode
|
(_ , [t]) -> exactPrintNode
|
||||||
(Text.dropWhile Char.isSpace . Text.dropWhileEnd Char.isSpace $ t)
|
(Text.dropWhile Char.isSpace . Text.dropWhileEnd Char.isSpace $ t)
|
||||||
(ExactPrintFallbackModeRisky, _) -> exactPrintNode exactPrinted
|
(ExactPrintFallbackModeRisky, _) -> exactPrintNode
|
||||||
|
(Text.unlines exactPrinted)
|
||||||
_ -> errorAction
|
_ -> errorAction
|
||||||
|
|
||||||
rdrNameToText :: RdrName -> Text
|
rdrNameToText :: RdrName -> Text
|
||||||
|
|
Loading…
Reference in New Issue