Flycheck — Syntax checking for GNU Emacs

Flycheck is a modern on-the-fly syntax checking extension for GNU Emacs, intended as replacement for the older Flymake extension which is part of GNU Emacs. For a detailed comparison to Flymake see Flycheck versus Flymake.

It uses various syntax checking and linting tools to automatically check the contents of buffers while you type, and reports warnings and errors directly in the buffer, or in an optional error list:

_images/flycheck-annotated.png

Out of the box Flycheck supports over 40 different programming languages with more than 80 different syntax checking tools, and comes with a simple interface to define new syntax checkers.

Many 3rd party extensions provide new syntax checkers and other features like alternative error displays or mode line indicators.

Try out

Flycheck needs GNU Emacs 24.3 or newer, and works best on Unix systems. Windows users, please be aware that Flycheck does not support Windows officially, although it should mostly work fine on Windows. See Windows support and watch out for known Windows issues!

To try Flycheck in your Emacs session install some syntax checker tools and type the following in your *scratch* buffer and run M-x eval-buffer:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://stable.melpa.org/packages/") t)
(package-initialize)

(package-install 'flycheck)

(global-flycheck-mode)

For a permanent installation of Flycheck follow the Installation instructions. For a gentle introduction into Flycheck features go through Quickstart guide.

The Developer Guide

The Developer Guide shows how to write syntax checkers for Flycheck and how to extend Flycheck.

Todo

Port the extending section from the Texinfo manual

Licensing

Flycheck is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Flycheck is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See GNU General Public License 3 for a copy of the GNU General Public License.

Permission is granted to copy, distribute and/or modify the Flycheck documentation under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. See GNU Free Documentation License for a copy of the GNU Free Documentation License.

Alternatively, you may copy, distribute and/or modify the Flycheck documentation under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License. See Creative Commons Attribution-ShareAlike 4.0 International for a copy of the license.

Permission is granted to copy, distribute and/or modify the Flycheck logo under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License. See Creative Commons Attribution-ShareAlike 4.0 International for a copy of the license.

TODO

Todo

Explain how to review and merge pull requests

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/flycheck/checkouts/27/doc/contributor/maintaining.rst, line 67.)

Todo

Port the Texinfo manual

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/flycheck/checkouts/27/doc/index.rst, line 70.)

Todo

Port the extending section from the Texinfo manual

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/flycheck/checkouts/27/doc/index.rst, line 87.)