Commit graph

120 commits

Author SHA1 Message Date
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
ccedf7d57f Parse != as !(==) and !~ as !(=~), for simplicity's sake. 2009-01-22 16:25:51 -04:00
John Wiegley
4e64364d3a Removed an extra call to session.read_init(). 2009-01-22 16:15:12 -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
e4c7b1753b Resolve outstanding stdin parsing issues by buffering the data. 2009-01-21 18:30:37 -04:00
John Wiegley
2858a9999a Added missing zeroes in the sha1 to text generation. 2009-01-20 20:13:05 -04:00
John Wiegley
3bf354946f xact_t pointer list when copy constructing an entry, which leads to crashes
during deconstruction (due to double-free'ing transactions).
2009-01-20 20:06:21 -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
906d8004ae Added a function for account_t to get the account's total cost. 2009-01-19 22:31:04 -04:00
John Wiegley
c6303ab9ef Fixed the market valuation function for balances. 2009-01-19 22:30:46 -04:00
John Wiegley
7cc64c04a5 Don't calculate a reflexive price if a commodity has been marked as NOMARKET. 2009-01-19 22:30:34 -04:00
John Wiegley
ad9a469a2a Got changed_value_xacts working again. 2009-01-19 22:30:11 -04:00
John Wiegley
ce49245667 Make report_t a friend of format_t, so it can set the ANSI options. 2009-01-19 22:29:55 -04:00
John Wiegley
72c09cc0bf Generate a better error if a function operand is invalid. 2009-01-19 22:29:36 -04:00
John Wiegley
efc923acb4 Allow var_t<datetime_t>. 2009-01-19 22:29:17 -04:00
John Wiegley
bcfd6d1db9 When setting a scope's argument, convert the list to a sequence if it's not
already.
2009-01-19 22:29:09 -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
John Wiegley
e9a5a9bd77 Added back the -V (market value) option. 2009-01-19 22:28:00 -04:00
John Wiegley
83648af19f Added the concept of a "display_total", used for showing the values in the
totals column of both the register and balance reports.  This is different
from the internal calculated total, which is still "total_expr".
2009-01-19 22:27:10 -04:00
John Wiegley
5c17da6572 Instead of doing price annotations in the textual parser, use
commodity_t::exchange.
2009-01-19 22:25:12 -04:00
John Wiegley
d9197fc2e5 Changed COMMODITY_STYLE_NOMARKET TO COMMODITY_NOMARKET. 2009-01-19 22:24:56 -04:00
John Wiegley
14b3eb89f5 Added methods for getting the cost of an xact. 2009-01-19 22:23:45 -04:00
John Wiegley
091144e5e8 Don't look for an xact's state in its entry if there isn't one. 2009-01-19 22:23:27 -04:00
John Wiegley
adf8cfbbc0 Can now determine the market value of balance pairs, even if stored within
value_t objects.
2009-01-19 22:23:02 -04:00
John Wiegley
52e140d14e Lookup commodity prices recursively, searching for the newest data. 2009-01-19 19:59:49 -04:00
John Wiegley
5cc99a6972 Changed COMMODITY_STYLE_BUILTIN to COMMODITY_BUILTIN, and added new flag
COMMODITY_WALKED, for avoiding infinite recursions during price lookups.
2009-01-19 19:58:47 -04:00
John Wiegley
009dd3969a Added a recursive, date-based commodity price searching capability. This
makes it possible to find all possible prices for a commodity by walking the
map of pricing relationships to all other commodities, even if the relation is
distant.
2009-01-19 17:48:27 -04:00
John Wiegley
dc91fdeff2 Added argument to amount_t::value() for request a market value in terms of a
specific commodity.
2009-01-19 17:47:46 -04:00
John Wiegley
60f9748da1 Create an unrounded global amount variable 'one' for creating inverse price
mappings.
2009-01-19 16:24:06 -04:00
John Wiegley
0ec53e4a6c Allow the environment variable LEDGER_DEBUG to enable debugging. 2009-01-19 16:23:17 -04:00
John Wiegley
3bea2b1181 Output newlines between entries using format strings, not hard-coded. 2009-01-14 00:32:37 -04:00
John Wiegley
97d7896069 Whitespace fix. 2009-01-14 00:32:13 -04:00
John Wiegley
93f884b5f2 The cleared or pending flag of a transaction overrides the flag for the entire
entry only if it is "more" cleared.
2009-01-14 00:32:02 -04:00
John Wiegley
c9959f2008 Added a missing call to _dup() in amount_t::in_place_round. Thanks to unit
testing!
2008-11-23 23:37:42 -04:00
John Wiegley
1921f01189 Change default precision extension back to 6, rather than rewriting all of the
unit tests.  6 was good enough.
2008-11-23 23:37:24 -04:00
John Wiegley
a1717b6dd5 Needed to port skanthak's last commit to the master branch's code base. 2008-11-23 23:37:01 -04:00
John Wiegley
c172281858 Abstracted precision extension constant, and added a note that precision must
be handled differently, since paying attention to places after the decimal is
not enough.
2008-11-23 19:15:32 -04:00
Sebastian Kanthak
7ce1c4e5a9 Fix --reconcile by terminating transaction list correctly
when a match is found.
2008-11-23 19:08:38 -04:00
John Wiegley
5d41388ff3 Corrected the way that scopes are found so that xact_t can also be found as an
item_t (which it also is).
2008-10-29 02:00:00 -06:00
John Wiegley
b5386b2534 Added code to recursively search for a price in a given commodity. 2008-09-25 13:59:01 -04:00
John Wiegley
6007e3cbfe Did more restructing of commodity price histories, although the completed
find_price does not work yet.
2008-09-21 10:26:38 -04:00
John Wiegley
79a8fc5a87 Created several alternate 'value' methods to support the upcoming commodity
valuation changes.
2008-09-21 07:56:23 -04:00
John Wiegley
697f6a6bce Began initial work to support specifying a series of commodities to -V. 2008-09-20 14:46:18 -04:00
John Wiegley
e914b476e9 Commented out some dead code. 2008-09-20 13:48:47 -04:00
John Wiegley
1bbb6933af Cleaned up the way that commodity pricing is handled. 2008-09-20 13:48:36 -04:00
John Wiegley
0e95974360 Changed some of the transaction flags, since all must fit in 8 bits. 2008-09-19 08:31:17 -04:00
John Wiegley
eb425536d4 Renamed a variable to be more consistent. 2008-09-19 08:30:17 -04:00
John Wiegley
a374979aaa Changed debug class ledger.textual.parse to just textual.parse. 2008-09-19 08:10:13 -04:00