Commit graph

63 commits

Author SHA1 Message Date
John Wiegley
48d985aacc Restored the --average (-A) report option 2009-02-15 15:50:15 -04:00
John Wiegley
3ef07ae39f Added a helper method for setting expr options
Now one does:

    parent->HANDLER(display_total_).set_expr("total");

Rather than what was required previously:

    parent->HANDLER(display_total_).on("total");
    parent->HANDLER(display_total_).expr = "total";
2009-02-15 15:46:03 -04:00
John Wiegley
6b515c0cb3 Added #if 0'd stub code from 2.x's option.cc 2009-02-14 04:55:44 -04:00
John Wiegley
1933bb2ead Restored the --actual and --real options 2009-02-14 04:46:53 -04:00
John Wiegley
7fb55eedef Re-enabled periodic reporting options (-M, etc) 2009-02-14 04:31:15 -04:00
John Wiegley
f15ae10a52 Enabled --cleared, --uncleared and --pending
Note that the --uncleared flag includes --pending, since it specifically
means "not yet cleared".
2009-02-13 20:03:58 -04:00
John Wiegley
2522f15437 Re-activated the budgeting flags
However, the budget reports themselves still need to be tested.
2009-02-13 06:13:19 -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
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
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
9039cf4986 Removed an unneeded method declaration. 2009-02-10 05:05:51 -04:00
John Wiegley
75c7fbf23e When -V is used, show the market value for the amount as well as the total. 2009-02-09 18:21:29 -04:00
John Wiegley
37a1989ca0 Added a new --collapse-if-zero option. 2009-02-09 15:07:28 -04:00
John Wiegley
391300aea2 Had to step back from a change that was breaking regular reports. 2009-02-09 00:57:56 -04:00
John Wiegley
0cb8049c41 Pass amount expression to calc_xacts, to be used for computing the total. 2009-02-08 23:57:30 -04:00
John Wiegley
63f9d97dda Correctly compile the expressions passed to -t and -T. 2009-02-08 20:06:25 -04:00
John Wiegley
59aefb5a3b Inverted the default display mode for balance reports. Use -n to collapse
them, as this fits better with what -n does for register reports.
2009-02-08 05:18:46 -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
55fb4e4acf Reimplemented -B, -V, -I and -O. 2009-02-07 19:48:42 -04:00
John Wiegley
4a28e1765c Fixed some #include ordering issues. 2009-02-07 19:36:51 -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
66d007db9d Fixed the way that --limit, --only and --display are handled. 2009-02-07 04:55:51 -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
e8d2409430 Removed --reconcile and --reconcile-date. 2009-02-07 00:03:58 -04:00
John Wiegley
c1bf4bdf69 Moved the --abbrev-len option to report_t. 2009-02-06 23:38:12 -04:00
John Wiegley
cdcd52dbaf Removed the nearly unknown --descend and --descend-if options. 2009-02-06 23:36:32 -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
3f960be96c Removed all references to the old binary cache. 2009-02-04 20:57:14 -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
c1cb06e009 Updated some internal documentation. 2009-02-02 15:54:28 -04:00
John Wiegley
9540406af1 Simplified error context handling. 2009-02-02 00:24:26 -04:00
John Wiegley
59a080cdb6 Changed many uses of "unsigned long" to std::size_t. 2009-02-01 18:33:46 -04:00
John Wiegley
e61696a91b Moved chain_xact_handlers into its own file, chain.h and chain.cc. 2009-02-01 18:29:30 -04:00
John Wiegley
e4b1359959 Restored the --pager option. 2009-02-01 01:47:21 -04:00
John Wiegley
9d267fa133 Inspired by Omari Norman, I've rewritten main.cc so it's easy to approach. 2009-01-31 18:52:34 -04:00
John Wiegley
1ece3f8b1c Added documentation stubs for all include files and classes. 2009-01-31 15:28:23 -04:00
John Wiegley
cdb123974c Created a new stream.h file for dealing with output streaming. 2009-01-30 00:40:46 -04:00
John Wiegley
eb04b8be85 Changed the order in which options are processed, to provide for the correct
overrides.

  1. Global defaults
  2. Environment variable settings
  3. Initialization file
  4. Command-line arguments

Whatever is later in the list overrides what is earlier.
2009-01-21 18:54:06 -04:00
John Wiegley
3682ea6f8c Added support for "anonymizing" any report with --anon. 2009-01-20 20:05:41 -04:00