This Emacs library provides commands and a minor mode for easily reformatting shell script source code using the shfmt program.
If you choose not to use one of the convenient
packages in MELPA, you'll need to
add the directory containing shfmt.el
to your load-path
, and
then (require 'shfmt)
.
Customise the shfmt-command
variable as desired, then call
shfmt-buffer
or shfmt-region
as convenient.
Enable shfmt-on-save-mode
in Shell Mode buffers like this:
(add-hook 'sh-mode-hook 'shfmt-on-save-mode)
or locally to your project with a form in your .dir-locals.el like this:
((sh-mode
(mode . shfmt-on-save)))
You might like to bind shfmt
or shfmt-buffer
to a key,
e.g. with:
(define-key 'sh-mode-map (kbd "C-c C-f") 'shfmt)