refactor: cleanup
This commit is contained in:
parent
b19b02962a
commit
331ed6b407
@ -590,7 +590,7 @@ tests = TestList [
|
|||||||
["2009/01/01 медвежья шкура расходы:покупки 100 100"
|
["2009/01/01 медвежья шкура расходы:покупки 100 100"
|
||||||
," актив:наличные -100 0"]
|
," актив:наличные -100 0"]
|
||||||
|
|
||||||
,"smart dates" ~: do
|
,"fixSmartDateStr" ~: do
|
||||||
let gives = is . fixSmartDateStr (parsedate "2008/11/26")
|
let gives = is . fixSmartDateStr (parsedate "2008/11/26")
|
||||||
"1999-12-02" `gives` "1999/12/02"
|
"1999-12-02" `gives` "1999/12/02"
|
||||||
"1999.12.02" `gives` "1999/12/02"
|
"1999.12.02" `gives` "1999/12/02"
|
||||||
|
|||||||
@ -246,10 +246,7 @@ Assumes any text in the parse stream has been lowercased.
|
|||||||
-}
|
-}
|
||||||
smartdate :: GenParser Char st SmartDate
|
smartdate :: GenParser Char st SmartDate
|
||||||
smartdate = do
|
smartdate = do
|
||||||
let dateparsers = [yyyymmdd, ymd, ym, md, y, d, month, mon, today, yesterday, tomorrow,
|
(y,m,d) <- choice' [yyyymmdd, ymd, ym, md, y, d, month, mon, today, yesterday, tomorrow, lastthisnextthing]
|
||||||
lastthisnextthing
|
|
||||||
]
|
|
||||||
(y,m,d) <- choice $ map try dateparsers
|
|
||||||
return (y,m,d)
|
return (y,m,d)
|
||||||
|
|
||||||
-- | Like smartdate, but there must be nothing other than whitespace after the date.
|
-- | Like smartdate, but there must be nothing other than whitespace after the date.
|
||||||
|
|||||||
@ -241,6 +241,8 @@ tracewith f e = trace (f e) e
|
|||||||
|
|
||||||
-- parsing
|
-- parsing
|
||||||
|
|
||||||
|
choice' = choice . map Text.ParserCombinators.Parsec.try
|
||||||
|
|
||||||
parsewith :: Parser a -> String -> Either ParseError a
|
parsewith :: Parser a -> String -> Either ParseError a
|
||||||
parsewith p = parse p ""
|
parsewith p = parse p ""
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user