doc: RFC: husht command line and top-level behavior #1

Open
glen wants to merge 3 commits from rfq_cli into main
Showing only changes of commit 519da3ca45 - Show all commits

View File

@ -33,24 +33,19 @@ is a list of files, directories or glob patterns, defaulting to `.`. A
directory `dir` is interpreted the same way as the glob pattern `dir/**` --
in other words, all files recursively within that directory. Glob patterns
are matched and all matching files are added to the list of files to process.
If there is a destination directory (see below), all files in the destination
directory are ignored. Files that do not have extension `.toml` or `.hsh` are
ignored. The former are copied unchanged; the latter are transformed per the
husht language specification into Rust `.rs` files.
All files in the output directory are ignored. Files that do not have
extension `.toml` or `.hsh` are ignored. The former are copied unchanged;
the latter are transformed per the husht language specification into
Rust `.rs` files.
Options:
- -h, --help -- Print a usage summary and exit
- -o, --destination [dir/file] -- Specifies the destination of the
transformed file(s). If the destination is a single file, the sources must
be as well, and the one file is transformed into the other. A destination
specification without an extension is assumed to be a directory. The
default destination is `rust`.
If the destination is a directory, then the transform of each source file
is written into that directory, preserving its relative path to its "root".
The root of a file added by virtue of a glob is the top level directory
of that glob pattern. The root of a file specified explicitly is the
current directory.
- --out-dir [dir] -- Specifies the output directory of the transformed
file(s), defaulting to `rust`. The transform of each source file is
written into the output directory, preserving its relative path to its
"root". The root of a file added by virtue of a glob is the top level
directory of that glob pattern, or the current directory if none.
The root of a file specified explicitly is the current directory.
For example, if the `src` directory contains `main.hsh`, `sub/crate.hsh`, and
`Cargo.toml` (and there are no other .hsh or .toml files in the directory