Commit graph

50 commits

Author SHA1 Message Date
John Wiegley
76f97a63da Added parsing support for the many value directives 2012-03-07 05:20:42 -06:00
John Wiegley
e2afc783db Increased file copyrights to 2012 2012-02-29 22:32:23 -06:00
John Wiegley
2f50e30b89 Scopes can now provide a description of themselves
This isn't being used yet, but it likely will to improve the information
presented to users if their value expressions fail to compile or
evaluate.
2010-06-24 19:53:59 -04:00
John Wiegley
5ec85538d9 account_t::add_post resets family_details.gathered 2010-06-13 01:03:48 -04:00
John Wiegley
dea2aed0b5 Untabified all source files 2010-06-11 17:02:25 -04:00
John Wiegley
ab416f759f Updated copyrights to 2003-2010 2010-03-05 22:14:10 -05:00
John Wiegley
cd284f98c8 Added an ACCOUNT_GENERATED flag 2009-11-18 23:12:31 -05:00
John Wiegley
48dc654eda Added has_xdata() methods for journal_t and xact_t 2009-11-12 05:11:06 -05:00
John Wiegley
394c7bd8df Removed a bunch of empty comments 2009-11-08 14:59:11 -05:00
John Wiegley
3dc200983d Moved xdata clearing code into each type proper 2009-11-05 02:27:39 -05:00
John Wiegley
40a430139e Transactions, etc., are now accessed by iterators 2009-11-05 02:22:17 -05:00
John Wiegley
78e6770c4c Segregated symbols into 5 separate namespaces
The different namespaces are:

  Function      Value expression functions, which receive a "context"
  Option        Command-line options
  Precommand    Commands which are invoked before reading the journal
  Command       Commands which are invoked after reading the journal
  Directive     Directives that occur at column 0 in a data file

This greatly eases the ability for Python uses to add intercept hooks to
change how the basic Ledger module functions.  An example of what should
be possible soon:

  import ledger

  def my_foo_handler(value):
      print "--foo received:", value

  ledger.add_handler(ledger.Option, "foo=", my_foo_handler)
2009-11-04 20:40:48 -05:00
John Wiegley
b14c814fec Whitespace fix 2009-11-04 20:40:42 -05:00
John Wiegley
ff5506801d Whitespace fix 2009-11-02 17:19:53 -05:00
John Wiegley
3a0879aff0 Added "reported posts" into account xdata
This is necessary because sometimes, a post from one account will get
reported as though it were in another account (this happens with
--budget, to show child account postings within their parent account).
In that case, the account needs to remember which postings have been
reported as being within it, so that it can add these amounts to its own
total in the balance report.
2009-11-02 01:40:07 -05:00
John Wiegley
3adfaf0eaa Removed unnecessary forward declaration 2009-10-31 17:54:30 -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
07cca71893 Renamed two methods, for consistency's sake 2009-10-27 21:33:33 -04:00
John Wiegley
0fdb900c99 Redid the way temporaries are handled in filtering 2009-10-27 08:30:39 -04:00
John Wiegley
20e6451ff1 Removed two invalid comments 2009-10-27 05:22:03 -04:00
John Wiegley
bf30f989f6 Removed some dead code 2009-06-27 01:32:46 +01:00
John Wiegley
77faaa926f Rewrote the balance report again, to fix --depth 2009-03-08 04:15:48 -04:00
John Wiegley
f340d50362 Revised the ways statistics are computed
It is no longer done in calc_posts, but recursively on each account.
This allows value expressions to ask statistical questions, like
"earliest cleared posting?" (TBD) from any specific account, computed
lazily.
2009-03-06 04:07:25 -04:00
John Wiegley
2728e4d55e Changed the way that account balances are computed 2009-03-06 00:27:29 -04:00
John Wiegley
6ac79137f7 Don't compute running total for balance reports 2009-03-05 23:53:07 -04:00
John Wiegley
c11d325712 Reduced the #include dependency tree to a minimum 2009-03-04 23:53:43 -04:00
John Wiegley
1540ccec01 Gather account details in a details_t structure 2009-03-03 20:28:09 -04:00
John Wiegley
eb45a0a4f4 Normalized how account totals are calculated 2009-03-03 17:08:11 -04:00
John Wiegley
38122c2224 Corrected warnings g++-4.3.3 was complaining about 2009-02-28 04:54:54 -04:00
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
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
4ec2dfeef1 Added --flat option, to flatten the balance report 2009-02-17 21:19:31 -04:00
John Wiegley
93d195f1d9 Only display a final balance total if necessary
In the case where only one top-level account is being reported, there is
no reason to duplicate the total balance shown.
2009-02-17 19:48:42 -04:00
John Wiegley
ce8442a30d Rewrote how the balance command displays accounts
The previous method bent over backwards to try and avoid multiple passes
through the account tree, but the result was a horribly complicated mess
that never ceased to dredge up obscure bugs.  The new scheme is a very,
very simple two-pass algorithm, with multiple subpasses during the
second pass for refining the output based on the report options.
2009-02-17 04:49:10 -04:00
John Wiegley
e6934fbd3c Removed an unused extended account xdata flag 2009-02-16 21:23:12 -04:00
John Wiegley
092542a3bf Sorting expr now uses "-" to indicate descending
For example: -S payee,-date sorts 1) ascending by payee, then 2)
descending by date.
2009-02-12 20:45:33 -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
f50def86c4 Moved get_partial_name from format.cc into account_t, where it belongs. 2009-02-08 23:28:30 -04:00
John Wiegley
f4c7f86e21 Removed unnused account_t::ident. 2009-02-07 18:41:06 -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
59a080cdb6 Changed many uses of "unsigned long" to std::size_t. 2009-02-01 18:33:46 -04:00
John Wiegley
1ece3f8b1c Added documentation stubs for all include files and classes. 2009-01-31 15:28:23 -04:00
John Wiegley
05c77351e4 Stopped using the generic "unsigned int" in favor of more specific types. 2009-01-29 18:23:57 -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
0b206e86ef Added a forward declaration for session_t. 2008-08-15 17:43:58 -04:00
John Wiegley
ba02f0a450 Fixed a memory leak that would show up if --verify --verbose was running and
an error or exception occurred.
2008-08-10 01:41:59 -04:00
John Wiegley
c9d575abce Basic balance reports are working again! 2008-08-10 00:57:29 -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 account.h (Browse further)