;doc: run & repl: typos fixed, you can pipe into run

This commit is contained in:
Dmitry Astapov 2025-02-28 12:19:52 +00:00 committed by Simon Michael
parent 4a08f975f6
commit 4ad3d00864
4 changed files with 36 additions and 27 deletions

View File

@ -17,16 +17,15 @@ The commands will run more quickly than if run individually, because the input f
Syntax of the commands is intentionally simple: Syntax of the commands is intentionally simple:
- each line is a single hledger command - each line is a single hledger command
- lines that can't be interpreted as hledger commands are printed out as-is
- empty lines are skipped - empty lines are skipped
- everything after `#` is considered to be a comment and will be ignored, and will not be printed out - everything after `#` is considered to be a comment and will be ignored, and will not be printed out
- `echo <text>` will print out text, even if it could be recognized as a hledger command - `echo <text>` will print out `<text>`
You can use single or double quotes to quote aguments that need it ('like this' or "like this"). You can use single or double quotes to quote arguments that need it ('like this' or "like this").
### Caveats: ### Caveats:
- `Repl`, like any other command, will load the input file(s) (specified by `LEDGER_JOURNAL` or by `-f` arguments). The contents of those files would be used by all the commands that `repl` runs. If you want a particular command to use a different input file, you can use `-f` flag for that particular command. This will override (not add) the input for that particular command. All the input files would be cached, and would be read only once. - `Repl`, like any other command, will load the input file(s) (specified by `LEDGER_FILE` or by `-f` arguments). The contents of those files would be used by all the commands that `repl` runs. If you want a particular command to use a different input file, you can use `-f` flag for that particular command. This will override (not add) the input for that particular command. All the input files would be cached, and would be read only once.
### Examples: ### Examples:

View File

@ -17,19 +17,17 @@ The commands will run more quickly than if run individually, because the
input files would be parsed only once. input files would be parsed only once.
Syntax of the commands is intentionally simple: - each line is a single Syntax of the commands is intentionally simple: - each line is a single
hledger command - lines that can't be interpreted as hledger commands hledger command - empty lines are skipped - everything after # is
are printed out as-is - empty lines are skipped - everything after # is
considered to be a comment and will be ignored, and will not be printed considered to be a comment and will be ignored, and will not be printed
out - echo <text> will print out text, even if it could be recognized as out - echo <text> will print out <text>
a hledger command
You can use single or double quotes to quote aguments that need it You can use single or double quotes to quote arguments that need it
('like this' or "like this"). ('like this' or "like this").
Caveats: Caveats:
- Repl, like any other command, will load the input file(s) (specified - Repl, like any other command, will load the input file(s) (specified
by LEDGER_JOURNAL or by -f arguments). The contents of those files by LEDGER_FILE or by -f arguments). The contents of those files
would be used by all the commands that repl runs. If you want a would be used by all the commands that repl runs. If you want a
particular command to use a different input file, you can use -f particular command to use a different input file, you can use -f
flag for that particular command. This will override (not add) the flag for that particular command. This will override (not add) the

View File

@ -11,21 +11,22 @@ no command-specific flags
The commands will run more quickly than if run individually, because the input files would be parsed only once. The commands will run more quickly than if run individually, because the input files would be parsed only once.
"run" has two ways of invocation: "run" has three ways of invocation:
- when all positional arguments of "run" are valid file names, "run" will read commands from these files, in order: `run -f some.journal file1.txt file2.txt file3.txt`. - when all positional arguments of "run" are valid file names, "run" will read commands from these files, in order: `run -f some.journal file1.txt file2.txt file3.txt`.
- commands could be specified directly on the command line. All commands (including the very first one) should be preceded by argument "--": `run -f some.journal -- cmd1 -- cmd2 -- cmd3`. - commands could be specified directly on the command line. All commands (including the very first one) should be preceded by argument "--": `run -f some.journal -- cmd1 -- cmd2 -- cmd3`.
- it could also accept commands from standard input, if you don't provide an positional arguments and pipe commands into it.
Syntax of the command is intentionally simple: Syntax of the command is intentionally simple:
- each line read from a file is a single hledger command - each line read from a file is a single hledger command
- lines that can't be interpreted as hledger commands are printed out as-is
- empty lines are skipped - empty lines are skipped
- everything after `#` is considered to be a comment and will be ignored, and will not be printed out - everything after `#` is considered to be a comment and will be ignored, and will not be printed out
- `echo <text>` will print out text, even if it could be recognized as a hledger command - `echo <text>` will print out `<text>`
- `run` is a valid command to use as well, so you can have `run` call `run` if you want to. - `run` is a valid command to use as well, so you can have `run` call `run` if you want to.
You can use single or double quotes to quote aguments that need it ('like this' or "like this"). You can use single or double quotes to quote arguments that need it ('like this' or "like this").
You can use `#!/usr/bin/env hledger run` in the first line of the file to make it a runnable script. If this complains about "binary `hledger run` not found", use `/usr/bin/env -S hledger run`. You can use `#!/usr/bin/env hledger run` in the first line of the file to make it a runnable script. If this complains about "binary `hledger run` not found", use `/usr/bin/env -S hledger run`.
@ -33,11 +34,16 @@ You can use `#!/usr/bin/env hledger run` in the first line of the file to make i
- If you meant to provide file name as an argument, but made a mistake and a gave file name that does not exist, "run" will attempt to interpret it as a command. - If you meant to provide file name as an argument, but made a mistake and a gave file name that does not exist, "run" will attempt to interpret it as a command.
- `Run`, like any other command, will load the input file(s) (specified by `LEDGER_JOURNAL` or by `-f` arguments). The contents of those files would be used by all the commands that `run` runs. If you want a particular command to use a different input file, you can use `-f` flag for that particular command. This will override (not add) the input for that particular command. All the input files would be cached, and would be read only once. - `Run`, like any other command, will load the input file(s) (specified by `LEDGER_FILE` or by `-f` arguments). The contents of those files would be used by all the commands that `run` runs. If you want a particular command to use a different input file, you can use `-f` flag for that particular command. This will override (not add) the input for that particular command. All the input files would be cached, and would be read only once.
### Examples: ### Examples:
To provide commands on the command line, separate them with `--`: Pipe commands into `run`, one per line:
```cli
(echo "files"; echo "stats") | hledger repl -f some.journal
```
To provide commands on the command line, separate them with `--` (including the first one):
```cli ```cli
hledger run -f some.journal -- balance assets --depth 2 -- balance liabilities -f /some/other.journal --depth 3 --transpose -- stats hledger run -f some.journal -- balance assets --depth 2 -- balance liabilities -f /some/other.journal --depth 3 --transpose -- stats
``` ```

View File

@ -11,7 +11,7 @@ no command-specific flags
The commands will run more quickly than if run individually, because the The commands will run more quickly than if run individually, because the
input files would be parsed only once. input files would be parsed only once.
"run" has two ways of invocation: "run" has three ways of invocation:
- when all positional arguments of "run" are valid file names, "run" - when all positional arguments of "run" are valid file names, "run"
will read commands from these files, in order: will read commands from these files, in order:
@ -21,15 +21,16 @@ input files would be parsed only once.
commands (including the very first one) should be preceded by commands (including the very first one) should be preceded by
argument "--": run -f some.journal -- cmd1 -- cmd2 -- cmd3. argument "--": run -f some.journal -- cmd1 -- cmd2 -- cmd3.
Syntax of the command is intentionally simple: - each line read from a - it could also accept commands from standard input, if you don't
file is a single hledger command - lines that can't be interpreted as provide an positional arguments and pipe commands into it.
hledger commands are printed out as-is - empty lines are skipped -
everything after # is considered to be a comment and will be ignored,
and will not be printed out - echo <text> will print out text, even if
it could be recognized as a hledger command - run is a valid command to
use as well, so you can have run call run if you want to.
You can use single or double quotes to quote aguments that need it Syntax of the command is intentionally simple: - each line read from a
file is a single hledger command - empty lines are skipped - everything
after # is considered to be a comment and will be ignored, and will not
be printed out - echo <text> will print out <text> - run is a valid
command to use as well, so you can have run call run if you want to.
You can use single or double quotes to quote arguments that need it
('like this' or "like this"). ('like this' or "like this").
You can use #!/usr/bin/env hledger run in the first line of the file to You can use #!/usr/bin/env hledger run in the first line of the file to
@ -43,7 +44,7 @@ Caveats:
interpret it as a command. interpret it as a command.
- Run, like any other command, will load the input file(s) (specified - Run, like any other command, will load the input file(s) (specified
by LEDGER_JOURNAL or by -f arguments). The contents of those files by LEDGER_FILE or by -f arguments). The contents of those files
would be used by all the commands that run runs. If you want a would be used by all the commands that run runs. If you want a
particular command to use a different input file, you can use -f particular command to use a different input file, you can use -f
flag for that particular command. This will override (not add) the flag for that particular command. This will override (not add) the
@ -52,7 +53,12 @@ Caveats:
Examples: Examples:
To provide commands on the command line, separate them with --: Pipe commands into run, one per line:
(echo "files"; echo "stats") | hledger repl -f some.journal
To provide commands on the command line, separate them with --
(including the first one):
hledger run -f some.journal -- balance assets --depth 2 -- balance liabilities -f /some/other.journal --depth 3 --transpose -- stats hledger run -f some.journal -- balance assets --depth 2 -- balance liabilities -f /some/other.journal --depth 3 --transpose -- stats