parent
141bd8d6f4
commit
0ebf705a75
|
@ -26,6 +26,7 @@ import Dhall.Core
|
|||
import Dhall.Src (Src(..))
|
||||
import Prelude hiding (const, pi)
|
||||
|
||||
import qualified Data.Char
|
||||
import qualified Data.Text
|
||||
import qualified Text.Megaparsec
|
||||
|
||||
|
@ -89,7 +90,7 @@ exprAndHeaderFromText
|
|||
-> Either ParseError (Text, Expr Src Import)
|
||||
exprAndHeaderFromText delta text = case result of
|
||||
Left errInfo -> Left (ParseError { unwrap = errInfo, input = text })
|
||||
Right (txt, r) -> Right (Data.Text.dropWhileEnd (/= '\n') txt, r)
|
||||
Right (txt, r) -> Right (stripHeader txt, r)
|
||||
where
|
||||
parser = do
|
||||
(bytes, _) <- Text.Megaparsec.match whitespace
|
||||
|
@ -98,3 +99,5 @@ exprAndHeaderFromText delta text = case result of
|
|||
return (bytes, r)
|
||||
|
||||
result = Text.Megaparsec.parse (unParser parser) delta text
|
||||
|
||||
stripHeader = Data.Text.dropWhile Data.Char.isSpace . Data.Text.dropWhileEnd (/= '\n')
|
||||
|
|
|
@ -51,9 +51,10 @@ formatTest characterSet prefix =
|
|||
|
||||
inputText <- Text.IO.readFile inputFile
|
||||
|
||||
expr <- Core.throws (Parser.exprFromText mempty inputText)
|
||||
(header, expr) <- Core.throws (Parser.exprAndHeaderFromText mempty inputText)
|
||||
|
||||
let doc = Pretty.prettyCharacterSet characterSet expr
|
||||
let doc = Doc.pretty header
|
||||
<> Pretty.prettyCharacterSet characterSet expr
|
||||
let docStream = Doc.layoutSmart Pretty.layoutOpts doc
|
||||
let actualText = Doc.Render.Text.renderStrict docStream
|
||||
|
||||
|
|
4
dhall/tests/format/headerA.dhall
Normal file
4
dhall/tests/format/headerA.dhall
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
{- bla -}
|
||||
|
||||
True
|
3
dhall/tests/format/headerB.dhall
Normal file
3
dhall/tests/format/headerB.dhall
Normal file
|
@ -0,0 +1,3 @@
|
|||
{- bla -}
|
||||
|
||||
True
|
Loading…
Reference in New Issue
Block a user