John Wiegley
4681e58d7f
Converted the Ledger build system to use CMake
2012-05-20 04:48:05 -05:00
John Wiegley
a38ed141c1
Switched to Boost.PropertyTree for XML generation
2012-05-18 01:31:01 -06:00
John Wiegley
c0fa144ca5
Added "last_checkout_cleared" valexpr variable
2012-05-07 01:53:53 -05:00
John Wiegley
08a7f5ae07
Changed a const string map key to string
2012-04-28 05:23:49 -05:00
John Wiegley
1e572d508d
Add 'data' member to account/journal objects
2012-04-13 15:16:27 -05:00
John Wiegley
79ecbf0c17
Corrected an uninitialized memory bug
2012-03-19 22:28:00 -05:00
John Wiegley
f9088f8836
Added --verify-memory and missing TRACE_[CD]TOR calls
2012-03-18 01:01:30 -05:00
John Wiegley
2932e05c18
Account valexprs: earliest_checkin, latest_checkout
...
Lets you access the earliest/latest checkin/checkout times for timelog
entries in an account. Will be NULL if the account doesn't contain any.
2012-03-13 03:42:11 -05:00
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