Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psibi/justl.el
Major mode for driving just files.
https://github.com/psibi/justl.el
emacs just justfile
Last synced: 16 days ago
JSON representation
Major mode for driving just files.
- Host: GitHub
- URL: https://github.com/psibi/justl.el
- Owner: psibi
- License: gpl-3.0
- Created: 2021-09-04T14:53:09.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-25T04:55:40.000Z (about 2 months ago)
- Last Synced: 2024-10-11T23:59:39.250Z (about 1 month ago)
- Topics: emacs, just, justfile
- Language: Emacs Lisp
- Homepage:
- Size: 276 KB
- Stars: 65
- Watchers: 3
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.org
- Changelog: Changelog.org
- License: COPYING
Awesome Lists containing this project
README
# NOTE: To avoid having this in the info manual, we use HTML rather than Org syntax; it still appears with the GitHub renderer.
#+HTML:* Introduction
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]]
* Installation
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_exampleOptionally 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_exampleFor [[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_exampleand the following to your `packages.el`:
#+begin_example elisp
(package! justl :recipe (:host github :repo "psibi/justl.el"))
#+end_example* Usage
To list all the recipes present in your justfile, call
#+begin_example elisp
M-x justl
#+end_exampleYou 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_exampleTo 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:
#+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* Customize
- Because the help popup is built with transient, you can [[https://www.gnu.org/software/emacs//manual/html_node/transient/Saving-Values.html][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 [[https://github.com/akermu/emacs-libvterm][the vterm package]] to be installed.* Future
- Implement justfile variables related features.
* Releases
See the [[file:Changelog.org][Changelog.org]] for the list of changes.