summaryrefslogtreecommitdiff
path: root/format.h
Commit message (Collapse)AuthorAgeFilesLines
* Rearranged the code a bit, breaking walk.cc into several different files:John Wiegley2008-08-031-1/+0
| | | | | | | | | | compare compare_items<T> handler item_handler<T> iterators used to iterators sets of journal objects filters derived from item_handler, they morph the result set output derived from item_handler, these do the printing Also, created a new 'help' files which contains just Ledger's help text.
* Added several missing copyright notices.John Wiegley2008-08-031-0/+31
|
* Re-enabled almost all of the old reporting code, which means it compiles nowJohn Wiegley2008-08-021-0/+3
| | | | within the new scheme.
* More infrastructure work toward getting journal objects to provide their ownJohn Wiegley2008-08-021-4/+3
| | | | information in an abstract manner.
* Formatting now relies exclusively on value expressions.John Wiegley2008-08-021-2/+1
| | | | | | | | | | | | | | | | | | | | What this means is that the utility code, basic math, value expressions, string formatting and option handling are now entirely decoupled from the rest of the code. This decoupling not only greatly simplifies the more basic parts of Ledger, but makes it much easier to test and verify its completeness. For example, when the formatting code %X is seen by the format parser, it turns into a call to the expression function fmt_X, which must be defined when the format string is first compiled against an object. If that object is a transaction, the transaction's scope will be the first to have a chance at providing a definition. If an account is being reported, it will. If neither does, the next scope in sequence -- soon to be the current report -- will, and then the session object that "owns" the current Ledger session. In 2.6, the formatting code new everything about transaction and accounts, and relied on flags to communicate special details between them. Now the transaction will offer the details for its own reporting, while the formatter worries only about strings and how to output them.
* Added a new 'format' debugging command, which dissects the formattingJohn Wiegley2008-08-011-2/+11
| | | | expression in its argument.
* Simplified the format_t code so that it no longer references any particularsJohn Wiegley2008-08-011-178/+56
| | | | about journal objects. This is all done through value expressions now.
* Revised the way that exceptions are thrown around. Instead of context being aJohn Wiegley2008-07-311-7/+1
| | | | | | | complicated string of pointers, it's now just a global block of text that gets appended to as the error is being thrown up, and can be displayed at the catch point if desired. There are almost no cases where a thrown exception will not result in an error message being displayed to the user.
* The next value expression scheme is working, but the individual accessorJohn Wiegley2008-07-291-1/+1
| | | | functions for each of the journal objects has yet to be ported.
* Moved around and renamed a very large amount of code in order to rationalizeJohn Wiegley2008-07-291-10/+10
| | | | the way that value expressions extract information from journal objects.
* Value expression architecture is now rewritten, but the functionality of theJohn Wiegley2008-07-291-3/+3
| | | | | | | old system (for example, the meaning of 'a') has yet to be restored. In the new scheme, this will be done by definition a function outside of the value expression logic, rather than the tight coupling between journal innards and value expressions that occurred in 2.x.
* 'make check' is now working again. Also, conversion from amount_t to/fromJohn Wiegley2008-07-271-3/+3
| | | | | | | double has been disabled, because I am no longer packaging the gdtoa library with Ledger (because double conversion really has nothing to do with what Ledger does). If you wish to use it, you can find gdtoa in cpp-rewrite-2006, under a sub-directory of the same name.
* A large body of work to get the register report printing again, but stillJohn Wiegley2008-07-271-8/+8
| | | | fails due to the fact that 2.x value expression syntax is not restored.
* --verify works again, but the memory totals at the end still need work.John Wiegley2008-07-261-13/+27
|
* Brought in the final round of 3.0 code, although it does not compile yet:John Wiegley2008-07-201-3/+3
| | | | report, session, parts of xpath, main, journal, option.
* The code is compiling again, but it's far from being able to run yet.John Wiegley2008-05-081-21/+21
|
* Added elision styles.John Wiegley2008-04-131-0/+13
|
* Tons of corrections and fixes to value expressions and lot figures.John Wiegley2008-04-131-4/+2
|
* *** empty log message ***John Wiegley2008-04-131-9/+12
|
* Added --ansi and --ansi-invert options.John Wiegley2008-04-131-0/+3
|
* *** empty log message ***John Wiegley2008-04-131-0/+7
|
* Added much better error location.John Wiegley2008-04-131-1/+2
|
* Added a DATETIME value type.John Wiegley2008-04-131-6/+0
|
* *** empty log message ***John Wiegley2008-04-131-0/+4
|
* (read_binary_journal): Fixed a tiny memory leak when reading from aJohn Wiegley2008-04-131-6/+6
| | | | binary cache.
* Checked in all major updates.John Wiegley2008-04-131-1/+1
|
* Transactions now track their beginning and ending position, as doJohn Wiegley2008-04-131-4/+8
| | | | | | | entries. The new format strings %xB %xE %xb %xe can be used to display those values relative to a transaction. The Emacs module now relies on this support to exactly determine where a transaction is, rather than the Elisp logic it relied on previously.
* Removed Python integration support.John Wiegley2008-04-131-39/+2
|
* See ChangeLogJohn Wiegley2008-04-131-4/+6
|
* Support has been added for clearing of individual transactions. SetJohn Wiegley2008-04-131-0/+2
| | | | `ledger-clear-whole-entries' in Emacs to revert to the old behavior.
* (class format_account): Fixed initialization orderJohn Wiegley2008-04-131-2/+2
|
* (struct element_t): Added BEG_LINE and END_LINE.John Wiegley2008-04-131-0/+2
|
* Moved `format_xml_entries' to xml.cc.John Wiegley2008-04-131-18/+0
|
* (format_xml_entries): Moved the stream finalization to flush(), whereJohn Wiegley2008-04-131-1/+3
| | | | it belongs.
* Added pystream_handler_wrap class, which wraps an item_handler takingJohn Wiegley2008-04-131-1/+38
| | | | | | a std::ostream so that it can take a PyObject* instead. Relies on pyfstream.h, which allows Python file objects to be treating as I/O streams.
* (parse_elements): Added %S, %B and %E elements, for printing theJohn Wiegley2008-04-131-0/+3
| | | | source path, beginning and ending positions of an entry.
* updated to version 2.0John Wiegley2008-04-131-0/+198
|
* changesJohn Wiegley2008-04-131-182/+0
|
* fixed several segfaults (using new option-scrambler test harness)John Wiegley2004-09-271-3/+4
|
* added a custom transaction formatter, format_entries, used by "print"John Wiegley2004-09-241-1/+18
|
* changed ledger.h to journal.h; moved adding of autoxact hookJohn Wiegley2004-09-231-1/+1
|
* passing --enable-python to configure is now required for python supportJohn Wiegley2004-09-201-5/+5
|
* the "bal" command mostly works now in main.py; added a finalize_entry hookJohn Wiegley2004-09-201-77/+22
|
* some changes in the way formatting strings are handled; for simplicityJohn Wiegley2004-09-181-13/+20
|
* changed the management of "xdata" in walk.hJohn Wiegley2004-09-171-20/+12
|
* make config_t visible to Python; almost possible to implement main.cc in main.pyJohn Wiegley2004-09-141-0/+2
|
* added support for ValueExpr objects to python.John Wiegley2004-09-101-1/+1
|
* added python support for Format() objects. see main.pyJohn Wiegley2004-09-101-7/+7
|
* the amount/balance/value logic is now a library, completely separate from ledgerJohn Wiegley2004-08-291-26/+26
|
* a bit of a reorg; still much more to goJohn Wiegley2004-08-291-0/+1
|