John Wiegley
4365d9e3fc
Moved around some functions for clarity
2009-02-16 04:10:22 -04:00
John Wiegley
b5a972d1a0
The -n option for bal command is working again
...
The fix was that when appending new predicates, enclosed both sides of
the AND with parentheses.
2009-02-16 02:51:09 -04:00
John Wiegley
8c2a70e197
Made several of the filters more context aware
...
This resolves certain issues where value expressions were not being
looked up within their full context.
2009-02-15 23:00:16 -04:00
John Wiegley
14ffc2b31a
Don't apply all filters for account-wise reports
...
This creates its own problems; instead, only most are used.
2009-02-15 22:57:23 -04:00
John Wiegley
a64a069a77
Print stripped amounts in the print report
2009-02-15 21:27:28 -04:00
John Wiegley
780ce4a5d0
Normalized handling of several report options
2009-02-15 21:14:54 -04:00
John Wiegley
484b498c14
Re-enabled the --format (-F) option
2009-02-15 21:08:36 -04:00
John Wiegley
e861c312ac
The "xact" variable now returns null for accounts
2009-02-15 21:05:59 -04:00
John Wiegley
78e57ac4cf
item_predicate now operates on scope_t
...
This means item_predicate is no longer a template.
2009-02-15 20:56:48 -04:00
John Wiegley
5d4ac67920
chain_xact_handlers now always operators the same
...
Previously, account-wise reports used a subset of the total number of
transaction filters, but this could cause confusing results, and made
some reports immpossible (such as account-wise monthly averages).
2009-02-15 20:45:09 -04:00
John Wiegley
20475478a4
Removed the %! formatting code, as it does nothing
2009-02-15 16:42:14 -04:00
John Wiegley
a87ed245d7
Changed the semantics of the "prices" report
...
The prices report now uses the following scheme:
PAYEE -> name of commodity of price
ACCOUNT -> name of commodity of item
AMOUNT -> price
DATE -> date of pricing
However, the report does not show the payee. The only reason the payee
is set is to enable clever querying. For example:
ledger prices gold # show all known prices for GOLD
ledger prices @gold # show all known prices *in* GOLD
2009-02-13 19:30:53 -04:00
John Wiegley
326cbea4c7
The formatting code no longer justifies values
...
This is done in the value code, which knows -- based on the value's type
-- how best to apply the justification.
2009-02-13 19:27:37 -04:00
John Wiegley
b345a45c9b
Don't print an xact's amount if it was calculated
...
That is, if the user didn't enter an amount for that transaction in
their ledger journal, don't print one out either.
2009-02-13 18:33:28 -04:00
John Wiegley
70344b82e7
Added a "reload" command, for use at the REPL
...
Created a new function, session_t::reread_journal_files, which throws
away all previous state data and reads in the same files again. This is
needed to allow Emacs to communicate with Ledger via the REPL, so that
it tell Ledger when it has made changes to the user's data file.
2009-02-13 05:24:28 -04:00
John Wiegley
60019dc4b4
Changed print report to use format_date
...
Otherwise, Ledger was unable to parse what it had printed.
2009-02-13 02:09:19 -04:00
John Wiegley
f6b93a3f5a
Added a new valexpr function: format_date
...
This can be used to format dates with a specific pattern, such as:
format_date(entry.date, "%Y/%m/%d")
This is used by the print command to ensure that Ledger is able to parse
back what it prints.
2009-02-13 02:04:09 -04:00
John Wiegley
8ee8af3bfb
Restored the "prices" command.
2009-02-12 04:57:19 -04:00
John Wiegley
c328b1b3b2
Turned on the "emacs" command and budgeting, though neither are tested yet.
2009-02-12 03:30:57 -04:00
John Wiegley
6f2e3b8864
Properly handle UTF-8 characters in commodity strings.
2009-02-12 02:34:39 -04:00
John Wiegley
1a030da55d
Rewrote the "entry" command. It's ALIVE!
2009-02-11 19:14:23 -04:00
John Wiegley
44518bc640
Wired up the "entry" command from 2.x, though it still needs to be ported.
2009-02-10 22:37:05 -04:00
John Wiegley
af3be5f964
Wrote the beginnings of a new "stats" command.
2009-02-10 15:57:34 -04:00
John Wiegley
47567307ce
Removed reference to session_t from the iterators module.
2009-02-09 17:41:55 -04:00
John Wiegley
6ca01af594
Fixed the use of --effective and --date-format (-y).
2009-02-09 17:27:54 -04:00
John Wiegley
37a1989ca0
Added a new --collapse-if-zero option.
2009-02-09 15:07:28 -04:00
John Wiegley
02110394b4
Use the report's amount_expr everywhere that computes an xact's amount.
2009-02-09 14:53:29 -04:00
John Wiegley
3ee3b8f327
Recompile the amount_expr before summing account totals.
2009-02-09 14:51:45 -04:00
John Wiegley
2d5ad7dee8
Added support for value expression definitions.
...
Example:
] expr f(x) := x + 100
] expr f(100)
200
2009-02-08 04:30:05 -04:00
John Wiegley
f7f5ed3d0f
Added stub for --pending report flag.
2009-02-08 03:02:02 -04:00
John Wiegley
ffba456113
Several fixes to get the state flags to appear right in "print".
2009-02-07 23:30:40 -04:00
John Wiegley
f857e10ce2
Whitespace fix to the print report.
2009-02-07 22:50:27 -04:00
John Wiegley
fb5fc0e3f9
Don't show a running total in the CSV output. The user will have to manage
...
that themselves in Excel or something.
2009-02-07 19:48:56 -04:00
John Wiegley
df6b02b3ef
Renamed escape to quoted, and fixed up the csv report.
2009-02-07 05:53:22 -04:00
John Wiegley
ea9330adae
Allow value expressions to gain access to option settings.
...
For example, "ledger eval options.limit" prints 0 (for false), but:
"ledger -l hello eval options.limit" print "hello"s, since the value of
options.limit, once set to a value, is that string. For flag options,
such as -Y, eval prints 0 if unset, and 1 if set.
This feature allows value expressions to be conditionalized based on the
presence of user options.
2009-02-07 05:47:21 -04:00
John Wiegley
eb98e0da8b
More revision to the way options are handled; reworked CSV command.
2009-02-07 04:26:30 -04:00
John Wiegley
c1bf4bdf69
Moved the --abbrev-len option to report_t.
2009-02-06 23:38:12 -04:00
John Wiegley
aea84dd9c5
Added two comments, to remind myself to check something.
2009-02-06 23:37:25 -04:00
John Wiegley
8c3369b8ab
Fixed the use of --effective when an entry has no especial effective date.
2009-02-06 22:20:56 -04:00
John Wiegley
cf6babcf90
Restored all the option handlers from 2.6.2, but not the options themselves.
2009-02-06 03:31:41 -04:00
John Wiegley
d853a58f5f
Moved --pager handler back into report_t.
2009-02-05 21:54:46 -04:00
John Wiegley
408b819c6e
Greatly simplified the way option and command handlers are defined.
2009-02-05 21:20:09 -04:00
John Wiegley
37006741d6
Support using Ledger as a script interpretor.
...
The file must begin with '#!/usr/bin/env ledger --script'. You can add a -f
option to the options, but it must come before --script.
2009-02-05 03:49:49 -04:00
John Wiegley
c58cd88299
Reworked how the REPL is handled.
2009-02-05 02:45:26 -04:00
John Wiegley
7d628d88ff
Moved the --pager option to the session object, rather than the report object.
2009-02-04 20:46:45 -04:00
John Wiegley
2d941730b1
Largely removed all of Ledger's use of global variables, for the REPL's sake.
2009-02-04 19:55:27 -04:00
John Wiegley
43c4636d9d
Removed the global references to session->report.
2009-02-03 13:03:10 -04:00
John Wiegley
fb5428ce85
Added support for metadata and tagging, and made regexs a first-class type.
2009-02-01 22:10:32 -04:00
John Wiegley
ae65e8ae05
Moved the pre-commands to their own file, and created new "args" command.
2009-02-01 18:36:28 -04:00
John Wiegley
66b097bda7
Moved the args_to_predicate function to predicate.cc.
2009-02-01 18:35:44 -04:00