Skip to content

jpastuszek/denim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Single file rust scritps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages