Major mode for driving just files.
GPL-3.0 License
#+HTML:
justl.el mode is a major mode for driving [[https://github.com/casey/just][justfiles]]. As compared to the [[https://melpa.org/#/just-mode][just-mode]], this mode is built for listing and executing the recipes in the justfile via the [[https://magit.vc/manual/transient][transient]] keymaps. Also works with [[https://www.gnu.org/software/tramp/][TRAMP]].
[[https://user-images.githubusercontent.com/737477/132949123-87387b7e-8f7d-45de-ac32-8815d9c1dc5d.png]]
It's available via [[https://melpa.org/#/justl][melpa]] and can be installed through [[https://github.com/jwiegley/use-package][use-package]]:
#+begin_example elisp (use-package justl :ensure t :custom (justl-executable "/home/sibi/bin/just")) #+end_example
Optionally you can install it via [[https://github.com/quelpa/quelpa][quelpa]] too:
#+begin_example elisp (use-package justl :quelpa (justl :fetcher github :repo "psibi/justl.el")
:custom (justl-executable "/home/sibi/bin/just") (justl-recipe-width 25)) #+end_example
For [[https://github.com/doomemacs/doomemacs][doom emacs]], you can install by adding the following to your config.el
:
#+begin_example elisp (use-package! justl :config (map! :n "e" 'justl-exec-recipe)) #+end_example
and the following to your packages.el
:
#+begin_example elisp (package! justl :recipe (:host github :repo "psibi/justl.el")) #+end_example
To list all the recipes present in your justfile, call
#+begin_example elisp M-x justl #+end_example
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
#+begin_example elisp M-x justl-exec-recipe-in-dir #+end_example
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:
#+begin_example 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 #+end_example
See the [[file:Changelog.org][Changelog.org]] for the list of changes.