;doc: cli: simplify internal links

This commit is contained in:
Simon Michael 2021-05-14 08:38:57 -10:00
parent d6c12d5379
commit c90d89e4fb

View File

@ -296,9 +296,9 @@ If they're not doing what you expect, it's important to know exactly what they s
#. they are [POSIX ERE][] (extended regular expressions) #. they are [POSIX ERE][] (extended regular expressions)
#. they also support [GNU word boundaries][] (`\b`, `\B`, `\<`, `\>`) #. they also support [GNU word boundaries][] (`\b`, `\B`, `\<`, `\>`)
#. they do not support [backreferences][]; if you write `\1`, it will match the digit `1`. #. they do not support [backreferences][]; if you write `\1`, it will match the digit `1`.
Except when doing text replacement, eg in [account aliases](hledger.html#regex-aliases),
where [backreferences][] can be used in the replacement string to reference [capturing groups][] in the search regexp. where [backreferences][] can be used in the replacement string to reference [capturing groups][] in the search regexp.
#. they do not support [mode modifiers][] (`(?s)`), character classes (`\w`, `\d`), or anything else not mentioned above. #. they do not support [mode modifiers][] (`(?s)`), character classes (`\w`, `\d`), or anything else not mentioned above.
Except when doing text replacement, eg in [account aliases](#regex-aliases),
[POSIX ERE]: http://www.regular-expressions.info/posix.html#ere [POSIX ERE]: http://www.regular-expressions.info/posix.html#ere
[backreferences]: https://www.regular-expressions.info/backref.html [backreferences]: https://www.regular-expressions.info/backref.html
@ -396,11 +396,11 @@ You can specify multiple `-f` options, to read multiple files as one big journal
There are some limitations with this: There are some limitations with this:
- most directives do not affect sibling files - most directives do not affect sibling files
- [balance assertions](hledger.html#balance-assertions) will not see any account balances from previous files - [balance assertions](#balance-assertions) will not see any account balances from previous files
If you need either of those things, you can If you need either of those things, you can
- use a single parent file which [includes](hledger.html#including-other-files) the others - use a single parent file which [includes](#including-other-files) the others
- or concatenate the files into one before reading, eg: `cat a.journal b.journal | hledger -f- CMD`. - or concatenate the files into one before reading, eg: `cat a.journal b.journal | hledger -f- CMD`.
## Strict mode ## Strict mode
@ -416,9 +416,9 @@ easy journal files without a lot of declarations:
With the `-s`/`--strict` flag, additional checks are performed: With the `-s`/`--strict` flag, additional checks are performed:
- Are all accounts posted to, declared with an `account` directive ? - Are all accounts posted to, declared with an `account` directive ?
([Account error checking](hledger.html#account-error-checking)) ([Account error checking](#account-error-checking))
- Are all commodities declared with a `commodity` directive ? - Are all commodities declared with a `commodity` directive ?
([Commodity error checking](hledger.html#commodity-error-checking)) ([Commodity error checking](#commodity-error-checking))
You can also use the [check](#check) command to run these and some additional checks. You can also use the [check](#check) command to run these and some additional checks.
@ -659,7 +659,7 @@ instead most commands show transactions/postings/accounts which match (or negati
- any of the status terms AND - any of the status terms AND
- all the other terms. - all the other terms.
The [print](hledger.html#print) command instead shows transactions which: The [print](#print) command instead shows transactions which:
- match any of the description terms AND - match any of the description terms AND
- have any postings matching any of the positive account terms AND - have any postings matching any of the positive account terms AND
@ -700,9 +700,9 @@ or `hledger print cur:\\$`.
**`date:PERIODEXPR`** **`date:PERIODEXPR`**
: match dates within the specified period. : match dates within the specified period.
PERIODEXPR is a [period expression](hledger.html#period-expressions) (with no report interval). PERIODEXPR is a [period expression](#period-expressions) (with no report interval).
Examples: `date:2016`, `date:thismonth`, `date:2000/2/1-2/15`, `date:lastweek-`. Examples: `date:2016`, `date:thismonth`, `date:2000/2/1-2/15`, `date:lastweek-`.
If the `--date2` command line flag is present, this matches [secondary dates](hledger.html#secondary-dates) instead. If the `--date2` command line flag is present, this matches [secondary dates](#secondary-dates) instead.
**`date2:PERIODEXPR`** **`date2:PERIODEXPR`**
: match secondary dates within the specified period. : match secondary dates within the specified period.
@ -711,11 +711,11 @@ If the `--date2` command line flag is present, this matches [secondary dates](hl
: match (or display, depending on command) accounts at or above this depth : match (or display, depending on command) accounts at or above this depth
**`note:REGEX`** **`note:REGEX`**
: match transaction [notes](hledger.html#payee-and-note) : match transaction [notes](#payee-and-note)
(part of description right of `|`, or whole description when there's no `|`) (part of description right of `|`, or whole description when there's no `|`)
**`payee:REGEX`** **`payee:REGEX`**
: match transaction [payee/payer names](hledger.html#payee-and-note) : match transaction [payee/payer names](#payee-and-note)
(part of description left of `|`, or whole description when there's no `|`) (part of description left of `|`, or whole description when there's no `|`)
**`real:, real:0`** **`real:, real:0`**
@ -743,7 +743,7 @@ Generally you can mix options and query arguments, and the resulting query will
# COSTING # COSTING
The `-B/--cost` flag converts amounts to their cost or sale amount at transaction time, The `-B/--cost` flag converts amounts to their cost or sale amount at transaction time,
if they have a [transaction price](hledger.html#transaction-prices) specified. if they have a [transaction price](#transaction-prices) specified.
If this flag is supplied, hledger will perform cost conversion first, and will apply If this flag is supplied, hledger will perform cost conversion first, and will apply
any market price valuations (if requested) afterwards. any market price valuations (if requested) afterwards.
@ -792,9 +792,9 @@ in this order of preference
1. A *declared market price* or *inferred market price*: 1. A *declared market price* or *inferred market price*:
A's latest market price in B on or before the valuation date A's latest market price in B on or before the valuation date
as declared by a [P directive](hledger.html#declaring-market-prices), as declared by a [P directive](#declaring-market-prices),
or (with the `--infer-market-price` flag) or (with the `--infer-market-price` flag)
inferred from [transaction prices](hledger.html#transaction-prices). inferred from [transaction prices](#transaction-prices).
<!-- (Latest by date, then parse order.) --> <!-- (Latest by date, then parse order.) -->
<!-- (A declared price overrides an inferred price on the same date.) --> <!-- (A declared price overrides an inferred price on the same date.) -->
@ -819,10 +819,10 @@ Amounts for which no suitable market price can be found, are not converted.
## --infer-market-price: market prices from transactions ## --infer-market-price: market prices from transactions
Normally, market value in hledger is fully controlled by, and requires, Normally, market value in hledger is fully controlled by, and requires,
[P directives](hledger.html#declaring-market-prices) in your journal. [P directives](#declaring-market-prices) in your journal.
Since adding and updating those can be a chore, Since adding and updating those can be a chore,
and since transactions usually take place at close to market value, and since transactions usually take place at close to market value,
why not use the recorded [transaction prices](hledger.html#transaction-prices) why not use the recorded [transaction prices](#transaction-prices)
as additional market prices (as Ledger does) ? as additional market prices (as Ledger does) ?
We could produce value reports without needing P directives at all. We could produce value reports without needing P directives at all.
@ -870,11 +870,11 @@ follows, in this order of preference:
This means: This means:
- If you have [P directives](hledger.html#declaring-market-prices), - If you have [P directives](#declaring-market-prices),
they determine which commodities `-V` will convert, and to what. they determine which commodities `-V` will convert, and to what.
- If you have no P directives, and use the `--infer-market-price` flag, - If you have no P directives, and use the `--infer-market-price` flag,
[transaction prices](hledger.html#transaction-prices) determine it. [transaction prices](#transaction-prices) determine it.
Amounts for which no valuation commodity can be found are not converted. Amounts for which no valuation commodity can be found are not converted.
@ -1140,7 +1140,7 @@ Normally hledger sums amounts, and organizes them in a hierarchy, based on accou
The `--pivot FIELD` option causes it to sum and organize hierarchy based on the value of some other field instead. The `--pivot FIELD` option causes it to sum and organize hierarchy based on the value of some other field instead.
FIELD can be: FIELD can be:
`code`, `description`, `payee`, `note`, `code`, `description`, `payee`, `note`,
or the full name (case insensitive) of any [tag](hledger.html#tags). or the full name (case insensitive) of any [tag](#tags).
As with account names, values containing `colon:separated:parts` will be displayed hierarchically in reports. As with account names, values containing `colon:separated:parts` will be displayed hierarchically in reports.
`--pivot` is a general option affecting all reports; you can think of hledger transforming `--pivot` is a general option affecting all reports; you can think of hledger transforming
@ -1506,7 +1506,7 @@ or the current date when the command is run.
Some examples: `2010-01-31`, `2010/01/31`, `2010.1.31`, `1/31`. Some examples: `2010-01-31`, `2010/01/31`, `2010.1.31`, `1/31`.
(The UI also accepts simple dates, as well as the more flexible [smart (The UI also accepts simple dates, as well as the more flexible [smart
dates](hledger.html#smart-dates) documented in the hledger manual.) dates](#smart-dates) documented in the hledger manual.)
### Secondary dates ### Secondary dates
@ -1598,7 +1598,7 @@ separated from it by a space, indicating one of three statuses:
When reporting, you can filter by status with When reporting, you can filter by status with
the `-U/--unmarked`, `-P/--pending`, and `-C/--cleared` flags; the `-U/--unmarked`, `-P/--pending`, and `-C/--cleared` flags;
or the `status:`, `status:!`, and `status:*` [queries](hledger.html#queries); or the `status:`, `status:!`, and `status:*` [queries](#queries);
or the U, P, C keys in hledger-ui. or the U, P, C keys in hledger-ui.
Note, in Ledger and in older versions of hledger, the "unmarked" state is called Note, in Ledger and in older versions of hledger, the "unmarked" state is called
@ -1635,7 +1635,7 @@ or left blank. Transaction descriptions can be queried, unlike [comments](#comme
You can optionally include a `|` (pipe) character in descriptions to subdivide the description You can optionally include a `|` (pipe) character in descriptions to subdivide the description
into separate fields for payee/payer name on the left (up to the first `|`) and an additional note into separate fields for payee/payer name on the left (up to the first `|`) and an additional note
field on the right (after the first `|`). This may be worthwhile if you need to do more precise field on the right (after the first `|`). This may be worthwhile if you need to do more precise
[querying](hledger.html#queries) and [pivoting](hledger.html#pivoting) by payee or by note. [querying](#queries) and [pivoting](#pivoting) by payee or by note.
## Comments ## Comments
@ -1679,7 +1679,7 @@ You can also comment larger regions of a file using [`comment` and `end comment`
## Tags ## Tags
Tags are a way to add extra labels or labelled data to postings and transactions, Tags are a way to add extra labels or labelled data to postings and transactions,
which you can then [search](hledger.html#queries) or [pivot](hledger.html#pivoting) on. which you can then [search](#queries) or [pivot](#pivoting) on.
A simple tag is a word (which may contain hyphens) followed by a full colon, A simple tag is a word (which may contain hyphens) followed by a full colon,
written inside a transaction or posting [comment](#comments) line: written inside a transaction or posting [comment](#comments) line:
@ -1991,7 +1991,7 @@ There are several ways to record a transaction price:
5. Like 2, but as in 4 the `@@` is parenthesised, i.e. `(@@)`; in hledger, 5. Like 2, but as in 4 the `@@` is parenthesised, i.e. `(@@)`; in hledger,
this is equivalent to 2. this is equivalent to 2.
Use the [`-B/--cost`](hledger.html#reporting-options) flag to convert Use the [`-B/--cost`](#reporting-options) flag to convert
amounts to their transaction price's commodity, if any. amounts to their transaction price's commodity, if any.
(mnemonic: "B" is from "cost Basis", as in Ledger). (mnemonic: "B" is from "cost Basis", as in Ledger).
Eg here is how -B affects the balance report for the example above: Eg here is how -B affects the balance report for the example above:
@ -2086,7 +2086,7 @@ in the right file.
### Assertions and multiple -f options ### Assertions and multiple -f options
Balance assertions don't work well across files specified Balance assertions don't work well across files specified
with multiple -f options. Use include or [concatenate the files](hledger.html#input-files) with multiple -f options. Use include or [concatenate the files](#input-files)
instead. instead.
### Assertions and commodities ### Assertions and commodities
@ -2147,9 +2147,9 @@ and should normally be written without one:
(a) $1 @ €1 = $1 (a) $1 @ €1 = $1
``` ```
We do allow prices to be written there, however, and [print](hledger.html#print) shows them, We do allow prices to be written there, however, and [print](#print) shows them,
even though they don't affect whether the assertion passes or fails. even though they don't affect whether the assertion passes or fails.
This is for backward compatibility (hledger's [close](hledger.html#close) command used to generate balance assertions with prices), This is for backward compatibility (hledger's [close](#close) command used to generate balance assertions with prices),
and because [balance *assignments*](#balance-assignments) do use them (see below). and because [balance *assignments*](#balance-assignments) do use them (see below).
### Assertions and subaccounts ### Assertions and subaccounts
@ -2176,7 +2176,7 @@ flag or `real:` query.
Balance assertions compare the exactly calculated amounts, Balance assertions compare the exactly calculated amounts,
which are not always what is shown by reports. which are not always what is shown by reports.
Eg a [commodity directive](https://hledger.org/hledger.html#declaring-commodities) Eg a [commodity directive](#declaring-commodities)
may limit the display precision, but this will not affect balance assertions. may limit the display precision, but this will not affect balance assertions.
Balance assertion failure messages show exact amounts. Balance assertion failure messages show exact amounts.
@ -2334,7 +2334,7 @@ avoid include cycles and including directories, but this can be done, eg:
The path may also be prefixed to force a specific file format, The path may also be prefixed to force a specific file format,
overriding the file extension (as described in overriding the file extension (as described in
[hledger.1 -> Input files](hledger.html#input-files)): [hledger.1 -> Input files](#input-files)):
`include timedot:~/notes/2020*.md`. `include timedot:~/notes/2020*.md`.
[glob patterns]: https://hackage.haskell.org/package/Glob-0.9.2/docs/System-FilePath-Glob.html#v:compile [glob patterns]: https://hackage.haskell.org/package/Glob-0.9.2/docs/System-FilePath-Glob.html#v:compile
@ -2503,7 +2503,7 @@ P 2010/1/1 € $1.40
``` ```
The `-V`, `-X` and `--value` flags use these market prices to show amount values The `-V`, `-X` and `--value` flags use these market prices to show amount values
in another commodity. See [Valuation](hledger.html#valuation). in another commodity. See [Valuation](#valuation).
## Declaring accounts ## Declaring accounts
@ -2523,7 +2523,7 @@ Though not required, these declarations can provide several benefits:
which helps detect typos. which helps detect typos.
The simplest form is just the word `account` followed by a hledger-style The simplest form is just the word `account` followed by a hledger-style
[account name](hledger.html#account-names), eg this account directive declares the `assets:bank:checking` account: [account name](#account-names), eg this account directive declares the `assets:bank:checking` account:
```journal ```journal
account assets:bank:checking account assets:bank:checking
@ -2560,7 +2560,7 @@ account assets:bank:checking ; same-line comment, note 2+ spaces before ;
Same-line comments are not supported by Ledger, or hledger <1.13. Same-line comments are not supported by Ledger, or hledger <1.13.
<!-- Account comments may include [tags](hledger.html#tags), though we don't yet use them for anything. --> <!-- Account comments may include [tags](#tags), though we don't yet use them for anything. -->
### Account subdirectives ### Account subdirectives
@ -2601,7 +2601,7 @@ but typically not investments or receivables.)
Generally, to make these reports work you should declare your Generally, to make these reports work you should declare your
top-level accounts and their types, top-level accounts and their types,
using [account directives](#declaring-accounts) using [account directives](#declaring-accounts)
with `type:` [tags](hledger.html#tags). with `type:` [tags](#tags).
The tag's value should be one of: The tag's value should be one of:
`Asset`, `Liability`, `Equity`, `Revenue`, `Expense`, `Cash`, `Asset`, `Liability`, `Equity`, `Revenue`, `Expense`, `Cash`,
@ -2891,7 +2891,7 @@ read this whole section - or at least these tips:
2. For troubleshooting, show the generated transactions with `hledger print --forecast tag:generated` or `hledger register --forecast tag:generated`. 2. For troubleshooting, show the generated transactions with `hledger print --forecast tag:generated` or `hledger register --forecast tag:generated`.
3. Forecasted transactions will begin only after the last non-forecasted transaction's date. 3. Forecasted transactions will begin only after the last non-forecasted transaction's date.
4. Forecasted transactions will end 6 months from today, by default. See below for the exact start/end rules. 4. Forecasted transactions will end 6 months from today, by default. See below for the exact start/end rules.
5. [period expressions](hledger.html#period-expressions) can be tricky. Their documentation needs improvement, but is worth studying. 5. [period expressions](#period-expressions) can be tricky. Their documentation needs improvement, but is worth studying.
6. Some period expressions with a repeating interval must begin on a natural boundary of that interval. 6. Some period expressions with a repeating interval must begin on a natural boundary of that interval.
Eg in `weekly from DATE`, DATE must be a monday. `~ weekly from 2019/10/1` (a tuesday) will give an error. Eg in `weekly from DATE`, DATE must be a monday. `~ weekly from 2019/10/1` (a tuesday) will give an error.
7. Other period expressions with an interval are automatically expanded to cover a whole number of that interval. 7. Other period expressions with an interval are automatically expanded to cover a whole number of that interval.
@ -2901,14 +2901,14 @@ read this whole section - or at least these tips:
`~ every 10th day of month from 2020/01/01`, will be adjusted to start on 2019/12/10. `~ every 10th day of month from 2020/01/01`, will be adjusted to start on 2019/12/10.
Periodic transaction rules also have a second meaning: Periodic transaction rules also have a second meaning:
they are used to define budget goals, shown in [budget reports](hledger.html#budget-report). they are used to define budget goals, shown in [budget reports](#budget-report).
### Periodic rule syntax ### Periodic rule syntax
A periodic transaction rule looks like a normal journal entry, A periodic transaction rule looks like a normal journal entry,
with the date replaced by a tilde (`~`) followed by a with the date replaced by a tilde (`~`) followed by a
[period expression](hledger.html#period-expressions) [period expression](#period-expressions)
(mnemonic: `~` looks like a recurring sine wave.): (mnemonic: `~` looks like a recurring sine wave.):
```journal ```journal
~ monthly ~ monthly
@ -2949,14 +2949,14 @@ So,
The `--forecast` flag activates any periodic transaction rules in the journal. The `--forecast` flag activates any periodic transaction rules in the journal.
They will generate temporary recurring transactions, They will generate temporary recurring transactions,
which are not saved in the journal, but will appear in all reports which are not saved in the journal, but will appear in all reports
(eg [print](hledger.html#print)). (eg [print](#print)).
This can be useful for estimating balances into the future, This can be useful for estimating balances into the future,
or experimenting with different scenarios. or experimenting with different scenarios.
Or, it can be used as a data entry aid: describe recurring Or, it can be used as a data entry aid: describe recurring
transactions, and every so often copy the output of `print --forecast` transactions, and every so often copy the output of `print --forecast`
into the journal. into the journal.
These transactions will have an extra [tag](hledger.html#tags) These transactions will have an extra [tag](#tags)
indicating which periodic rule generated them: indicating which periodic rule generated them:
`generated-transaction:~ PERIODICEXPR`. `generated-transaction:~ PERIODICEXPR`.
And a similar, hidden tag (beginning with an underscore) which, And a similar, hidden tag (beginning with an underscore) which,
@ -2985,10 +2985,10 @@ Or, you can set your own arbitrary "forecast period", which can
overlap recorded transactions, and need not be in the future, by overlap recorded transactions, and need not be in the future, by
providing an option argument, like `--forecast=PERIODEXPR`. providing an option argument, like `--forecast=PERIODEXPR`.
Note the equals sign is required, a space won't work. Note the equals sign is required, a space won't work.
PERIODEXPR is a [period expression](hledger.html#period-expressions), PERIODEXPR is a [period expression](#period-expressions),
which can specify the start date, end date, or both, which can specify the start date, end date, or both,
like in a [`date:` query](hledger.html#queries). like in a [`date:` query](#queries).
(See also hledger.1 -> [Report start & end date](hledger.html#report-start-end-date)). (See also hledger.1 -> [Report start & end date](#report-start-end-date)).
Some examples: `--forecast=202001-202004`, `--forecast=jan-`, `--forecast=2020`. Some examples: `--forecast=202001-202004`, `--forecast=jan-`, `--forecast=2020`.
### Budgeting with periodic transactions ### Budgeting with periodic transactions
@ -2997,7 +2997,7 @@ With the `--budget` flag, currently supported by the balance command,
each periodic transaction rule declares recurring budget goals for the specified accounts. each periodic transaction rule declares recurring budget goals for the specified accounts.
Eg the first example above declares a goal of spending $2000 on rent Eg the first example above declares a goal of spending $2000 on rent
(and also, a goal of depositing $2000 into checking) every month. (and also, a goal of depositing $2000 into checking) every month.
Goals and actual performance can then be compared in [budget reports](hledger.html#budget-report). Goals and actual performance can then be compared in [budget reports](#budget-report).
See also: [Budgeting and Forecasting](budgeting-and-forecasting.html). See also: [Budgeting and Forecasting](budgeting-and-forecasting.html).
@ -3019,7 +3019,7 @@ An auto posting rule looks a bit like a transaction:
ACCOUNT [AMOUNT] ACCOUNT [AMOUNT]
``` ```
except the first line is an equals sign (mnemonic: `=` suggests matching), except the first line is an equals sign (mnemonic: `=` suggests matching),
followed by a [query](hledger.html#queries) (which matches existing postings), followed by a [query](#queries) (which matches existing postings),
and each "posting" line describes a posting to be generated, and each "posting" line describes a posting to be generated,
and the posting amounts can be: and the posting amounts can be:
@ -3118,12 +3118,11 @@ Also, any transaction that has been changed by auto posting rules will have thes
How hledger reads CSV data, and the CSV rules file format. How hledger reads CSV data, and the CSV rules file format.
hledger can read [CSV] files (Character Separated Value - usually hledger can read [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) files
comma, semicolon, or tab) containing dated records as if they were (Character Separated Value - usually comma, semicolon, or tab)
journal files, automatically converting each CSV record into a containing dated records as if they were journal files,
transaction. automatically converting each CSV record into a transaction.
(To learn about *writing* CSV, see [CSV output](hledger.html#csv-output).)
(To learn about *writing* CSV, see [CSV output](#csv-output).) (To learn about *writing* CSV, see [CSV output](#csv-output).)
We describe each CSV file's format with a corresponding *rules file*. We describe each CSV file's format with a corresponding *rules file*.
@ -3519,13 +3518,13 @@ For more about the transaction parts they refer to, see the manual for hledger's
#### Transaction field names #### Transaction field names
`date`, `date2`, `status`, `code`, `description`, `comment` can be used to form the `date`, `date2`, `status`, `code`, `description`, `comment` can be used to form the
[transaction's](hledger.html#transactions) first line. [transaction's](#transactions) first line.
#### Posting field names #### Posting field names
##### account ##### account
`accountN`, where N is 1 to 99, causes a [posting](hledger.html#postings) to be generated, `accountN`, where N is 1 to 99, causes a [posting](#postings) to be generated,
with that account name. with that account name.
Most often there are two postings, so you'll want to set `account1` and `account2`. Most often there are two postings, so you'll want to set `account1` and `account2`.
@ -3550,7 +3549,7 @@ This is still supported
because it keeps pre-hledger-1.17 csv rules files working, because it keeps pre-hledger-1.17 csv rules files working,
and because it can be more succinct, and because it can be more succinct,
and because it converts posting 2's amount to cost if there's a and because it converts posting 2's amount to cost if there's a
[transaction price](hledger.html#transaction-prices), which can be useful. [transaction price](#transaction-prices), which can be useful.
If you have an existing rules file using the unnumbered form, you If you have an existing rules file using the unnumbered form, you
might want to use the numbered form in certain conditional blocks, might want to use the numbered form in certain conditional blocks,
@ -3569,8 +3568,8 @@ N's amount. Or, `currency` with no number affects all postings.
##### balance ##### balance
`balanceN` sets a [balance assertion](hledger.html#balance-assertions) amount `balanceN` sets a [balance assertion](#balance-assertions) amount
(or if the posting amount is left empty, a [balance assignment](hledger.html#balance-assignments)) (or if the posting amount is left empty, a [balance assignment](#balance-assignments))
on posting N. on posting N.
Also, for compatibility with hledger <1.17: Also, for compatibility with hledger <1.17:
@ -3581,8 +3580,8 @@ You can adjust the type of assertion/assignment with the
##### comment ##### comment
Finally, `commentN` sets a [comment](hledger.html#comments) on the Nth posting. Finally, `commentN` sets a [comment](#comments) on the Nth posting.
Comments can also contain [tags](hledger.html#tags), as usual. Comments can also contain [tags](#tags), as usual.
See TIPS below for more about setting amounts and currency. See TIPS below for more about setting amounts and currency.
@ -3668,7 +3667,7 @@ REGEX is a case-insensitive [regular expression][] tries to match anywhere withi
It is a POSIX ERE (extended regular expression) It is a POSIX ERE (extended regular expression)
that also supports GNU word boundaries (`\b`, `\B`, `\<`, `\>`), that also supports GNU word boundaries (`\b`, `\B`, `\<`, `\>`),
and nothing else. and nothing else.
If you have trouble, be sure to check our https://hledger.org/hledger.html#regular-expressions doc. If you have trouble, be sure to check our doc: https://hledger.org/hledger.html#regular-expressions
Important note: the record that is matched is not the original record, but a synthetic one, Important note: the record that is matched is not the original record, but a synthetic one,
with any enclosing double quotes (but not enclosing whitespace) removed, and always comma-separated with any enclosing double quotes (but not enclosing whitespace) removed, and always comma-separated
@ -3833,7 +3832,7 @@ decimal-mark ,
``` ```
hledger automatically accepts either period or comma as a decimal mark when parsing numbers hledger automatically accepts either period or comma as a decimal mark when parsing numbers
(cf [Amounts](hledger.html#amounts)). (cf [Amounts](#amounts)).
However if any numbers in the CSV contain digit group marks, such as thousand-separating commas, However if any numbers in the CSV contain digit group marks, such as thousand-separating commas,
you should declare the decimal mark explicitly with this rule, to avoid misparsed numbers. you should declare the decimal mark explicitly with this rule, to avoid misparsed numbers.
@ -3881,8 +3880,8 @@ include categorisation.rules
Balance assertions generated by [assigning to balanceN](#posting-field-names) Balance assertions generated by [assigning to balanceN](#posting-field-names)
are of the simple `=` type by default, are of the simple `=` type by default,
which is a [single-commodity](https://hledger.org/hledger.html#assertions-and-commodities), which is a [single-commodity](#assertions-and-commodities),
[subaccount-excluding](https://hledger.org/hledger.html#assertions-and-subaccounts) assertion. [subaccount-excluding](#assertions-and-subaccounts) assertion.
You may find the subaccount-including variants more useful, You may find the subaccount-including variants more useful,
eg if you have created some virtual subaccounts of checking to help with budgeting. eg if you have created some virtual subaccounts of checking to help with budgeting.
You can select a different type of assertion with the `balance-type` rule: You can select a different type of assertion with the `balance-type` rule:
@ -3935,7 +3934,7 @@ $ cat foo | hledger -f ssv:- foo
``` ```
You can override the file extension with a [separator](#separator) rule if needed. You can override the file extension with a [separator](#separator) rule if needed.
See also: [Input files](hledger.html#input-files) in the hledger manual. See also: [Input files](#input-files) in the hledger manual.
### Reading multiple CSV files ### Reading multiple CSV files
@ -3966,7 +3965,7 @@ When you download a CSV file periodically, eg to get your latest bank
transactions, the new file may overlap with the old one, containing transactions, the new file may overlap with the old one, containing
some of the same records. some of the same records.
The [import](hledger.html#import) command will (a) detect the new The [import](#import) command will (a) detect the new
transactions, and (b) append just those transactions to your main transactions, and (b) append just those transactions to your main
journal. It is idempotent, so you don't have to remember how many journal. It is idempotent, so you don't have to remember how many
times you ran it or with which version of the CSV. times you ran it or with which version of the CSV.
@ -4038,7 +4037,7 @@ Here are the ways to set a posting's amount:
4. **If the CSV has the balance instead of the transaction amount:**\ 4. **If the CSV has the balance instead of the transaction amount:**\
Assign to `balanceN`, which sets posting N's amount indirectly via a Assign to `balanceN`, which sets posting N's amount indirectly via a
[balance assignment](hledger.html#balance-assignments). [balance assignment](#balance-assignments).
(Old syntax: `balance`, equivalent to `balance1`.) (Old syntax: `balance`, equivalent to `balance1`.)
- **If hledger guesses the wrong default account name:**\ - **If hledger guesses the wrong default account name:**\
@ -4280,7 +4279,7 @@ In the docs below we'll assume it's time.
A timedot file contains a series of day entries. A timedot file contains a series of day entries.
A day entry begins with a non-indented hledger-style A day entry begins with a non-indented hledger-style
[simple date](hledger.html#simple-dates) (Y-M-D, Y/M/D, Y.M.D..) [simple date](#simple-dates) (Y-M-D, Y/M/D, Y.M.D..)
Any additional text on the same line is used as a transaction description for this day. Any additional text on the same line is used as a transaction description for this day.
This is followed by optionally-indented timelog items for that day, one per line. This is followed by optionally-indented timelog items for that day, one per line.
@ -4396,7 +4395,7 @@ Balance changes in 2016-02-01-2016-02-03:
``` ```
I prefer to use period for separating account components. I prefer to use period for separating account components.
We can make this work with an [account alias](hledger.html#rewriting-accounts): We can make this work with an [account alias](#rewriting-accounts):
```timedot ```timedot
2016/2/4 2016/2/4