From 084bf8fea835e2fa1b0907a9267db82f4d0499a3 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sun, 27 Apr 2014 23:59:11 -0700 Subject: [PATCH] queries: treat amt:>0 like amt:>+0 Similar to the special case for amt:<0, for convenience. To test that the absolute quantity is greater than 0, ie that the quantity is non-zero, use not:amt:0. --- hledger-lib/Hledger/Query.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hledger-lib/Hledger/Query.hs b/hledger-lib/Hledger/Query.hs index b4c2e3e6b..4533080af 100644 --- a/hledger-lib/Hledger/Query.hs +++ b/hledger-lib/Hledger/Query.hs @@ -293,7 +293,8 @@ parseAmountQueryTerm s' = '-':s -> (Eq, negate $ readDef err s) '<':s -> let n = readDef err s in case n of 0 -> (Lt, 0) _ -> (AbsLt, n) - '>':s -> (AbsGt, readDef err s) + '>':s -> let n = readDef err s in case n of 0 -> (Gt, 0) + _ -> (AbsGt, n) '=':s -> (AbsEq, readDef err s) s -> (AbsEq, readDef err s) where @@ -302,7 +303,8 @@ parseAmountQueryTerm s' = tests_parseAmountQueryTerm = [ "parseAmountQueryTerm" ~: do let s `gives` r = parseAmountQueryTerm s `is` r - "<0" `gives` (Lt,0) -- special case, AbsLt 0 would be always false + "<0" `gives` (Lt,0) -- special case for convenience, since AbsLt 0 would be always false + ">0" `gives` (Gt,0) -- special case for convenience and consistency with above ">10000.10" `gives` (AbsGt,10000.1) "=0.23" `gives` (AbsEq,0.23) "0.23" `gives` (AbsEq,0.23)