parent
016808fd06
commit
2e4f047fed
@ -1088,29 +1088,27 @@ to end of option argument), so it can contain trailing whitespace.
|
|||||||
#### Combining aliases
|
#### Combining aliases
|
||||||
|
|
||||||
You can define as many aliases as you like, using journal directives and/or command line options.
|
You can define as many aliases as you like, using journal directives and/or command line options.
|
||||||
As each journal entry is parsed, the aliases currently in effect are applied in the following order:
|
|
||||||
|
|
||||||
1. `alias` directives, most recently parsed first (reading upward from the journal entry, bottom to top)
|
Recursive aliases - where an account name is rewritten by one alias, then by another alias, and so on - are allowed.
|
||||||
2. `--alias` options, in the order they appear on the command line (left to right).
|
Each alias sees the effect of previously applied aliases.
|
||||||
|
|
||||||
Recursive aliases are allowed; each alias sees the result of applying previous ones.
|
In such cases it can be important to understand which aliases will be applied and in which order.
|
||||||
(This is different from Ledger.)
|
For (each account name in) each journal entry, we apply:
|
||||||
|
|
||||||
Note how alias directives are applied: "most recently parsed first.. bottom to top".
|
1. `alias` directives preceding the journal entry, most recently parsed first (ie, reading upward from the journal entry, bottom to top)
|
||||||
This means that for a given journal entry:
|
2. `--alias` options, in the order they appeared on the command line (left to right).
|
||||||
|
|
||||||
|
In other words, for (an account name in) a given journal entry:
|
||||||
|
|
||||||
- aliases defined after/below the entry do not affect it
|
|
||||||
- the nearest alias declaration before/above the entry is applied first
|
- the nearest alias declaration before/above the entry is applied first
|
||||||
- the next alias above that will be be applied next, and so on.
|
- the next alias before/above that will be be applied next, and so on
|
||||||
|
- aliases defined after/below the entry do not affect it.
|
||||||
|
|
||||||
This gives nearby aliases precedence over distant ones, and helps
|
This gives nearby aliases precedence over distant ones, and helps
|
||||||
provide semantic stability - so that aliases will keep working the
|
provide semantic stability - aliases will keep working the same way
|
||||||
same way independent of which files are being read and in which order.
|
independent of which files are being read and in which order.
|
||||||
|
|
||||||
(If you forget this, recursive aliases will not work as you expect.
|
|
||||||
Tip: you can always add `--debug=6` to see which aliases are applied
|
|
||||||
in which order.)
|
|
||||||
|
|
||||||
|
In case of trouble, adding `--debug=6` to the command line will show which aliases are being applied when.
|
||||||
|
|
||||||
#### `end aliases`
|
#### `end aliases`
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user