doc: flags/usage/manual cleanups
This commit is contained in:
parent
f4b3f1c094
commit
7df15a8279
30
doc/lib.m4
30
doc/lib.m4
@ -63,7 +63,7 @@ m4_define({{_rules_}}, {{```rules$1```}} )m4_dnl
|
|||||||
m4_define({{_timeclock_}}, {{```timeclock$1```}} )m4_dnl
|
m4_define({{_timeclock_}}, {{```timeclock$1```}} )m4_dnl
|
||||||
m4_define({{_timedot_}}, {{```timedot$1```}} )m4_dnl
|
m4_define({{_timedot_}}, {{```timedot$1```}} )m4_dnl
|
||||||
m4_dnl
|
m4_dnl
|
||||||
m4_define({{_generaloptions_}}, {{
|
m4_define({{_helpoptions_}}, {{
|
||||||
|
|
||||||
`-h`
|
`-h`
|
||||||
: show general usage (or after COMMAND, the command's usage)
|
: show general usage (or after COMMAND, the command's usage)
|
||||||
@ -83,17 +83,27 @@ m4_define({{_generaloptions_}}, {{
|
|||||||
`--debug[=N]`
|
`--debug[=N]`
|
||||||
: show debug output (levels 1-9, default: 1)
|
: show debug output (levels 1-9, default: 1)
|
||||||
|
|
||||||
|
}} )m4_dnl
|
||||||
|
m4_dnl
|
||||||
|
m4_define({{_inputoptions_}}, {{
|
||||||
|
|
||||||
`-f FILE --file=FILE`
|
`-f FILE --file=FILE`
|
||||||
: use a different input file. For stdin, use -
|
: use a different input file. For stdin, use - (default: `$LEDGER_FILE` or `$HOME/.hledger.journal`)
|
||||||
|
|
||||||
`--rules-file=RULESFILE`
|
`--rules-file=RULESFILE`
|
||||||
: Conversion rules file to use when reading CSV (default: FILE.rules)
|
: Conversion rules file to use when reading CSV (default: FILE.rules)
|
||||||
|
|
||||||
`--alias=OLD=NEW`
|
`--alias=OLD=NEW`
|
||||||
: display accounts named OLD as NEW
|
: rename accounts named OLD to NEW
|
||||||
|
|
||||||
|
`--anon`
|
||||||
|
: anonymize accounts and payees
|
||||||
|
|
||||||
|
`--pivot TAGNAME`
|
||||||
|
: use some other field/tag for account names
|
||||||
|
|
||||||
`-I --ignore-assertions`
|
`-I --ignore-assertions`
|
||||||
: ignore any failing balance assertions in the journal
|
: ignore any failing balance assertions
|
||||||
|
|
||||||
}} )m4_dnl
|
}} )m4_dnl
|
||||||
m4_dnl
|
m4_dnl
|
||||||
@ -152,11 +162,15 @@ m4_define({{_reportingoptions_}}, {{
|
|||||||
: convert amounts to their market value on the report end date
|
: convert amounts to their market value on the report end date
|
||||||
(using the most recent applicable [market price](journal.html#market-prices), if any)
|
(using the most recent applicable [market price](journal.html#market-prices), if any)
|
||||||
|
|
||||||
`--pivot TAGNAME`
|
}} )m4_dnl
|
||||||
: organize reports by some tag's value instead of by account
|
m4_dnl
|
||||||
|
m4_define({{_generaloptions_}}, {{
|
||||||
|
|
||||||
`--anon`
|
_inputoptions_
|
||||||
: show anonymized accounts and payees
|
|
||||||
|
_reportingoptions_
|
||||||
|
|
||||||
|
_helpoptions_
|
||||||
|
|
||||||
}} )m4_dnl
|
}} )m4_dnl
|
||||||
m4_dnl
|
m4_dnl
|
||||||
|
|||||||
@ -15,7 +15,6 @@ hledger-api - web API server for the hledger accounting tool
|
|||||||
# SYNOPSIS
|
# SYNOPSIS
|
||||||
|
|
||||||
`hledger-api [OPTIONS]`\
|
`hledger-api [OPTIONS]`\
|
||||||
`hledger-api --swagger`\
|
|
||||||
`hledger api -- [OPTIONS]`
|
`hledger api -- [OPTIONS]`
|
||||||
|
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
@ -43,18 +42,36 @@ the API docs will be printed in Swagger 2.0 format.
|
|||||||
|
|
||||||
Note: if invoking hledger-api as a hledger subcommand, write `--` before options as shown above.
|
Note: if invoking hledger-api as a hledger subcommand, write `--` before options as shown above.
|
||||||
|
|
||||||
|
`-f --file=FILE`
|
||||||
|
: use a different input file. For stdin, use - (default: `$LEDGER_FILE` or `$HOME/.hledger.journal`)
|
||||||
|
|
||||||
`-d --static-dir=DIR`
|
`-d --static-dir=DIR`
|
||||||
: serve files from a different directory (default: `.`)
|
: serve files from a different directory (default: `.`)
|
||||||
|
|
||||||
|
`--host=IPADDR`
|
||||||
|
: listen on this IP address (default: 127.0.0.1)
|
||||||
|
|
||||||
`-p --port=PORT`
|
`-p --port=PORT`
|
||||||
: use a different TCP port (default: 8001)
|
: listen on this TCP port (default: 8001)
|
||||||
|
|
||||||
`--swagger`
|
`--swagger`
|
||||||
: print API docs in Swagger 2.0 format, and exit
|
: print API docs in Swagger 2.0 format, and exit
|
||||||
|
|
||||||
hledger general options:
|
`--version`
|
||||||
|
: show version
|
||||||
|
|
||||||
|
`-h`
|
||||||
|
: show usage
|
||||||
|
|
||||||
|
`--help`
|
||||||
|
: show manual as plain text
|
||||||
|
|
||||||
|
`--man`
|
||||||
|
: show manual with man
|
||||||
|
|
||||||
|
`--info`
|
||||||
|
: show manual with info
|
||||||
|
|
||||||
_generaloptions_
|
|
||||||
|
|
||||||
_man_({{
|
_man_({{
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ Usage:
|
|||||||
hledger-api --swagger
|
hledger-api --swagger
|
||||||
print API docs in Swagger 2.0 format
|
print API docs in Swagger 2.0 format
|
||||||
hledger-api --version
|
hledger-api --version
|
||||||
hledger-api -h|--help|--info
|
hledger-api -h|--help|--man|--info
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-f --file FILE use a different input file
|
-f --file FILE use a different input file
|
||||||
|
|||||||
@ -69,14 +69,18 @@ Any QUERYARGS are interpreted as a hledger search query which filters the data.
|
|||||||
`--flat`
|
`--flat`
|
||||||
: show full account names, unindented
|
: show full account names, unindented
|
||||||
|
|
||||||
hledger general options:
|
hledger input options:
|
||||||
|
|
||||||
_generaloptions_
|
_inputoptions_
|
||||||
|
|
||||||
hledger reporting options:
|
hledger reporting options:
|
||||||
|
|
||||||
_reportingoptions_
|
_reportingoptions_
|
||||||
|
|
||||||
|
hledger help options:
|
||||||
|
|
||||||
|
_helpoptions_
|
||||||
|
|
||||||
# KEYS
|
# KEYS
|
||||||
|
|
||||||
`?` shows a help dialog listing all keys.
|
`?` shows a help dialog listing all keys.
|
||||||
|
|||||||
@ -124,14 +124,18 @@ You would change this when sharing over the network, or integrating within a lar
|
|||||||
hledger-web normally serves static files itself, but if you wanted to
|
hledger-web normally serves static files itself, but if you wanted to
|
||||||
serve them from another server for efficiency, you would set the url with this.
|
serve them from another server for efficiency, you would set the url with this.
|
||||||
|
|
||||||
hledger general options:
|
hledger input options:
|
||||||
|
|
||||||
_generaloptions_
|
_inputoptions_
|
||||||
|
|
||||||
hledger reporting options:
|
hledger reporting options:
|
||||||
|
|
||||||
_reportingoptions_
|
_reportingoptions_
|
||||||
|
|
||||||
|
hledger help options:
|
||||||
|
|
||||||
|
_helpoptions_
|
||||||
|
|
||||||
_man_({{
|
_man_({{
|
||||||
|
|
||||||
# ENVIRONMENT
|
# ENVIRONMENT
|
||||||
|
|||||||
@ -118,11 +118,12 @@ detailedversionflag = flagNone ["version+"] (setboolopt "version+") "show versio
|
|||||||
-- | Common input-related flags: --file, --rules-file, --alias...
|
-- | Common input-related flags: --file, --rules-file, --alias...
|
||||||
inputflags :: [Flag RawOpts]
|
inputflags :: [Flag RawOpts]
|
||||||
inputflags = [
|
inputflags = [
|
||||||
flagReq ["file","f"] (\s opts -> Right $ setopt "file" s opts) "FILE" "use a different input file. For stdin, use -"
|
flagReq ["file","f"] (\s opts -> Right $ setopt "file" s opts) "FILE" "use a different input file. For stdin, use - (default: $LEDGER_FILE or $HOME/.hledger.journal)"
|
||||||
,flagReq ["rules-file"] (\s opts -> Right $ setopt "rules-file" s opts) "RFILE" "CSV conversion rules file (default: FILE.rules)"
|
,flagReq ["rules-file"] (\s opts -> Right $ setopt "rules-file" s opts) "RFILE" "CSV conversion rules file (default: FILE.rules)"
|
||||||
,flagReq ["alias"] (\s opts -> Right $ setopt "alias" s opts) "OLD=NEW" "display accounts named OLD as NEW"
|
,flagReq ["alias"] (\s opts -> Right $ setopt "alias" s opts) "OLD=NEW" "rename accounts named OLD to NEW"
|
||||||
,flagNone ["ignore-assertions","I"] (setboolopt "ignore-assertions") "ignore any balance assertions in the journal"
|
,flagNone ["anon"] (setboolopt "anon") "anonymize accounts and payees"
|
||||||
,flagReq ["pivot"] (\s opts -> Right $ setopt "pivot" s opts) "TAGNAME" "organize reports by some tag's value, not by account"
|
,flagReq ["pivot"] (\s opts -> Right $ setopt "pivot" s opts) "TAGNAME" "use some other field/tag for account names"
|
||||||
|
,flagNone ["ignore-assertions","I"] (setboolopt "ignore-assertions") "ignore any balance assertions"
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Common report-related flags: --period, --cost, etc.
|
-- | Common report-related flags: --period, --cost, etc.
|
||||||
@ -146,7 +147,6 @@ reportflags = [
|
|||||||
,flagNone ["empty","E"] (setboolopt "empty") "show items with zero amount, normally hidden"
|
,flagNone ["empty","E"] (setboolopt "empty") "show items with zero amount, normally hidden"
|
||||||
,flagNone ["cost","B"] (setboolopt "cost") "convert amounts to their cost at transaction time (using the transaction price, if any)"
|
,flagNone ["cost","B"] (setboolopt "cost") "convert amounts to their cost at transaction time (using the transaction price, if any)"
|
||||||
,flagNone ["value","V"] (setboolopt "value") "convert amounts to their market value on the report end date (using the most recent applicable market price, if any)"
|
,flagNone ["value","V"] (setboolopt "value") "convert amounts to their market value on the report end date (using the most recent applicable market price, if any)"
|
||||||
,flagNone ["anon"] (setboolopt "anon") "output ledger with anonymized accounts and payees."
|
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Common output-related flags: --output-file, --output-format...
|
-- | Common output-related flags: --output-file, --output-format...
|
||||||
|
|||||||
@ -127,7 +127,7 @@ mainmode addons = defMode {
|
|||||||
PROGNAME list commands
|
PROGNAME list commands
|
||||||
PROGNAME CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)
|
PROGNAME CMD [--] [OPTS] [ARGS] run a command (use -- with addon commands)
|
||||||
PROGNAME-CMD [OPTS] [ARGS] or run addon commands directly
|
PROGNAME-CMD [OPTS] [ARGS] or run addon commands directly
|
||||||
PROGNAME -h hledger usage
|
PROGNAME -h general usage
|
||||||
PROGNAME CMD -h command usage
|
PROGNAME CMD -h command usage
|
||||||
PROGNAME --help PROGNAME manual
|
PROGNAME --help PROGNAME manual
|
||||||
PROGNAME --man PROGNAME manual as man page
|
PROGNAME --man PROGNAME manual as man page
|
||||||
|
|||||||
@ -1,76 +1,66 @@
|
|||||||
# OPTIONS
|
# OPTIONS
|
||||||
|
|
||||||
To see general usage and the command list: `hledger -h` or just `hledger`.
|
To see general usage help, including general options
|
||||||
To see usage for a specific command: `hledger COMMAND -h`.
|
which are supported by most hledger commands, run `hledger -h`.
|
||||||
|
(Note -h and --help are different, like git.)
|
||||||
|
These options can appear anywhere on the command line, and are listed below.
|
||||||
|
|
||||||
hledger has several kinds of options:
|
To see usage for a specific command, run: `hledger COMMAND -h`.
|
||||||
|
Command-specific options must be written after the command name, eg: `hledger print -x`.
|
||||||
|
|
||||||
- General options are always available and can appear anywhere on the command line.
|
Additionally, if the command is an [add-on](#commands),
|
||||||
`hledger -h` shows these. Eg: `hledger --version`.
|
you may need to put its options after a double-hyphen, eg: `hledger ui -- --watch`.
|
||||||
|
Or, you can run the add-on executable directly, eg: `hledger-ui --watch`.
|
||||||
|
|
||||||
- Common reporting options are available with most commands.
|
Most commands also accept arguments, which are often
|
||||||
These and all other non-general options must be written after COMMAND.
|
a [query](#queries) filtering the data in some way.
|
||||||
`hledger COMMAND -h` shows these. Eg: `hledger register --cleared`.
|
|
||||||
|
|
||||||
- Command-specific options are also provided by some commands.
|
## Special characters
|
||||||
`hledger COMMAND -h` shows these too. Eg: `hledger register --average`.
|
|
||||||
|
|
||||||
- Some hledger commands come from separate [add-on executables](#commands),
|
Option and argument values which contain problematic characters
|
||||||
which have their own options.
|
|
||||||
`hledger COMMAND -h` shows these, as usual.
|
|
||||||
Such options, if not also supported by hledger,
|
|
||||||
should be written following a double hyphen argument (`--`)
|
|
||||||
so that hledger's option parser does not complain.
|
|
||||||
Eg: `hledger ui -- --register=checking`.
|
|
||||||
Or, you can just run the add-on directly:
|
|
||||||
`hledger-ui --register=checking`.
|
|
||||||
|
|
||||||
Command arguments may also follow the command name.
|
|
||||||
In most cases these specify a [query](#queries) which filters the data.
|
|
||||||
Command options and arguments can be intermixed.
|
|
||||||
|
|
||||||
Option and argument values containing problematic characters
|
|
||||||
should be escaped with double quotes, backslashes, or (best) single quotes.
|
should be escaped with double quotes, backslashes, or (best) single quotes.
|
||||||
This means spaces, but also characters which are significant to your
|
Problematic characters means spaces, and also characters which are significant to your
|
||||||
command shell, such as less-than/greater-than.
|
command shell, such as less-than/greater-than.
|
||||||
Eg: `hledger register -p 'last year' "accounts receivable (receivable|payable)" amt:\>100`.
|
Eg: `hledger register -p 'last year' "accounts receivable (receivable|payable)" amt:\>100`.
|
||||||
|
|
||||||
Characters which are significant to the shell and also in
|
Characters which are significant both to the shell and in
|
||||||
[regular expressions](#regular-expressions), like parentheses,
|
[regular expressions](#regular-expressions) sometimes need to be double-escaped.
|
||||||
the pipe symbol and the dollar sign, must sometimes be double-escaped.
|
These include parentheses, the pipe symbol and the dollar sign.
|
||||||
Eg, to match the dollar symbol: `hledger balance cur:'\$'` or
|
Eg, to match the dollar symbol, bash users should do: `hledger balance cur:'\$'` or
|
||||||
`hledger balance cur:\\$`.
|
`hledger balance cur:\\$`.
|
||||||
|
|
||||||
There's more.. options and arguments being passed by hledger to an
|
There's more.. options and arguments get de-escaped when hledger
|
||||||
add-on executable get de-escaped once in the process. In this case you
|
is passing them to an addon executable. In this case you might need *triple*-escaping.
|
||||||
might need triple-escaping.
|
|
||||||
Eg: `hledger ui cur:'\\$'` or `hledger ui cur:\\\\$`.
|
Eg: `hledger ui cur:'\\$'` or `hledger ui cur:\\\\$`.
|
||||||
|
|
||||||
If in doubt, keep things simple:
|
If in doubt, keep things simple:
|
||||||
|
|
||||||
|
- run add-on executables directly
|
||||||
- write options after the command
|
- write options after the command
|
||||||
- enclose problematic args in single quotes
|
- enclose problematic args in single quotes
|
||||||
- if needed, also add a backslash to escape regexp metacharacters
|
- if needed, also add a backslash to escape regexp metacharacters
|
||||||
- run add-on executables directly
|
|
||||||
|
|
||||||
If you're really curious, add `--debug=2` for troubleshooting.
|
If you're really stumped, add `--debug=2` to troubleshoot.
|
||||||
|
|
||||||
|
|
||||||
## General options
|
## General options
|
||||||
|
|
||||||
Always available, can be written before or after COMMAND.
|
### General help options
|
||||||
|
|
||||||
_generaloptions_
|
_helpoptions_
|
||||||
|
|
||||||
## Reporting options
|
### General input options
|
||||||
|
|
||||||
Common reporting options, must be written after COMMAND.
|
_inputoptions_
|
||||||
|
|
||||||
|
### General reporting options
|
||||||
|
|
||||||
_reportingoptions_
|
_reportingoptions_
|
||||||
|
|
||||||
If a reporting option occurs more than once on the command line,
|
Note when multiple similar reporting options are provided, the last one takes precedence.
|
||||||
the last one takes precedence.
|
Eg `-p feb -p mar` is equivalent to `-p mar`.
|
||||||
Eg -p jan -p feb is equivalent to -p feb.
|
|
||||||
|
Some of these can also be written as [queries](#queries).
|
||||||
|
|
||||||
## Input files
|
## Input files
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user