This library provides a linter for the metadata in Emacs Lisp files which are intended to be packages. You can integrate it into your build process.
package-lint detects various issues that may make your package
uninstallable or unusable for some users, and it warns about
significant deviations from the Elisp coding
conventions,
such as non-compliant symbol naming, and use of reserved
keybindings. Among other community uses, package-lint is a
prerequisite for submission of packages to MELPA.
package-lint can be used standalone, but see also the
flycheck-package and
package-lint-flymake packages, which both use package-lint to
conveniently display packaging errors directly in the buffer while
writing elisp packages.
The recommended way to get
package-lint is as a package from the MELPA
repository. The version of package-lint there will always be
up-to-date. There are also packages in MELPA Stable, which
track the latest numbered tag.
Use the command package-lint-current-buffer interactively, or use
package-lint-buffer if linting programmatically.
If you're a package author, you can include package-lint in your
build process by ensuring that the package is installed, and then
using the function package-lint-batch-and-exit to lint your files --
see run-tests.sh in this repo for an example.
Additional checks for future versions:
-mode function directly instead of using define-derived-mode or define-minor-modedisplay-graphic-p or window-system in -theme.el filesPlease refer to the file LICENSE.
package-lint was written by
Steve Purcell with significant
contributions from Fanael Linithien.
Author links:
(top 30 of 31)
Emacs Lisp
96.6%
Makefile
1.7%
Shell
1.7%
This library provides a linter for the metadata in Emacs Lisp files which are intended to be packages. You can integrate it into your build process.
package-lint detects various issues that may make your package
uninstallable or unusable for some users, and it warns about
significant deviations from the Elisp coding
conventions,
such as non-compliant symbol naming, and use of reserved
keybindings. Among other community uses, package-lint is a
prerequisite for submission of packages to MELPA.
package-lint can be used standalone, but see also the
flycheck-package and
package-lint-flymake packages, which both use package-lint to
conveniently display packaging errors directly in the buffer while
writing elisp packages.
The recommended way to get
package-lint is as a package from the MELPA
repository. The version of package-lint there will always be
up-to-date. There are also packages in MELPA Stable, which
track the latest numbered tag.
Use the command package-lint-current-buffer interactively, or use
package-lint-buffer if linting programmatically.
If you're a package author, you can include package-lint in your
build process by ensuring that the package is installed, and then
using the function package-lint-batch-and-exit to lint your files --
see run-tests.sh in this repo for an example.
Additional checks for future versions:
-mode function directly instead of using define-derived-mode or define-minor-modedisplay-graphic-p or window-system in -theme.el filesPlease refer to the file LICENSE.
package-lint was written by
Steve Purcell with significant
contributions from Fanael Linithien.
Author links:
(top 30 of 31)
Emacs Lisp
96.6%
Makefile
1.7%
Shell
1.7%