;doc: journal: directives tweak

This commit is contained in:
Simon Michael 2022-12-27 13:12:49 -10:00
parent 19821ee0e9
commit b945147246

View File

@ -1703,22 +1703,23 @@ And here is what each directive does, and which files and journal entries (trans
<!-- h1,h2,h3,h4,h5,h6 { color:red; } --> <!-- h1,h2,h3,h4,h5,h6 { color:red; } -->
<!-- </style> --> <!-- </style> -->
| directive | what it does | ends at file end? | | directive | what it does | ends at file end? |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| |-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|
| **[`account`]** | Declares an account, for [checking](#check) all entries in all files; <br>and its [display order](#account-display-order) and [type](#declaring-account-types). <br>Subdirectives: any text, ignored. | N | | **[`account`]** | Declares an account, for [checking](#check) all entries in all files; <br>and its [display order](#account-display-order) and [type](#declaring-account-types). <br>Subdirectives: any text, ignored. | N |
| **[`alias`]** | Rewrites account names, in following entries until end of current file or [`end aliases`]. <br>Command line equivalent: [`--alias`] | Y | | **[`alias`]** | Rewrites account names, in following entries until end of current file or [`end aliases`]. <br>Command line equivalent: [`--alias`] | Y |
| **[`comment`]** | Ignores part of the journal file, until end of current file or `end comment`. | Y | | **[`comment`]** | Ignores part of the journal file, until end of current file or `end comment`. | Y |
| **[`commodity`]** | Declares up to four things: <br>1. a commodity symbol, for checking all amounts in all files <br>2. the decimal mark for parsing amounts of this commodity, in the following entries until end of current file (if there is no `decimal-mark` directive) <br>3. and the display style for amounts of this commodity <br>4. which is also the precision to use for balanced-transaction checking in this commodity.<br> Takes precedence over `D`. <br>Subdirectives: `format` (Ledger-compatible syntax). <br>Command line equivalent: [`-c/--commodity-style`](#commodity-styles) | N,<br>Y,<br>N,<br>N | | **[`commodity`]** | Declares up to four things: <br>1. a commodity symbol, for checking all amounts in all files <br>2. the decimal mark for parsing amounts of this commodity, in the following entries until end of current file (if there is no `decimal-mark` directive) <br>3. and the display style for amounts of this commodity <br>4. which is also the precision to use for balanced-transaction checking in this commodity.<br> Takes precedence over `D`. <br>Subdirectives: `format` (Ledger-compatible syntax). <br>Command line equivalent: [`-c/--commodity-style`](#commodity-styles) | N,<br>Y,<br>N,<br>N |
| **[`decimal-mark`]** | Declares the decimal mark, for parsing amounts of all commodities in following entries until next `decimal-mark` or end of current file. Included files can override. Takes precedence over `commodity` and `D`. | Y | | **[`decimal-mark`]** | Declares the decimal mark, for parsing amounts of all commodities in following entries until next `decimal-mark` or end of current file. Included files can override. Takes precedence over `commodity` and `D`. | Y |
| **[`include`]** | Includes entries and directives from another file, as if they were written inline. <br>Command line alternative: multiple [`-f/--file`](#multiple-files) | N | | **[`include`]** | Includes entries and directives from another file, as if they were written inline. <br>Command line alternative: multiple [`-f/--file`](#multiple-files) | N |
| **[`payee`]** | Declares a payee name, for checking all entries in all files. | N | | **[`payee`]** | Declares a payee name, for checking all entries in all files. | N |
| **[`P`]** | Declares the market price of a commodity on some date, for [value reports](#valuation). | N | | **[`P`]** | Declares the market price of a commodity on some date, for [value reports](#valuation). | N |
| **[`~`]** (tilde) | Declares a periodic transaction rule that generates future transactions with `--forecast` and budget goals with `balance --budget`. | N | | **[`~`]** (tilde) | Declares a periodic transaction rule that generates future transactions with `--forecast` and budget goals with `balance --budget`. | N |
| **[`=`]** (equals) | Declares an auto posting rule that generates extra postings on matched transactions with `--auto`, in current, parent, and child files (but not sibling files, see [#1212](https://github.com/simonmichael/hledger/issues/1212)). | partly | | Other syntax: | | |
| Other syntax: | | | | **[`apply account`]** | Prepends a common parent account to all account names, in following entries until end of current file or `end apply account`. | Y |
| **[`apply account`]** | Prepends a common parent account to all account names, in following entries until end of current file or `end apply account`. | Y | | **[`D`]** | Sets a default commodity to use for no-symbol amounts;<br>and, if there is no `commodity` directive for this commodity: its decimal mark, balancing precision, and display style, as above. | Y,<br>Y,<br>N,<br>N |
| **[`D`]** | Sets a default commodity to use for no-symbol amounts;<br>and, if there is no `commodity` directive for this commodity: its decimal mark, balancing precision, and display style, as above. | Y,<br>Y,<br>N,<br>N | | **[`Y`]** | Sets a default year to use for any yearless dates, in following entries until end of current file. | Y |
| **[`Y`]** | Sets a default year to use for any yearless dates, in following entries until end of current file. | Y | | **[`=`]** (equals) | Declares an auto posting rule that generates extra postings on matched transactions with `--auto`, in current, parent, and child files (but not sibling files, see [#1212](https://github.com/simonmichael/hledger/issues/1212)). | partly |
| **[Other Ledger directives]** | Other directives from Ledger's file format are accepted but ignored. | |
[`=`]: #auto-postings [`=`]: #auto-postings
[`D`]: #default-commodity [`D`]: #default-commodity
@ -1734,6 +1735,7 @@ And here is what each directive does, and which files and journal entries (trans
[`include`]: #including-files [`include`]: #including-files
[`payee`]: #payees [`payee`]: #payees
[`~`]: #periodic-transactions [`~`]: #periodic-transactions
[Other Ledger directives]: #other-ledger-directives
### Directives and multiple files ### Directives and multiple files
@ -2184,7 +2186,7 @@ commodity INR
format INR 1,00,00,000.00 format INR 1,00,00,000.00
``` ```
Any indented subdirectives other than `format` are currently ignored. Other indented subdirectives are currently ignored.
Remember that if the commodity symbol contains spaces, numbers, or Remember that if the commodity symbol contains spaces, numbers, or
punctuation, it must be enclosed in double quotes (cf [Commodity](#commodity)). punctuation, it must be enclosed in double quotes (cf [Commodity](#commodity)).
@ -2740,29 +2742,32 @@ makes your financial data less portable and less trustworthy in an audit.
### Other Ledger directives ### Other Ledger directives
These other Ledger directives are currently ignored: These other Ledger directives are currently accepted but ignored.
This allows hledger to read more Ledger files,
but be aware that hledger's reports may differ from Ledger's if you use these.
```journal ```journal
apply fixed COMM AMT apply fixed COMM AMT
apply tag TAG apply tag TAG
assert EXPR assert EXPR
A ACCT bucket / A ACCT
bucket ACCT capture ACCT REGEX
capture ACCT REGEX check EXPR
check EXPR define VAR=EXPR
define VAR=EXPR
end apply fixed end apply fixed
end apply tag end apply tag
end apply year end apply year
end tag end tag
expr EXPR eval / expr EXPR
tag NAME
value EXPR
python python
eval EXPR PYTHONCODE
--command-line-flag tag NAME
value EXPR
--command-line-flags
``` ```
See also <https://hledger.org/ledger.html> for a detailed hledger/Ledger syntax comparison.
# CSV # CSV
hledger can read [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) files hledger can read [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) files