| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
The last commit did not contain the majority of changes because of a
slight mishap. This contains the real changeset.
|
| |
|
|
|
|
| |
These are for dealing with sequences.
|
| |
|
|
|
|
| |
Also, --exchange now accepted multiple, comma-separated commodities.
|
|
|
|
| |
They must be separated by a comma, and all whitespace is ignored.
|
|
|
|
|
|
|
| |
This is like -V, except it lets you specify the goal commodity to report
in terms of, for example:
reg -x CAD
|
| |
|
| |
|
|
|
|
| |
This option was for outputting <total> elements in 2.x's XML output.
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
For example, --start-of-week=monday can be used to report weeks that
begin on Mondays.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This simply omits the final total in the balance report, nothing more.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Sorting is repeated at each level of the hierarchy, unless --flat was
specified in which case it applies to the entire applicable accounts
list.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The fix was that when appending new predicates, enclosed both sides of
the AND with parentheses.
|
|
|
|
|
| |
This resolves certain issues where value expressions were not being
looked up within their full context.
|
|
|
|
| |
This creates its own problems; instead, only most are used.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This means item_predicate is no longer a template.
|
|
|
|
|
|
| |
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).
|