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 |
#291 in Command-line interface
34 downloads per month
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–18MB
~179K SLoC