;doc: explain comments in "if tables" and order of application
This commit is contained in:
parent
b0b9e69e4f
commit
f1bd46fd57
@ -3482,6 +3482,7 @@ they can express many matchers and field assignments in a more compact tabular f
|
|||||||
if,HLEDGERFIELD1,HLEDGERFIELD2,...
|
if,HLEDGERFIELD1,HLEDGERFIELD2,...
|
||||||
MATCHERA,VALUE1,VALUE2,...
|
MATCHERA,VALUE1,VALUE2,...
|
||||||
MATCHERB,VALUE1,VALUE2,...
|
MATCHERB,VALUE1,VALUE2,...
|
||||||
|
; Comment line that explains MATCHERC
|
||||||
MATCHERC,VALUE1,VALUE2,...
|
MATCHERC,VALUE1,VALUE2,...
|
||||||
<empty line>
|
<empty line>
|
||||||
```
|
```
|
||||||
@ -3493,13 +3494,15 @@ It should be a non-alphanumeric character like `,` or `|` that does not appear a
|
|||||||
|
|
||||||
Each line must contain the same number of separators; empty values are allowed.
|
Each line must contain the same number of separators; empty values are allowed.
|
||||||
Whitespace can be used in the matcher lines for readability (but not in the if line, currently).
|
Whitespace can be used in the matcher lines for readability (but not in the if line, currently).
|
||||||
|
You can use the comment lines in the table body.
|
||||||
The table must be terminated by an empty line (or end of file).
|
The table must be terminated by an empty line (or end of file).
|
||||||
|
|
||||||
An if table like the above is interpreted as follows:
|
An if table like the above is interpreted as follows:
|
||||||
try all of the matchers;
|
try all of the matchers;
|
||||||
whenever a matcher succeeds, assign all of the values on that line to the corresponding hledger fields;
|
whenever a matcher succeeds, assign all of the values on that line to the corresponding hledger fields;
|
||||||
later lines can overrider earlier ones.
|
If multiple lines match, later lines will override fields assigned by the earlier ones - just like the sequence of `if` blocks would behave.
|
||||||
It is equivalent to this sequence of if blocks:
|
|
||||||
|
If table presented above is equivalent to this sequence of if blocks:
|
||||||
|
|
||||||
```rules
|
```rules
|
||||||
if MATCHERA
|
if MATCHERA
|
||||||
@ -3512,6 +3515,7 @@ if MATCHERB
|
|||||||
HLEDGERFIELD2 VALUE2
|
HLEDGERFIELD2 VALUE2
|
||||||
...
|
...
|
||||||
|
|
||||||
|
; Comment line which explains MATCHERC
|
||||||
if MATCHERC
|
if MATCHERC
|
||||||
HLEDGERFIELD1 VALUE1
|
HLEDGERFIELD1 VALUE1
|
||||||
HLEDGERFIELD2 VALUE2
|
HLEDGERFIELD2 VALUE2
|
||||||
@ -3523,6 +3527,7 @@ Example:
|
|||||||
if,account2,comment
|
if,account2,comment
|
||||||
atm transaction fee,expenses:business:banking,deductible? check it
|
atm transaction fee,expenses:business:banking,deductible? check it
|
||||||
%description groceries,expenses:groceries,
|
%description groceries,expenses:groceries,
|
||||||
|
;; Comment line that desribes why this particular date is special
|
||||||
2023/01/12.*Plumbing LLC,expenses:house:upkeep,emergency plumbing call-out
|
2023/01/12.*Plumbing LLC,expenses:house:upkeep,emergency plumbing call-out
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user