diff --git a/Ledger/Dates.hs b/Ledger/Dates.hs index 6d7910c4b..ea403073a 100644 --- a/Ledger/Dates.hs +++ b/Ledger/Dates.hs @@ -236,7 +236,7 @@ Assumes any text in the parse stream has been lowercased. smartdate :: GenParser Char st SmartDate smartdate = do let dateparsers = [yyyymmdd, ymd, ym, md, y, d, month, mon, today, yesterday, tomorrow, - lastthisnextthing + lastthisnextthing, thing ] (y,m,d) <- choice $ map try dateparsers return $ (y,m,d) @@ -339,6 +339,17 @@ lastthisnextthing = do return ("",r,p) +thing :: GenParser Char st SmartDate +thing = do + p <- choice $ [ + string "day" + ,string "week" + ,string "month" + ,string "quarter" + ,string "year" + ] + return ("","this",p) + periodexpr :: Day -> GenParser Char st (Interval, DateSpan) periodexpr rdate = choice $ map try [ intervalanddateperiodexpr rdate,