summaryrefslogtreecommitdiff
path: root/src/report.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed unused --totals optionJohn Wiegley2009-02-221-2/+0
| | | | This option was for outputting <total> elements in 2.x's XML output.
* Added a new --colors option, for terminal funJohn Wiegley2009-02-211-17/+24
| | | | | | | | | The following colors are applied in the balance and register reports: GREEN To a date, if it occurs in the future BOLD If a payee name relates to an uncleared entry BLUE For account names RED For negative values
* Removed an unused class: format_entriesJohn Wiegley2009-02-211-0/+2
|
* Use more general scrub valexpr function in formatsJohn Wiegley2009-02-211-41/+38
|
* Create a new interactive_t helper classJohn Wiegley2009-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this class is much like Emacs' (interactive) form: it allows a value expression function to declare exactly how many arguments, and of what type, it intends to receive. It then offers type-safe access to theese arguments in a consistent manner. An example value expression function definition in C++: value_t fn_foo(call_scope_t& scope) { // We expect a string, an integer, and an optional date interactive_t args(scope, "sl&d"); std::cout << "String = " << args.get<string>(0) << "Integer = " << args.get<long>(1) << std::endl; if (args.has(2)) // was a date provided? std::cout << "Date = " << args.get<date_t>(2) << std::endl; return NULL_VALUE; } There is also an in_context_t<T> template, which finds the context type T in the current scope hierarchy. The in_context_t then also acts as a smart pointer to reference this context object, in addition to serving the same duty as interactive_t. This combination of intent is solely for the sake of brevity. value_t fn_bar(call_scope_t& scope) { in_context_t<account_t> env(scope, "sl&d"); std::cout << "Account name = " << env->fullname() << "String arg = " << env.get<string>(0) << std::endl; return NULL_VALUE; } As you can see here, 'env' acts as a smart pointer to the required context, and an object to extract the typed arguments.
* Added --start-of-week option, used with --weeklyJohn Wiegley2009-02-211-0/+1
| | | | | For example, --start-of-week=monday can be used to report weeks that begin on Mondays.
* Added a new --exact optionJohn Wiegley2009-02-211-0/+1
| | | | | | | | | The purpose of this option is that usually when you do a --monthly periodic report, you see dates ranges from the first day of each month, to the last day. With --exact, the first day of each range will be the date of the first transaction found in that range, and likewise with the end of the range. Essentially it "contracts" the reported period dates to reflect the exact begin and end dates.
* Restored the --deviation optionJohn Wiegley2009-02-211-1/+3
|
* Restored --forecast, now also --forecast-whileJohn Wiegley2009-02-211-1/+1
|
* Enabled --current optionJohn Wiegley2009-02-201-1/+3
|
* Strip amounts displayed in the csv reportJohn Wiegley2009-02-201-1/+1
|
* Removed unused --cache optionJohn Wiegley2009-02-201-1/+0
|
* Restored the --basis optionJohn Wiegley2009-02-201-1/+16
|
* Added --no-total optionJohn Wiegley2009-02-201-0/+2
| | | | This simply omits the final total in the balance report, nothing more.
* Don't use auto-widths for widths explicitly givenJohn Wiegley2009-02-201-10/+20
|
* Rewrote the equity command, which is working againJohn Wiegley2009-02-201-4/+1
| | | | | | The old implementation used an account formatter, and was very specialized. The new is done as a transaction filter, and works along with everything else, eliminating bugs special to the equity report.
* Use the 'market' function, not 'market_value'John Wiegley2009-02-191-2/+2
|
* Added a new --columns= optionJohn Wiegley2009-02-191-0/+2
|
* The sequence -M -p 2004 now equals -p 2004 -MJohn Wiegley2009-02-191-57/+54
|
* Restored the -j and -J optionsJohn Wiegley2009-02-191-10/+7
|
* Moved init of options to the options themselvesJohn Wiegley2009-02-191-9/+69
|
* Improved how register reports are formattedJohn Wiegley2009-02-191-4/+26
| | | | | | | | | | | | As a result, --wide is working again, and --wide-register-format has been removed. Also, the following new options are recognized, for controlling per-column formatting: --date-width NUM --payee-width NUM --account-width NUM --amount-width NUM --total-width NUM
* Added --flat option, to flatten the balance reportJohn Wiegley2009-02-171-0/+1
|
* The option --cost is now an alias for --basisJohn Wiegley2009-02-171-1/+0
|
* Added new --set-acount and --set-payee optionsJohn Wiegley2009-02-161-0/+2
| | | | | | These fully generalize the previous --payee-as-account and such options, which, for example, is now implemented to be the same as saying, "--set-account payee".
* Added several new reporting optionsJohn Wiegley2009-02-161-1/+4
| | | | | | | | | | | | | | | To help with gathering specific reports: - --payee-as-account copies the entry's payee field to the account, allowing the subtotal report to show unique payees for each period. - --comm-as-account copies the transaction's amount's commodity to the account. - --code-as-account copies the entry's code to the account Also created aliases for some of these options, for conistency's sake: - --commodity-as-payee is now an alias for --comm-as-payee - --commodity-as-account is now an alias for --comm-as-account
* Fixed several unused value and param warningsJohn Wiegley2009-02-161-4/+4
|
* Moved around some functions for clarityJohn Wiegley2009-02-161-11/+0
|
* The -n option for bal command is working againJohn Wiegley2009-02-161-3/+3
| | | | | The fix was that when appending new predicates, enclosed both sides of the AND with parentheses.
* Made several of the filters more context awareJohn Wiegley2009-02-151-2/+3
| | | | | This resolves certain issues where value expressions were not being looked up within their full context.
* Normalized handling of several report optionsJohn Wiegley2009-02-151-58/+64
|
* Re-enabled the --format (-F) optionJohn Wiegley2009-02-151-0/+6
|
* The "xact" variable now returns null for accountsJohn Wiegley2009-02-151-0/+3
|
* Split up session_t::reread_journal_files()John Wiegley2009-02-151-1/+2
| | | | | You now call session_t::close_journal_files() followed by session_t::read_journal_files().
* Change a few calls to on() to use set_expr()John Wiegley2009-02-151-6/+5
|
* Parse '/' in an operator context as "div"John Wiegley2009-02-151-1/+1
|
* 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";
* 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-141-2/+9
|
* Re-enabled periodic reporting options (-M, etc)John Wiegley2009-02-141-5/+32
|
* Enabled --cleared, --uncleared and --pendingJohn Wiegley2009-02-131-3/+14
| | | | | Note that the --uncleared flag includes --pending, since it specifically means "not yet cleared".
* 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-131-0/+5
| | | | | | | 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.
* Added a new valexpr function: format_dateJohn Wiegley2009-02-131-0/+1
| | | | | | | | | 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.
* Restored the "prices" command.John Wiegley2009-02-121-3/+1
|
* Turned on the "emacs" command and budgeting, though neither are tested yet.John Wiegley2009-02-121-0/+7
|
* Rewrote the "entry" command. It's ALIVE!John Wiegley2009-02-111-0/+1
|
* Wired up the "entry" command from 2.x, though it still needs to be ported.John Wiegley2009-02-101-0/+10
|
* Removed an unneeded method declaration.John Wiegley2009-02-101-1/+0
|