--empty/-E flag

This commit is contained in:
Simon Michael 2008-11-22 09:39:58 +00:00
parent cafca9425d
commit 42bfc4afd9
4 changed files with 14 additions and 2 deletions

View File

@ -124,9 +124,10 @@ showBalanceReport opts args l = acctsstr ++ totalstr
acctsstr = concatMap showatree $ subs t
showatree t = showAccountTreeWithBalances matchedacctnames t
matchedacctnames = balancereportacctnames l sub apats t
t = pruneZeroBalanceLeaves $ ledgerAccountTree maxdepth l
t = (if empty then id else pruneZeroBalanceLeaves) $ ledgerAccountTree maxdepth l
apats = fst $ parseAccountDescriptionArgs args
sub = SubTotal `elem` opts
empty = Empty `elem` opts
maxdepth = 9999
totalstr = if isZeroMixedAmount total
then ""

1
NOTES
View File

@ -12,7 +12,6 @@ implementations were its consequences." --Niklaus Wirth
*** parse commented lines at end of file
*** display mixed amounts vertically, not horizontally
** features
*** -E to show zero amounts, for reports and showing informational timelog entries
*** -n to skip total, for compound reports
*** flexible date expressions, for easier time reports
*** commodity @ rate, for tracking client hours in main ledger

View File

@ -27,6 +27,7 @@ options = [
Option ['b'] ["begin"] (ReqArg Begin "YYYY/MM/DD") "report on entries on or after this date",
Option ['e'] ["end"] (ReqArg End "YYYY/MM/DD") "report on entries prior to this date",
Option ['C'] ["cleared"] (NoArg Cleared) "report only on cleared entries",
Option ['E'] ["empty"] (NoArg Empty) "balance report: show accounts with zero balance",
Option ['R'] ["real"] (NoArg Real) "report only on real (non-virtual) transactions",
Option ['s'] ["subtotal"] (NoArg SubTotal) "balance report: show subaccounts",
Option ['h'] ["help","usage"] (NoArg Help) "show this help",
@ -39,6 +40,7 @@ data Opt =
Begin String |
End String |
Cleared |
Empty |
Real |
SubTotal |
Help |

View File

@ -212,6 +212,16 @@ balancecommand_tests = TestList [
"--------------------\n" ++
" $1\n" ++
"")
,
"balance report with -E shows zero-balance accounts" ~:
([SubTotal,Empty], ["assets"]) `gives`
(" $-1 assets\n" ++
" $-2 cash\n" ++
" $0 checking\n" ++
" $1 saving\n" ++
"--------------------\n" ++
" $-1\n" ++
"")
] where
gives (opts,pats) e = do
l <- ledgerfromfile pats "sample.ledger"