hledger-lib 0.16 → 0.16.1
raw patch · 2 files changed
+10/−8 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Hledger/Read/JournalReader.hs +9/−7
- hledger-lib.cabal +1/−1
Hledger/Read/JournalReader.hs view
@@ -463,19 +463,21 @@ ledgerpostings :: GenParser Char JournalContext [Posting] ledgerpostings = do ctx <- getState- -- pass current position to the sub-parses for more useful errors+ -- we'll set the correct position for sub-parses for more useful errors pos <- getPosition ls <- many1 $ try linebeginningwithspaces- let parses p = isRight . parseWithCtx ctx p- postinglines = filter (not . (ledgercommentline `parses`)) ls+ let lsnumbered = zip ls [0..]+ parses p = isRight . parseWithCtx ctx p+ postinglines = filter (not . (ledgercommentline `parses`) . fst) lsnumbered -- group any metadata lines with the posting line above- postinglinegroups :: [String] -> [String]+ postinglinegroups :: [(String,Line)] -> [(String,Line)] postinglinegroups [] = []- postinglinegroups (pline:ls) = (unlines $ pline:mdlines):postinglinegroups rest- where (mdlines,rest) = span (ledgermetadataline `parses`) ls+ postinglinegroups ((pline,num):ls) = (unlines (pline:(map fst mdlines)), num):postinglinegroups rest+ where (mdlines,rest) = span ((ledgermetadataline `parses`) . fst) ls pstrs = postinglinegroups postinglines+ parseNumberedPostingLine (str,num) = fromparse $ parseWithCtx ctx (setPosition (incSourceLine pos num) >> ledgerposting) str when (null pstrs) $ fail "no postings"- return $ map (fromparse . parseWithCtx ctx (setPosition pos >> ledgerposting)) pstrs+ return $ map parseNumberedPostingLine pstrs <?> "postings" linebeginningwithspaces :: GenParser Char JournalContext String
hledger-lib.cabal view
@@ -1,5 +1,5 @@ name: hledger-lib-version: 0.16+version: 0.16.1 category: Finance synopsis: Core data types, parsers and utilities for the hledger accounting tool. description: