summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* The "xact" variable now returns null for accountsJohn Wiegley2009-02-153-1/+11
|
* Improved handling of --empty optionJohn Wiegley2009-02-153-31/+36
| | | | | | For example, in period reports null transactions are only generated for empty periods if --empty is used. Otherwise, the presence of such transactions can get confusing.
* item_predicate now operates on scope_tJohn Wiegley2009-02-158-38/+35
| | | | This means item_predicate is no longer a template.
* chain_xact_handlers now always operators the sameJohn Wiegley2009-02-153-88/+81
| | | | | | Previously, account-wise reports used a subset of the total number of transaction filters, but this could cause confusing results, and made some reports immpossible (such as account-wise monthly averages).
* The format code %C is now equal to %(fmt_C)John Wiegley2009-02-152-7/+9
|
* Removed an unused functionJohn Wiegley2009-02-151-6/+0
|
* Fixed a call to value_t::cast to use in_place_castJohn Wiegley2009-02-151-3/+3
|
* Whitespace fixesJohn Wiegley2009-02-151-3/+3
|
* Split up session_t::reread_journal_files()John Wiegley2009-02-153-5/+4
| | | | | You now call session_t::close_journal_files() followed by session_t::read_journal_files().
* If a boolean value is to an amount, use 1 or 0John Wiegley2009-02-151-0/+3
|
* Added 'count' and 'subcount' props for accountsJohn Wiegley2009-02-151-1/+21
|
* Strip annotations from the "parse" resultJohn Wiegley2009-02-151-1/+1
| | | | This way the value shown follows the current reporting options.
* Change a few calls to on() to use set_expr()John Wiegley2009-02-151-6/+5
|
* Removed the %! formatting code, as it does nothingJohn Wiegley2009-02-153-13/+8
|
* Parse '/' in an operator context as "div"John Wiegley2009-02-156-24/+22
|
* Removed "total_cost" valexpr, and value_t::costJohn Wiegley2009-02-154-38/+4
| | | | | Since cost reports are now calculated by setting the amount_ expression, there is no need to track a separate "total cost" entity.
* Restored the --average (-A) report optionJohn Wiegley2009-02-151-1/+5
|
* Added a helper method for setting expr optionsJohn Wiegley2009-02-151-14/+26
| | | | | | | | | | | Now one does: parent->HANDLER(display_total_).set_expr("total"); Rather than what was required previously: parent->HANDLER(display_total_).on("total"); parent->HANDLER(display_total_).expr = "total";
* Corrected double problem in period reportsJohn Wiegley2009-02-151-6/+2
| | | | | xact_t::add_to_value, in cases where the xact had a "compound" total, was adding transaction values to the running total twice.
* Changed debug category op.calc to expr.calcJohn Wiegley2009-02-151-2/+2
|
* Added xact_t::count memberJohn Wiegley2009-02-153-2/+17
| | | | | | This allows reports to access the "whicheth" index of the reported transaction. It's used mainly by the --average report, which divides the running total by this count to get the arithmetic mean.
* Have interval_xacts construct temps on a listJohn Wiegley2009-02-143-13/+13
|
* Generate null transactions for empty periodsJohn Wiegley2009-02-141-0/+16
| | | | | | | | | | | | | For example, if one uses -M to generate a monthly report for an entire year, and there are no transaction in the month of February, ordinarily Ledger would report nothing for that month, even if -E were used. Now "null transactions" are generated for periods without any activity, in order to make certain reports -- such as running monthly averages -- more accurate. For example, instead of -MA being just a monthly running average of months with activity, it is now a true average among all months during the reported period.
* xact metadata searches get passed up to the entryJohn Wiegley2009-02-145-42/+108
| | | | | | That is, if a metadata tag cannot be found in a transaction, look in the parent entry to see if it was set there. Transactions "inherit" notational details from their entries.
* Surround command-line queries with implicit parensJohn Wiegley2009-02-141-1/+1
|
* Removed an #if 0'd function from iterators.ccJohn Wiegley2009-02-141-45/+0
|
* Added #if 0'd stub code from 2.x's option.ccJohn Wiegley2009-02-141-3/+26
|
* Restored the --actual and --real optionsJohn Wiegley2009-02-142-2/+33
|
* If an option was given no value, throw an errorJohn Wiegley2009-02-141-1/+2
| | | | The previous behavior was to trigger a confusing assertion.
* Re-enabled periodic reporting options (-M, etc)John Wiegley2009-02-143-13/+37
|
* Fixed the way interval_t objects are initializedJohn Wiegley2009-02-142-13/+11
|
* Removed interval_t::advanced, which was unusedJohn Wiegley2009-02-142-9/+3
|
* Enabled --cleared, --uncleared and --pendingJohn Wiegley2009-02-131-3/+14
| | | | | Note that the --uncleared flag includes --pending, since it specifically means "not yet cleared".
* Changed the semantics of the "prices" reportJohn Wiegley2009-02-132-10/+23
| | | | | | | | | | | | | | | The prices report now uses the following scheme: PAYEE -> name of commodity of price ACCOUNT -> name of commodity of item AMOUNT -> price DATE -> date of pricing However, the report does not show the payee. The only reason the payee is set is to enable clever querying. For example: ledger prices gold # show all known prices for GOLD ledger prices @gold # show all known prices *in* GOLD
* The formatting code no longer justifies valuesJohn Wiegley2009-02-133-5/+7
| | | | | This is done in the value code, which knows -- based on the value's type -- how best to apply the justification.
* Greatly improved output from the "format" commandJohn Wiegley2009-02-132-24/+46
| | | | | It now shows the formatted result against a sample entry, similar to what "parse" now does.
* Don't print an xact's amount if it was calculatedJohn Wiegley2009-02-132-4/+10
| | | | | That is, if the user didn't enter an amount for that transaction in their ledger journal, don't print one out either.
* Re-activated the budgeting flagsJohn Wiegley2009-02-131-3/+12
| | | | However, the budget reports themselves still need to be tested.
* Added a "reload" command, for use at the REPLJohn Wiegley2009-02-137-55/+76
| | | | | | | Created a new function, session_t::reread_journal_files, which throws away all previous state data and reads in the same files again. This is needed to allow Emacs to communicate with Ledger via the REPL, so that it tell Ledger when it has made changes to the user's data file.
* Changed print report to use format_dateJohn Wiegley2009-02-131-1/+2
| | | | Otherwise, Ledger was unable to parse what it had printed.
* Added a new valexpr function: format_dateJohn Wiegley2009-02-132-0/+11
| | | | | | | | | This can be used to format dates with a specific pattern, such as: format_date(entry.date, "%Y/%m/%d") This is used by the print command to ensure that Ledger is able to parse back what it prints.
* If a LEDGER_ envvar has no value, ignore itJohn Wiegley2009-02-131-1/+3
|
* Renamed a function to sort_value_is_less_thanJohn Wiegley2009-02-124-8/+8
| | | | | The purpose was to provided a clearer relationship between the function name and its expected arguments.
* Sorting expr now uses "-" to indicate descendingJohn Wiegley2009-02-126-46/+79
| | | | | For example: -S payee,-date sorts 1) ascending by payee, then 2) descending by date.
* Made (un)reduce rvalue methods more consistentJohn Wiegley2009-02-124-9/+14
| | | | | | They names were changed from reduce/unreduce to reduced/unreduced, since they return the modified value. This is more consistent with the naming of rounded/rounded.
* The --sort flag now accepts multiple terms (-S payee,date).John Wiegley2009-02-122-2/+33
| | | | However, there is no way yet to reverse the meaning of a given term.
* Restored the "prices" command.John Wiegley2009-02-126-14/+117
|
* Turned on the "emacs" command and budgeting, though neither are tested yet.John Wiegley2009-02-122-2/+12
|
* Re-enabled some code, and removed a bunch of deadwood.John Wiegley2009-02-1210-82/+19
|
* Fixed a typo which was causing all boolean values to show as "false".John Wiegley2009-02-121-5/+5
|