Commit graph

264 commits

Author SHA1 Message Date
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
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
307a933180 When outputting a calculated value expression with "parse", show XML too. 2009-02-01 01:47:36 -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
e1ce024546 Added some missing break statements. 2009-01-31 14:51:30 -04:00
John Wiegley
6423e44c11 Pre-commands (like "parse") now correctly recognized. 2009-01-31 01:21:46 -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
900a92e115 Added support for Unicode text in Ledger files, thanks to 'utfcpp', which can
be located at http://utfcpp.sourceforge.net.
2009-01-23 19:50:00 -04:00
John Wiegley
7ee583a448 Correctly handle "bare parentheses" in the command regexps. 2009-01-23 03:26:47 -04:00
John Wiegley
0b9f22b4d2 Redid the way command-line arguments are processed. Before, Ledger used - and
-- to mean special things after the command verb was seen.  But now, what used
to be specified as this:

  ledger -n reg cash -payable -- shell

Is now specified as this:

  ledger reg -n cash not payable @shell

It could also be specified as:

  ledger -n reg \(cash and not payable\) and @shell
2009-01-22 16:27:24 -04:00
John Wiegley
3682ea6f8c Added support for "anonymizing" any report with --anon. 2009-01-20 20:05:41 -04:00
John Wiegley
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
7ffe0e1539 Added back several cost reporting options. 2009-01-19 22:28:34 -04:00
John Wiegley
5e25a6d838 Pass in the total_expr directly to changed_value_xacts. 2009-01-19 22:28:17 -04:00