parse period expressions and date: more strictly
Period expressions and date: query terms must now be parseable all the way to their end; we won't ignore unparseable trailing bits.
This commit is contained in:
parent
a675b99870
commit
632dee668d
@ -60,6 +60,7 @@ module Hledger.Data.Dates (
|
|||||||
)
|
)
|
||||||
where
|
where
|
||||||
|
|
||||||
|
import Control.Applicative ((<*))
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Data.List
|
import Data.List
|
||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
@ -241,7 +242,7 @@ earliest (Just d1) (Just d2) = Just $ min d1 d2
|
|||||||
-- | Parse a period expression to an Interval and overall DateSpan using
|
-- | Parse a period expression to an Interval and overall DateSpan using
|
||||||
-- the provided reference date, or return a parse error.
|
-- the provided reference date, or return a parse error.
|
||||||
parsePeriodExpr :: Day -> String -> Either ParseError (Interval, DateSpan)
|
parsePeriodExpr :: Day -> String -> Either ParseError (Interval, DateSpan)
|
||||||
parsePeriodExpr refdate = parsewith (periodexpr refdate)
|
parsePeriodExpr refdate = parsewith (periodexpr refdate <* eof)
|
||||||
|
|
||||||
maybePeriod :: Day -> String -> Maybe (Interval,DateSpan)
|
maybePeriod :: Day -> String -> Maybe (Interval,DateSpan)
|
||||||
maybePeriod refdate = either (const Nothing) Just . parsePeriodExpr refdate
|
maybePeriod refdate = either (const Nothing) Just . parsePeriodExpr refdate
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user