justl.el mode is a major mode for driving justfiles. As compared to the just-mode, this mode is built for listing and executing the recipes in the justfile via the transient keymaps. Also works with TRAMP.
It’s available via melpa and can be installed through use-package:
(use-package justl :ensure t :custom (justl-executable "/home/sibi/bin/just"))
Optionally you can install it via quelpa too:
(use-package justl :quelpa (justl :fetcher github :repo "psibi/justl.el") :custom (justl-executable "/home/sibi/bin/just") (justl-recipe-width 25))
For doom emacs, you can install by adding the following to your `config.el`:
(use-package! justl :config (map! :n "e" 'justl-exec-recipe))
and the following to your `packages.el`:
(package! justl :recipe (:host github :repo "psibi/justl.el"))
To list all the recipes present in your justfile, call
M-x justl
You don’t have to call it from the actual justfile. Calling it from the directory where the justfile is present should be enough.
Alternatively if you want to just execute a recipe quickly, call
M-x justl-exec-recipe-in-dir
To execute default recipe, call justl-exec-default-recipe
To execute multiple recipes in parallel, customize justl-per-recipe-buffer to create dedicated buffers named *just-RECIPE*. This is useful to manage long running process.
On the just screen, place your cursor on a recipe:
h => help popup ? => help popup g => refresh e => execute recipe E => execute recipe with a shell w => execute recipe with arguments W => open a shell without executing
- Because the help popup is built with transient, you can set and save your choices the same way you would with any other transient dialog.
- By default, justl searches the executable named just, you can change the justl-executable variable to set any explicit path.
- You can also control the width of the RECIPE column in the justl buffer via justl-recipe width. By default it has a value of 20.
- You can change the shell between eshell and vterm using the justl-shell variable. Using vterm requires the vterm package to be installed.
- Implement justfile variables related features.
See the Changelog.org for the list of changes.