• Stars
    star
    110
  • Rank 316,770 (Top 7 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created 11 months ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run commands in the languages you love!

Logo

Crates.io Version

Run commands in the languages you love!

Screenshot

Create scripts with multiple commands easily with run.
You can write a command in any of the supported languages, and even mix them!

And, if you have nix installed, run will fetch the necessary packages automatically, there's no need to have any toolchain installed.

Features

  • Run commands in multiple languages seamlessly
  • Fetch language toolchains automatically with nix
  • Module system to reuse scripts
  • Supports both commands and subcommands
  • Self-contained in a single binary, no extra dependencies
  • runfiles are just text files, easy to share and version control

Languages

run supports the following languages, with their respective command indicators:

If you want a language to be added, please open an issue or a pull request following the steps in CONTRIBUTE.md.

Installation

Download the latest installer from the releases page.

Or compile it yourself with cargo:

cargo install runfile

VSCode Extension

There's a VSCode extension that provides syntax highlighting for runfile scripts.

It's experimental, so you'll need to install it manually.

Download the latest .vsix and run code --install-extension runfile-0.0.1.vsix to install it.

Usage

runfile is to run what makefile is to make

Create a runfile wherever you want, and write your commands in it.
Then, run run in the same directory as the runfile to execute the commands.

The possible names for the runfile are: run, runfile or any file with the .run extension.

If you want to see the available commands run run --commands, or run --help for more information.

How to write a runfile

Example

See the runfile in the screenshot here.

Contributing

Contributions are welcome! If you want to add a new language, follow the steps in CONTRIBUTE.md.

License

This project is licensed under the GPL-3.0 license.