Add better documentation for --dump and --fmt (#1603)

This commit is contained in:
Greg Shuflin 2023-06-12 10:02:13 -07:00 committed by GitHub
parent a1220c63e3
commit 41aee4572d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2275,9 +2275,46 @@ default:
echo foo
```
### Dumping `justfile`s as JSON
### Formatting and dumping `justfile`s
The `--dump` command can be used with `--dump-format json` to print a JSON representation of a `justfile`. The JSON format is currently unstable, so the `--unstable` flag is required.
Each `justfile` has a canonical formatting with respect to whitespace and
newlines.
You can overwrite the current justfile with a canonically-formatted version
using the currently-unstable `--fmt` flag:
```sh
$ cat justfile
# A lot of blank lines
some-recipe:
echo "foo"
$ just --fmt --unstable
$ cat justfile
# A lot of blank lines
some-recipe:
echo "foo"
```
Invoking `just --fmt --check --unstable` runs `--fmt` in check mode. Instead of
overwriting the `justfile`, `just` will exit with an exit code of 0 if it is
formatted correctly, and will exit with 1 and print a diff if it is not.
You can use the `--dump` command to output a formatted version of the
`justfile` to stdout:
```sh
$ just --dump > formatted-justfile
```
The `--dump` command can be used with `--dump-format json` to print a JSON
representation of a `justfile`. The JSON format is currently unstable, so the
`--unstable` flag is required.
### Fallback to parent `justfile`s