From f0167013ce33cf6da7260b191745dd3843ee04fb Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 16 Apr 2014 10:46:54 -0700 Subject: [PATCH] queries: treat amt:<0 like amt:<+0 as a convenience --- hledger-lib/Hledger/Query.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hledger-lib/Hledger/Query.hs b/hledger-lib/Hledger/Query.hs index edc5dc432..daf41bc3a 100644 --- a/hledger-lib/Hledger/Query.hs +++ b/hledger-lib/Hledger/Query.hs @@ -291,7 +291,8 @@ parseAmountQueryTerm s' = '>':'-':s -> (Gt, negate $ readDef err s) '=':'-':s -> (Eq, negate $ readDef err s) '-':s -> (Eq, negate $ readDef err s) - '<':s -> (AbsLt, readDef err s) + '<':s -> let n = readDef err s in case n of 0 -> (Lt, 0) + _ -> (AbsLt, n) '>':s -> (AbsGt, readDef err s) '=':s -> (AbsEq, readDef err s) s -> (AbsEq, readDef err s) @@ -301,7 +302,7 @@ parseAmountQueryTerm s' = tests_parseAmountQueryTerm = [ "parseAmountQueryTerm" ~: do let s `gives` r = parseAmountQueryTerm s `is` r - "<0" `gives` (AbsLt,0) -- would be always false + "<0" `gives` (Lt,0) -- special case, AbsLt 0 would be always false ">10000.10" `gives` (AbsGt,10000.1) "=0.23" `gives` (AbsEq,0.23) "0.23" `gives` (AbsEq,0.23)