Commit graph

38 commits

Author SHA1 Message Date
John Wiegley
944c63e6f2 The Great Renaming, Part II
The last commit did not contain the majority of changes because of a
slight mishap.  This contains the real changeset.
2009-02-23 19:07:30 -04:00
John Wiegley
e124811d8a Added --exchange (-x) option
This is like -V, except it lets you specify the goal commodity to report
in terms of, for example:

    reg -x CAD
2009-02-22 04:51:11 -04:00
John Wiegley
96782df17c Enabled --current option 2009-02-20 19:10:34 -04:00
John Wiegley
f2f52066d2 Added a --strict session option
When enabled, if any accounts or commodities are seen in an uncleared
transaction, which were not seen previously in a cleared or pending
transaction or a textual directive dealing with accounts or commodities,
a warning is generated about the unknown item.
2009-02-19 22:36:08 -04:00
John Wiegley
d0a664d102 Fixed several unused value and param warnings 2009-02-16 16:55:18 -04:00
John Wiegley
2ec9b6a7b2 Split up session_t::reread_journal_files()
You now call session_t::close_journal_files() followed by
session_t::read_journal_files().
2009-02-15 19:32:15 -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
4f5799c216 If a ledger file is specified in .ledgerrc, ignore the environment. 2009-02-08 19:54:39 -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
71591555fd Added --leeway option (for quote downloading) into session_t. 2009-02-07 21:55:51 -04:00
John Wiegley
589eabd8e6 Threw away the "multiple parser" infrastructure. 2009-02-07 17:45:48 -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
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
b7632e7475 Removed an unnused member. 2009-02-05 02:45:29 -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
ea1e898eec Minor fixes to the REPL when using libedit. 2009-02-04 19:58:56 -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
59a080cdb6 Changed many uses of "unsigned long" to std::size_t. 2009-02-01 18:33:46 -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
da1cd7c4bc Whitespace cleanup. 2009-01-29 18:24:10 -04:00
John Wiegley
a69649fb7f Switched over to using irrxml for parsing XML, rather than expat. 2009-01-24 04:49:58 -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
887828a40c Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
John Wiegley
fdc7a4e4c5 Factored common parts of entry_t and xact_t into new item_t 2008-09-19 08:06:20 -04:00
John Wiegley
891d7b87c8 Removed some dead code and updated the binary streaming code for op_t and
value_t.
2008-08-17 03:15:57 -04:00
John Wiegley
0259ee32c8 Added a session_t::clean_all method, for clearing all xdata within a session. 2008-08-16 04:25:02 -04:00
John Wiegley
6555f45c9d Moved a block of code from report to session, though it's still commented out. 2008-08-14 02:15:11 -04:00
John Wiegley
5f0b25ab9a The -f flag now works again. 2008-08-13 03:55:16 -04:00
John Wiegley
a42ecd5938 Removed all use of USE_BOOST_PYTHON from the main Ledger sources. When Python
support is enabled for use within Ledger, it will do so through the current
scoping mechanism.
2008-08-08 18:50:21 -04:00
John Wiegley
f6f4a46cf5 Moved around most of the files so that source code is in src/, documentation
is in doc/, etc.
2008-08-05 18:05:49 -04:00
Renamed from session.h (Browse further)