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+, 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)

On MacOS also add the following to fix your $PATH environment variable:

(package-install 'exec-path-from-shell)
(exec-path-from-shell-initialize)

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

Important

If Flycheck fails to run properly or gives you any error messages please take a look at the troubleshooting section which covers some common setup issues and helps you debug and fix problems with Flycheck.

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.

The Community Guide

The Community Guide provides information about Flycheck’s ecosystem and community.

The Developer Guide

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

The Contributor Guide

The Contributor Guide explains how to contribute to Flycheck.

Indices and Tables

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.