parse error fixes
This commit is contained in:
parent
ac307957e5
commit
cfaacd26b6
@ -103,7 +103,7 @@ ledgerFile = do items <- many ledgerItem
|
||||
]
|
||||
|
||||
ledgerDirective :: GenParser Char LedgerFileCtx (ErrorT String IO (RawLedger -> RawLedger))
|
||||
ledgerDirective = do char '!'
|
||||
ledgerDirective = do char '!' <?> "directive"
|
||||
directive <- many nonspace
|
||||
case directive of
|
||||
"include" -> ledgerInclude
|
||||
@ -252,7 +252,7 @@ See "Tests" for sample data.
|
||||
|
||||
emptyLine :: GenParser Char st ()
|
||||
emptyLine = do many spacenonewline
|
||||
optional $ char ';' >> many (noneOf "\n")
|
||||
optional $ (char ';' <?> "comment") >> many (noneOf "\n")
|
||||
newline
|
||||
return ()
|
||||
|
||||
@ -275,7 +275,7 @@ ledgerModifierTransaction = do
|
||||
|
||||
ledgerPeriodicTransaction :: GenParser Char LedgerFileCtx PeriodicTransaction
|
||||
ledgerPeriodicTransaction = do
|
||||
char '~' <?> "entry"
|
||||
char '~' <?> "periodic transaction"
|
||||
many spacenonewline
|
||||
periodexpr <- restofline
|
||||
postings <- ledgerpostings
|
||||
@ -283,7 +283,7 @@ ledgerPeriodicTransaction = do
|
||||
|
||||
ledgerHistoricalPrice :: GenParser Char LedgerFileCtx HistoricalPrice
|
||||
ledgerHistoricalPrice = do
|
||||
char 'P' <?> "hprice"
|
||||
char 'P' <?> "historical price"
|
||||
many spacenonewline
|
||||
date <- ledgerdate
|
||||
many spacenonewline
|
||||
@ -308,7 +308,7 @@ ledgerDefaultYear = do
|
||||
-- and if we cannot, raise an error.
|
||||
ledgerTransaction :: GenParser Char LedgerFileCtx LedgerTransaction
|
||||
ledgerTransaction = do
|
||||
date <- ledgerdate <?> "entry"
|
||||
date <- ledgerdate <?> "transaction"
|
||||
status <- ledgerstatus
|
||||
code <- ledgercode
|
||||
description <- liftM rstrip (many1 (noneOf ";\n") <?> "description")
|
||||
@ -353,10 +353,10 @@ ledgerdatetime = do
|
||||
return $ LocalTime day tod
|
||||
|
||||
ledgerstatus :: GenParser Char st Bool
|
||||
ledgerstatus = try (do { char '*'; many1 spacenonewline; return True } ) <|> return False
|
||||
ledgerstatus = try (do { char '*' <?> "status"; many1 spacenonewline; return True } ) <|> return False
|
||||
|
||||
ledgercode :: GenParser Char st String
|
||||
ledgercode = try (do { char '('; code <- anyChar `manyTill` char ')'; many1 spacenonewline; return code } ) <|> return ""
|
||||
ledgercode = try (do { char '(' <?> "code"; code <- anyChar `manyTill` char ')'; many1 spacenonewline; return code } ) <|> return ""
|
||||
|
||||
ledgerpostings :: GenParser Char LedgerFileCtx [Posting]
|
||||
ledgerpostings = many1 $ try ledgerposting
|
||||
|
||||
Loading…
Reference in New Issue
Block a user