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 Stable" . "http://stable.melpa.org/packages/") t)
(package-initialize)
(package-refresh-contents)

(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 User Guide

The User Guide provides installation and usage help for Flycheck. It starts with installation instructions and a quick start tutorial and then focuses on an in-depth references of all parts of Flycheck.

We are currently in the process of converting the old Texinfo manual to Sphinx. Meanwhile you can read a simple HTML version of the old manual at flycheck.html.

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 old manual

Meanwhile see flycheck.html for a simple HTML version of the old 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.

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.