1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
==========================================
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
|