denim

Crates.iodenim
lib.rsdenim
version0.2.0
sourcesrc
created_at2019-10-24 12:30:27.208866
updated_at2022-12-22 15:43:21.988026
descriptionDenim is an alternative way to make and run Rust "scripts" with focus on minimal runtime overhead and ease of script development.
homepage
repositoryhttps://github.com/jpastuszek/denim
max_upload_size
id175210
size45,110
Jakub Pastuszek (jpastuszek)

documentation

https://docs.rs/denim

README

Latest Version Documentation License

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
Commit count: 37

cargo fmt