#+TITLE: Syntax Checking layer

[[file:img/flycheck.png]]

* Table of Contents                                         :TOC_4_gh:noexport:
 - [[#description][Description]]
 - [[#install][Install]]
   - [[#layer][Layer]]
   - [[#enablingdisabling-tooltips][Enabling/Disabling tooltips]]
   - [[#disabling-by-default][Disabling by default]]
   - [[#bitmaps][Bitmaps]]
 - [[#key-bindings][Key Bindings]]

* Description
This layer provides on the fly syntax checking using [[http://www.flycheck.org/][Flycheck]].

* Install
** Layer
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =syntax-checking= to the existing =dotspacemacs-configuration-layers= list in this
file.

** Enabling/Disabling tooltips
By default tooltips are enabled and used whenever it is possible.
You can disable them by setting the variable =syntax-checking-enable-tooltips=
to =nil=:

#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers
  '((syntax-checking :variables syntax-checking-enable-tooltips nil)))
#+END_SRC

** Disabling by default
By default, syntax-checking is enabled in all available major modes and may be
toggled off with ~SPC t s~. You can default this to off by setting the variable
=syntax-checking-enable-by-default= to =nil=:

#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers
  '((syntax-checking :variables syntax-checking-enable-by-default nil)))
#+END_SRC

If you want more fine-grained control, you can configure the variable
=flycheck-global-modes= instead. Note that this variable should be manipulated
in =dotspacemacs/user-config=.

** Bitmaps
If the original flycheck fringe bitmaps are more to your liking, you can set the
variable =syntax-checking-use-original-bitmaps= to =t=:

#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers
  '((syntax-checking :variables syntax-checking-use-original-bitmaps t)))
#+END_SRC

* Key Bindings

| Key Binding | Description                                                  |
|-------------+--------------------------------------------------------------|
| ~SPC e c~   | clear errors                                                 |
| ~SPC e h~   | describe flycheck checker                                    |
| ~SPC e l~   | display a list of all the errors                             |
| ~SPC e L~   | display a list of all the errors and focus the errors buffer |
| ~SPC e e~   | explain the error at point                                   |
| ~SPC e s~   | set flycheck checker                                         |
| ~SPC e S~   | set flycheck checker executable                              |
| ~SPC e v~   | verify flycheck setup                                        |
| ~SPC t s~   | toggle flycheck                                              |
