This is useful for making sure that the column containing the results of
--prepend-format is a consistent width throughout the report (including
those lines where it is not applied).
Fixes 64F9D913-75E1-4830-A3D9-29B72442E68B
These three reports simply dump an unordered list (with the exception of
payees) shows all accounts, payees, and commodities represented in a
given report. This can be used to easily generate per-entity report,
for example:
ledger payees | \
while read payee; do \
echo ; echo $payee ; \
ledger reg payee "$payee" ; \
done
The usages are:
--meta=<TAG> prepend value of TAG before every line
--meta-width=<NUM> force the meta column to be NUM wide
--meta=<TAG>:<NUM> shortcut that also applies --meta-width
These options allow the user to specify what accounts names should be
used for these two types of accounts. They are optional, and default
to:
--unrealized-gains "Equity:Unrealized Gains"
--unrealized-losses "Equity:Unrealized Losses"
These are intended to be set in one's ~/.ledgerrc file.
When this option is on, then in balance report which show market values,
any gains or losses in value will be balanced into a pair of accounts
called Equity:Unrealized Gains and Equity:Unrealized Losses.
This lets you, for example, debug registers that cull data from many
different sources, without having to change the basic formatting
string. You can locate each posting's location with this:
ledger reg --prepend-format='%-25(filename + ":" + beg_line)'
This fits better with the --amount and --total options, which both
change the amount and total used for calculation. Same with --account:
it happens after filtering, but before calculation so that balance
reports look as you'd expect.
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)