Skip to content

psibi/justl.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MELPA

Introduction

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.

https://user-images.githubusercontent.com/737477/132949123-87387b7e-8f7d-45de-ac32-8815d9c1dc5d.png

Installation

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"))

Usage

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.

Shortcuts

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

Customize

  • 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.

Future

  • Implement justfile variables related features.

Releases

See the Changelog.org for the list of changes.