hledger/TODO

136 lines
2.1 KiB
Plaintext

* feature: balance report account matching
sample account tree:
assets
cash
checking
saving
equity
expenses
food
shelter
income
salary
liabilities
debts
standard balance command shows all top-level accounts:
> ledger bal
$ assets
$ equity
$ expenses
$ income
$ liabilities
with an account pattern, show only the ones with matching names:
> ledger bal asset
$ assets
with -s, show all subaccounts of matched accounts:
> ledger -s bal asset
$ assets
$ cash
$ checking
$ saving
again:
> ledger bal a
$ assets
$ cash
$ saving
$ income
$ salary
$ liabilities
and including subaccounts:
> ledger -s bal a
$ assets
$ cash
$ checking
$ saving
$ income
$ salary
$ liabilities
$ debts
but also, elide boring accounts whenever possible, so if savings is 0 and
income/liabilities have no transactions the above would be displayed as:
> ledger -s bal a
$ assets
$ cash
$ checking
$ income:salary
$ liabilities:debts
algorithm:
1 filter account tree by name, keeping any necessary parents
2 add subaccounts if -s
3 display account tree, eliding boring accounts
* include subaccounts
elide boring accounts
handle multiple patterns
optimization: add CookedLedger caching acct txns, boring status etc.
refactor apis
speed
profile, refactor, optimize
basic features
-f -
print
-j and -J graph data output
!include
read timelog files
advanced features
handle mixed amounts
3.0-style elision
-p period expressions
-d display expressions
read gnucash files
other args, directives
new features
graph automation
entry and smart data entry
incorporate timeclock features
timelog simple amount entries
better layout
testing
better use of quickcheck/smallcheck
http://blog.codersbase.com/2006/09/01/simple-unit-testing-in-haskell/
ledger compatibility tests
documentation
literate docs
better use of haddock
marketing
set up as a cabal/hackage project following wiki howto ?
http://en.wikibooks.org/wiki/Haskell/Packaging
announce on haskell list, wiki