Skip to content

A ShellCheck-powered backend for Flymake

License

Notifications You must be signed in to change notification settings

federicotdn/flymake-shellcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

flymake-shellcheck (maintenance mode)

MELPA License

Note: If you're using Emacs version 29 or higher, installing this package is not necessary, as the Flymake-Shellcheck integration is now built-in into the editor. This project is now in maintenance mode; no new features or enhancements will be made for it, unless they are required for security reasons.

An Emacs (26+) Flymake handler for bash/sh scripts, using ShellCheck. Installing Flymake is not necessary as it is included with Emacs itself.

Installation

First, make sure ShellCheck is installed by following the installation guide. After that, you can install flymake-shellcheck by using the package-install command (make sure MELPA is included in your package sources):

M-x package-install RET flymake-shellcheck RET

Alternatively, you can just add flymake-shellcheck.el to your load-path.

Usage

To enable the Flymake backend whenever a bash or sh script is visited, add the following to your init.el file:

(add-hook 'sh-mode-hook 'flymake-shellcheck-load)

If you're using use-package, try this instead:

(use-package flymake-shellcheck
  :commands flymake-shellcheck-load
  :init
  (add-hook 'sh-mode-hook 'flymake-shellcheck-load))

After opening a shell/sh file, remember to enable Flymake:

M-x flymake-mode RET

Customization

  • You can set the flymake-shellcheck-program variable to the path of the ShellCheck executable in your system, in case executable-find wasn't able to find it automatically.
  • You can set the flymake-shellcheck-use-file variable to nil if you wish to run the syntax checker on the contents of the buffer, rather than the contents of the file on disk (default: t).
  • You can set the flymake-shellcheck-allow-external-files variable to t if you want to allow shellcheck to read external sources (it adds -x as argument, described in the SC1091 docs, default: nil).

License

Distributed under the GNU General Public License, version 3.

Releases

No releases published

Packages

No packages published