mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 07:09:28 +03:00
notes: update todo list, draft a new filter patterns design
This commit is contained in:
parent
bc8cd4d211
commit
a392d55b25
101
NOTES
101
NOTES
@ -449,11 +449,33 @@ competitors/fellow niche inhabitants
|
||||
**** usability
|
||||
**** download & usage stats
|
||||
** errors
|
||||
NOTE: This is the "developers' quick bug list", which predates the
|
||||
web-based bug tracker and is still used sometimes by hledger developers
|
||||
comfortable with org-mode.
|
||||
*** about:
|
||||
The quick bug list - predates the web-based bug tracker, still in use as
|
||||
front-line tracker by the org-mode-comfortable hledger developer(s)
|
||||
|
||||
*** strange balancing failure
|
||||
*** tools: avoid haskell compiles and compile errors while setting up makefile vars
|
||||
joyful$ make help
|
||||
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
|
||||
__hscore_S_IFDIR
|
||||
whilst processing object file
|
||||
/usr/local/lib/ghc-7.0.2/directory-1.1.0.0/HSdirectory-1.1.0.0.o
|
||||
This could be caused by:
|
||||
* Loading two different object files which export the same symbol
|
||||
* Specifying the same object file twice on the GHCi command line
|
||||
* An incorrect `package.conf' entry, causing some object to be
|
||||
loaded twice.
|
||||
GHCi cannot safely continue in this situation. Exiting now. Sorry.
|
||||
|
||||
make: *** No rule to make target `help'. Stop.
|
||||
|
||||
*** linux 32 binary fails on ubuntu 11.04 due to libc6 gconv file path change (greenskeleton)
|
||||
http://code.google.com/p/hledger/issues/detail?id=43
|
||||
*** parsing: balancing fails for a commodityless amount with a price
|
||||
1/1
|
||||
a 927.5 @ 2EUR
|
||||
b
|
||||
|
||||
*** parsing: strange balancing failure
|
||||
2011/01/01 Example
|
||||
Assets:Brokerage:TESTA 188.424 TESTA @ $76.61
|
||||
Assets:Brokerage:TESTB 1,809.282 TESTB @ $15.60
|
||||
@ -474,14 +496,9 @@ could not balance this transaction (real postings are off by $-4,931.82)
|
||||
|
||||
*** parsing: timezone should be supported in historical price records, elsewhere ? (greenskeleton)
|
||||
https://gist.github.com/972281
|
||||
|
||||
*** linux 32 binary fails on ubuntu 11.04 due to libc6 gconv file path change (greenskeleton)
|
||||
https://gist.github.com/972289
|
||||
*** #35 wludwick hledger-web startup issue
|
||||
*** parsing: recursive file includes cause a hang
|
||||
echo "!include rec" > rec
|
||||
hledger -f rec print
|
||||
*** parsing: only journals (not timelog files) can include, and only another journal
|
||||
*** parsing: "could not balance" error does not show line number
|
||||
*** parsing: extra noise with eg bad date parse errors
|
||||
$ cat t.journal
|
||||
@ -506,23 +523,14 @@ hledger: could not parse journal data in t.j
|
||||
unexpected "b"
|
||||
expecting comment or new-line
|
||||
|
||||
*** parsing: let's enforce positive price amounts for clarity, like ledger
|
||||
eg 1€ @@ $-2 is not allowed
|
||||
*** balance: sometimes (i suspect multi-currency is to blame) accounts with zero balances show in "balance" --DA
|
||||
**** TODO Needs minimal testcase
|
||||
*** balance: --depth with --flat should show aggregate balances
|
||||
**** TODO Needs example!
|
||||
*** register: intervals with unspecified from should start from first txn not first matched txn ?
|
||||
**** TODO Needs example!
|
||||
*** web: account patterns on command line are ignored
|
||||
*** web: doesn't support multiple filter patterns
|
||||
*** web: post handlers should preserve a and p
|
||||
*** web: --base-url trailing slash gives redirect loop
|
||||
hledger-web --port 5001 --base-url http://localhost:5001/ -f ~/personal/household.journal
|
||||
*** web: assets.bank.checking indentation in demo journal
|
||||
hledger-web --port 5001 --base-url http://localhost:5001/
|
||||
*** web: account patterns on command line are ignored
|
||||
*** web: loses -B after an edit, and/or a filesystem edit
|
||||
*** docs: need to be less wall-of-text
|
||||
*** docs:installing:describe the three install methods in one place
|
||||
*** #25 can't print non-ascii in windows console
|
||||
http://code.google.com/p/hledger/issues/detail?id=25
|
||||
http://blog.andrewbeacock.com/2008/12/rxvt-better-console-for-cygwin-unix-on.html
|
||||
@ -553,12 +561,63 @@ http://msdn.microsoft.com/en-us/library/ms714415(v=VS.85).aspx
|
||||
*** inspiration
|
||||
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
|
||||
** features
|
||||
*** cli, web: richer filter patterns
|
||||
ledger's query syntax: http://ledger-cli.org/3.0/doc/ledger.1.html
|
||||
**** draft 1:
|
||||
|
||||
Filter patterns restrict the postings/transactions that are displayed.
|
||||
(They often reduce the amount of processing work hledger has to do, as well.)
|
||||
A pattern is a string or regular expression, usually with a prefix specifying the type of match to do.
|
||||
The supported prefixes are:
|
||||
|
||||
acct:PAT match postings affecting accounts whose name matches PAT
|
||||
otheracct:PAT match the other postings in transactions with an acct match (like ledger's --related)
|
||||
anyacct:PAT match all postings in transactions with an acct match (union of acct and otheracct)
|
||||
desc:PAT match postings whose description matches PAT
|
||||
status:PAT match postings whose cleared status matches PAT
|
||||
code:PAT match postings whose transaction code matches PAT
|
||||
tag:PAT match postings with a metadata tag whose name matches PAT
|
||||
tag:TAG=PAT match postings with a metadata tag named TAG whose value matches PAT
|
||||
from:DATE match postings on or after DATE (like --begin)
|
||||
to:DATE match postings before DATE (like --end)
|
||||
in:PERIOD match postings during PERIOD (like --period)
|
||||
(or ?
|
||||
begin:DATE match postings on or after DATE (like --begin)
|
||||
end:DATE match postings before DATE (like --end)
|
||||
period:PERIOD match postings during PERIOD (like --period)
|
||||
)
|
||||
|
||||
Prefixes have a short form which is their first letter, except for tag and anyacct.
|
||||
|
||||
Prefix-less patterns are treated like acct: patterns, except by the
|
||||
register command which treats them as otheracct: .
|
||||
|
||||
Patterns containing whitespace must be enclosed in quotes.
|
||||
|
||||
Matches are always case-insensitive.
|
||||
|
||||
Matches are always substring matches (except for TAG); to match exactly,
|
||||
wrap the pattern in ^ and $.
|
||||
|
||||
A posting's date, status, code, etc. is usually (but not always) that of
|
||||
its containing transaction.
|
||||
|
||||
Any of these may be further prefixed with not: for an inverse match.
|
||||
|
||||
Filter patterns may be combined with AND, OR, and parentheses. OR is
|
||||
assumed by default.
|
||||
|
||||
*** web: optional production build needing no files at all (static files embedded)
|
||||
*** docs: better intro, less wall-of-text, separate reference manual & tutorials
|
||||
*** balance: --depth with --flat should show aggregate balances including the non-displayed deeper accounts
|
||||
*** take port from base-url when appropriate
|
||||
*** parsing: support --options (?)
|
||||
*** parsing: let's enforce positive price amounts for clarity, like ledger
|
||||
eg 1€ @@ $-2 is not allowed
|
||||
*** parsing: canonicalise account names to be case-insensitive ?
|
||||
*** parsing: period expressions should allow interval at the end
|
||||
eg support -p 'from 1/1 to 2/1 weekly'
|
||||
|
||||
*** parsing: only journals (not timelog files) can include, and only another journal
|
||||
*** --empty-parents
|
||||
$260.00 expenses
|
||||
$260.00 rent
|
||||
|
Loading…
Reference in New Issue
Block a user