Ten Years of Just (and Lists)

rodarmor1 pts0 comments

I made my first commit to `just`, a command-runner written in Rust, ten years ago with the auspicious commit message Initial commit. Broken. Thanks to everyone that has used `just` over the years, the authors of the huge variety of useful crates that `just` uses as dependencies. I m especially grateful to all the feedback, design help, and issue reports I ve gotten. `just` is largely a solo project, and my own use of `just` is fairly simple, so I rely on users to let me know what they re doing, what they want to do, and what works and what doesn t.I just (lmao, never gets old) released 1.53.0, https://github.com/casey/just/releases/tag/1.53.0, which has a huge new feature: lists!There have been many issues over the years which are hard or difficult to solve with strings alone, so now, instead of all values being strings, all values are lists of strings. This preserves the simplicity of `just` s single-type type system, what were strings are now lists of length one.This is an odd but hopefully pragmatic choice, and one shared by the rc and fish shells.Two headline features this enables are properly quoting variadic arguments: set unstable set lists foo *args: echo {{ quote(args) }} And mapping variadic arguments to dependencies, especially in parallel: set unstable set lists # call `compile` with each element of `args` in parallel [parallel] build *args: *(compile *args) compile target: But there is a a ton of functionality, all documented in the lists section of the readme, https://github.com/casey/just#lists, to avail yourself of.Thank you for using `just`, and do try out lists and let me know what you think!

lists args years strings code commit

Related Articles