2 releases

0.1.1 Feb 2, 2024
0.1.0 Feb 2, 2024

#1 in #love

GPL-3.0 license

1.5MB
1.5K SLoC

Contains (Zip file, 95KB) extension/runfile-0.0.1.vsix

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!

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.

License

This project is licensed under the GPL-3.0 license.

Dependencies

~5–15MB
~192K SLoC