You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

173 lines
5.0 KiB

==========================================
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 :ref:`flycheck-versus-flymake`.
It uses various syntax checking and linting tools to :ref:`automatically check
the contents of buffers <flycheck-syntax-checks>` while you type, and reports
warnings and errors directly in the buffer, or in an optional :ref:`error list
<flycheck-error-list>`:
.. image:: images/flycheck-annotated.png
Out of the box Flycheck supports over :ref:`40 different programming languages
<flycheck-languages>` with more than 80 different syntax checking tools, and
comes with a :ref:`simple interface <flycheck-developers-guide>` to define new
syntax checkers.
Many :ref:`3rd party extensions <flycheck-extensions>` provide new syntax
checkers and other features like alternative error displays or mode line
indicators.
Try out
=======
Flycheck needs GNU Emacs |min-emacs|, 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 :ref:`Windows support
<flycheck-windows-support>` and watch out for `known Windows issues`_!
To try Flycheck in your Emacs session install some :ref:`syntax checker tools
<flycheck-languages>` and type the following in your ``*scratch*`` buffer and
run ``M-x eval-buffer``:
.. code-block:: cl
(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 :ref:`fix your $PATH environment variable
<flycheck-macos-exec-path-from-shell>`:
.. code-block:: cl
(package-install 'exec-path-from-shell)
(exec-path-from-shell-initialize)
For a permanent installation of Flycheck follow the :ref:`Installation
<flycheck-installation>` instructions. For a gentle introduction into Flycheck
features go through :ref:`Quickstart <flycheck-quickstart>` guide.
.. important::
If Flycheck fails to run properly or gives you any error messages please take
a look at the :ref:`troubleshooting section <flycheck-troubleshooting>` which
covers some common setup issues and helps you debug and fix problems with
Flycheck.
.. _`known windows issues`: https://github.com/flycheck/flycheck/labels/arch%3A%20windows%20only
.. _flycheck-user-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.
.. toctree::
user/installation
user/quickstart
user/troubleshooting
user/syntax-checks
user/syntax-checkers
user/error-reports
user/error-list
user/error-interaction
user/flycheck-versus-flymake
.. _flycheck-community-guide:
The Community Guide
===================
The Community Guide provides information about Flycheck’s ecosystem and
community.
.. toctree::
community/conduct
community/extensions
community/get-help
community/people
.. _flycheck-developer-guide:
The Developer Guide
===================
The Developer Guide shows how extend Flycheck and how to write syntax checkers
for Flycheck.
.. toctree::
developer/developing
.. _flycheck-contributor-guide:
The Contributor Guide
=====================
The Contributor Guide explains how to contribute to Flycheck.
.. toctree::
contributor/contributing
contributor/style-guide
contributor/maintaining
Indices and Tables
==================
* :ref:`flycheck-languages`
* :doc:`glossary`
* :doc:`changes`
* :ref:`genindex`
* :ref:`search`
.. toctree::
:hidden:
languages
glossary
changes
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 :ref:`flycheck-gpl` 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 :ref:`flycheck-cc-by-sa` 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 :ref:`flycheck-cc-by-sa` for a copy of the license.
.. toctree::
:hidden:
:maxdepth: 2
licenses