doc: Copy all non-hsh files, not just .toml; lay out examples
This commit is contained in:
parent
519da3ca45
commit
703d92d925
60
README.md
60
README.md
@ -33,10 +33,14 @@ is a list of files, directories or glob patterns, defaulting to `.`. A
|
|||||||
directory `dir` is interpreted the same way as the glob pattern `dir/**` --
|
directory `dir` is interpreted the same way as the glob pattern `dir/**` --
|
||||||
in other words, all files recursively within that directory. Glob patterns
|
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.
|
are matched and all matching files are added to the list of files to process.
|
||||||
All files in the output directory are ignored. Files that do not have
|
All files in the output directory are ignored. Files that have
|
||||||
extension `.toml` or `.hsh` are ignored. The former are copied unchanged;
|
extension `.hsh` are transformed per the husht language specification into
|
||||||
the latter are transformed per the husht language specification into
|
Rust `.rs` files, which are written to the appropriate destination specified
|
||||||
Rust `.rs` files.
|
by the options described below. All other files to process are copied
|
||||||
|
unchanged to the destination. The latter convention allows `.toml` files, and
|
||||||
|
potentially other associated files, to be co-located with the source and yet
|
||||||
|
end up in the appropriate place in an intermediate build location with the
|
||||||
|
generated Rust code.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
- -h, --help -- Print a usage summary and exit
|
- -h, --help -- Print a usage summary and exit
|
||||||
@ -45,11 +49,45 @@ Options:
|
|||||||
written into the output directory, preserving its relative path to its
|
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
|
"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.
|
directory of that glob pattern, or the current directory if none.
|
||||||
The root of a file specified explicitly is the current directory.
|
The root of a file specified explicitly is the current directory. If a
|
||||||
|
file is not within the tree starting from what would otherwise be its
|
||||||
|
root, its root is considered to be its directory. (In other words, the
|
||||||
|
destination for that file will be the `--out-dir` itself.)
|
||||||
|
|
||||||
For example, if the `src` directory contains `main.hsh`, `sub/crate.hsh`, and
|
For example, suppose the current directory is the top-level directory of your
|
||||||
`Cargo.toml` (and there are no other .hsh or .toml files in the directory
|
project and is laid out like so:
|
||||||
tree), then `husht src` would write `rust/main.rs`, `rust/sub/crate.rs`, and
|
|
||||||
`rust/Cargo.toml`. On the other hand just `husht`, defaulting to `husht .`,
|
```
|
||||||
would write `rust/src/main.rs`, `rust/src/sub/crate.rs`, and
|
src
|
||||||
`rust/src/Cargo.toml`.
|
├─ main.hsh
|
||||||
|
├─ Cargo.toml
|
||||||
|
└─ sub
|
||||||
|
└─ crate.hsh
|
||||||
|
rust
|
||||||
|
└─ jnk.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Then after `husht src` the `rust` directory would look like:
|
||||||
|
|
||||||
|
```
|
||||||
|
rust
|
||||||
|
├─ jnk.txt
|
||||||
|
├─ main.rs
|
||||||
|
├─ Cargo.toml
|
||||||
|
└─ sub
|
||||||
|
└─ crate.rs
|
||||||
|
```
|
||||||
|
(Note that the `rust` directory does not have to exist prior to the `husht`
|
||||||
|
command; if it had not, the results would look the same, except that of course
|
||||||
|
`jnk.txt` would not be there.)
|
||||||
|
|
||||||
|
On the other hand, just `husht`, defaulting to `husht .`, would produce:
|
||||||
|
```
|
||||||
|
rust
|
||||||
|
├─ jnk.txt
|
||||||
|
└─ src
|
||||||
|
├─ main.rs
|
||||||
|
├─ Cargo.toml
|
||||||
|
└─ sub
|
||||||
|
└─ crate.rs
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user