Commit graph

819 commits

Author SHA1 Message Date
John Wiegley
2149a8e773 Create a --cache option, for using a binary cache 2009-10-31 00:09:57 -04:00
John Wiegley
63aa8992a8 Moved ownership of master account into journal_t
The journal_t now completely represents the data part of a session.
2009-10-30 19:03:28 -04:00
John Wiegley
a757b19f51 Added serialization methods for most type
This allows journal_t objects to be completed serialized to disk and
deserialized.
2009-10-30 18:06:37 -04:00
John Wiegley
1b8811f997 Removed erroneous throw specifier from period_xact_t 2009-10-30 18:03:40 -04:00
John Wiegley
3a9b7df4e5 date_interval_t now uses a duration_t object
This is instead of using boost::variant.
2009-10-30 18:03:26 -04:00
John Wiegley
4481396913 Added an assert for op_t::left() 2009-10-30 18:02:10 -04:00
John Wiegley
1dce419ba3 The destructor for expr_t doesn't need to be virtual 2009-10-30 18:01:58 -04:00
John Wiegley
fefedefd56 balance_t does not need to refer to const commodities 2009-10-30 18:01:44 -04:00
John Wiegley
7ca80112fc Change the value_t::POINTER type to value_t::SCOPE
scope_t pointers are the only kind that are ever stored in value
objects, so there was no need to make it generic and use boost::any.
2009-10-30 17:57:29 -04:00
John Wiegley
5f2c766e0d Whitespace fix 2009-10-30 17:55:16 -04:00
John Wiegley
cb6f7cd54e Add a position_t object for tracking item positions
It is also optional, which is useful for generated items.
2009-10-30 17:54:54 -04:00
John Wiegley
924c0a3013 Fixed a comment, and some whitespace 2009-10-30 17:48:31 -04:00
John Wiegley
f3565495b1 Added missing check in item_t::get_actual 2009-10-30 17:48:28 -04:00
John Wiegley
20a6d51cf1 Renamed bigint_t::refc, for consistency with value_t 2009-10-29 05:37:39 -04:00
John Wiegley
55f5868380 Setting --date-format in ~/.ledgerrc works again 2009-10-29 00:52:51 -04:00
John Wiegley
2b2ffb7787 If isatty is available, no colors/pager for non-ttys 2009-10-29 00:23:57 -04:00
John Wiegley
52433e56e5 Fixed "show" keywords, and added // syntax 2009-10-28 23:44:57 -04:00
John Wiegley
218a333e83 Fixes to the new query expression parser 2009-10-28 23:07:03 -04:00
John Wiegley
47df7dd60e Rewrote the report query parser
It is now a full parser that parses report queries directly into value
expression trees.  These then get rendered into text so that other
options may extend the expression.
2009-10-28 18:40:31 -04:00
John Wiegley
9408f3cbae Changed some debug text 2009-10-28 18:39:17 -04:00
John Wiegley
c26daee2cf Pushing null values into a sequence is legitimate 2009-10-28 18:39:09 -04:00
John Wiegley
2aef4f8884 Render an expr if expr_t::text() has no string 2009-10-28 18:38:33 -04:00
John Wiegley
773db54d21 Fixed a gcc warning 2009-10-28 02:30:17 -04:00
John Wiegley
0872f80d97 Make "less" the default pager, similar to Git 2009-10-28 02:29:22 -04:00
John Wiegley
16dbd019bc Colorization at the terminal now on by default 2009-10-28 02:13:54 -04:00
John Wiegley
a3a40994d2 Added some whitespace for clarity 2009-10-28 01:58:41 -04:00
John Wiegley
8b3a75fbbf The default ledger file is now ~/.ledger 2009-10-28 01:50:55 -04:00
John Wiegley
18a1c8a3fb No more trailing spaces in the print report 2009-10-28 01:43:04 -04:00
John Wiegley
a53874d56c Disabled a memory check when --verify is on
The check is not complete enough to be trustworthy.
2009-10-28 01:27:20 -04:00
John Wiegley
da0f3bf14a Revised the forecasting logic
There were cases involving sorting when the old logic could go on
forever.
2009-10-28 01:19:41 -04:00
John Wiegley
0a6f1a6328 -D now means --daily, not --deviation
Because --daily is more commonly desired, and fits the pattern of the
other periodic switches:

  -D  --daily
  -W  --weekly
  -M  --monthly
  -Y  --yearly

Only --quarterly doesn't have its own short option.
2009-10-28 01:19:16 -04:00
John Wiegley
aa45d2d38c Further improvements to handling temporaries 2009-10-28 01:18:27 -04:00
John Wiegley
cc532c31aa Added TRUE_CURRENT_TIME() macro
Because CURRENT_TIME() can now be a past date if --now is used.
2009-10-28 01:17:54 -04:00
John Wiegley
559566751d Sort by default unless --unsorted is selected 2009-10-28 01:17:10 -04:00
John Wiegley
b7233edd8a Added some additional assertion tests re: temps 2009-10-28 01:15:57 -04:00
John Wiegley
6c9cf1237e Whitespace change 2009-10-27 22:25:19 -04:00
John Wiegley
432be9e989 Removed unnused parameter to value_t::print 2009-10-27 22:25:13 -04:00
John Wiegley
828a1e8bf9 Added --actual-dates, for overriding --effective
This is so that if someone has --effective in their .ledgerrc, they can
force the use of actual dates.
2009-10-27 21:34:08 -04:00
John Wiegley
07cca71893 Renamed two methods, for consistency's sake 2009-10-27 21:33:33 -04:00
John Wiegley
ab433d28e0 Support a --now option, for testing purposes
This sets Ledger's notion of the "current time" to the given date.  This
makes it possible to have stable output from budgeting and forecasting
reports, for the sake of baseline tests.
2009-10-27 21:32:55 -04:00
John Wiegley
aae134f692 Fixed a display issue with the balance report 2009-10-27 19:01:55 -04:00
John Wiegley
cbf8f355d1 In budget report, color large percentages magenta 2009-10-27 17:30:53 -04:00
John Wiegley
12616dd030 Fixed an error with post-simplified math 2009-10-27 17:30:34 -04:00
John Wiegley
3ea7fbd5f6 If doing math between amount and balance, simplify 2009-10-27 08:30:59 -04:00
John Wiegley
63ae4531b8 Support balancing of postings with integer amounts 2009-10-27 08:30:59 -04:00
John Wiegley
1f379eff70 Fixed some debug code 2009-10-27 08:30:59 -04:00
John Wiegley
fd23b56a21 Added a new "cleared" report
This is a balance report with three columns:

  Current balance | Cleared balance | Last cleared date
2009-10-27 08:30:59 -04:00
John Wiegley
88460db2fb Added a new "budget" report
This is a balance report with four columns:

  Amount spent |  Budgeted Amount | Difference | Percentage
2009-10-27 08:30:59 -04:00
John Wiegley
a8768587c8 Allow any amount to be multipled by another
The result carries the commodity of the first amount, or the second if
the first had no commodity.
2009-10-27 08:30:59 -04:00
John Wiegley
4bdc0a663c Added debug code 2009-10-27 08:30:59 -04:00