Skip to content

Commit 0ebf705

Browse files
sjakobimergify[bot]
authored andcommitted
Strip leading whitespace (#1270)
Fixes #1267.
1 parent 141bd8d commit 0ebf705

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

dhall/src/Dhall/Parser.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import Dhall.Core
2626
import Dhall.Src (Src(..))
2727
import Prelude hiding (const, pi)
2828

29+
import qualified Data.Char
2930
import qualified Data.Text
3031
import qualified Text.Megaparsec
3132

@@ -89,7 +90,7 @@ exprAndHeaderFromText
8990
-> Either ParseError (Text, Expr Src Import)
9091
exprAndHeaderFromText delta text = case result of
9192
Left errInfo -> Left (ParseError { unwrap = errInfo, input = text })
92-
Right (txt, r) -> Right (Data.Text.dropWhileEnd (/= '\n') txt, r)
93+
Right (txt, r) -> Right (stripHeader txt, r)
9394
where
9495
parser = do
9596
(bytes, _) <- Text.Megaparsec.match whitespace
@@ -98,3 +99,5 @@ exprAndHeaderFromText delta text = case result of
9899
return (bytes, r)
99100

100101
result = Text.Megaparsec.parse (unParser parser) delta text
102+
103+
stripHeader = Data.Text.dropWhile Data.Char.isSpace . Data.Text.dropWhileEnd (/= '\n')

dhall/tests/Dhall/Test/Format.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ formatTest characterSet prefix =
5151

5252
inputText <- Text.IO.readFile inputFile
5353

54-
expr <- Core.throws (Parser.exprFromText mempty inputText)
54+
(header, expr) <- Core.throws (Parser.exprAndHeaderFromText mempty inputText)
5555

56-
let doc = Pretty.prettyCharacterSet characterSet expr
56+
let doc = Doc.pretty header
57+
<> Pretty.prettyCharacterSet characterSet expr
5758
let docStream = Doc.layoutSmart Pretty.layoutOpts doc
5859
let actualText = Doc.Render.Text.renderStrict docStream
5960

dhall/tests/format/headerA.dhall

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
{- bla -}
3+
4+
True

dhall/tests/format/headerB.dhall

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{- bla -}
2+
3+
True

0 commit comments

Comments
 (0)