6 releases
0.2.0 | Dec 22, 2022 |
---|---|
0.1.5 | Jun 18, 2021 |
0.1.4 | Oct 9, 2020 |
0.1.3 | Nov 22, 2019 |
0.1.1 | Oct 25, 2019 |
#285 in Command-line interface
19KB
376 lines
Denim is an alternative way to make and run Rust "scripts" with focus on minimal runtime overhead and ease of script development.
Features
- Full real-time output of
cargo
command runs. - Support for
Cargo.toml
definitions within script source. - Sensible script templates.
- Very low execution overhead after script was built.
#!
support.- Create, build and tests scripts without interrupting existing script callers.
Non-goals
- Run inline scripts - use
cargo script(er)
for this. - Non-Linux support.
Installation
You will need Rust installed (tested with 1.64.0).
cargo install denim
Examples
Crate new minimal script and build it.
denim new --bare hello_world
Crate new cotton prelude script and build it (this will take a moment).
denim new hello_world
Now you can run the script as any other binary. Note that you can also run the script without building it first - the build will be done silently before program is executed.
./hello_world
After making changes to script it needs to be rebuild for them to take effect.
Executing script directly (e.g. ./hello_world
) will execute last built version until changed script builds successfully.
denim build hello_world
Rebuild and run script after making changes.
denim run hello_world
Run tests.
denim test hello_world
Check script.
denim check hello_world
Dependencies
~5–14MB
~177K SLoC