Supported Languages¶
This document lists all programming and markup languages which Flycheck supports.
Note
Extensions may provide support for additional languages or add deeper integration with existing languages.
Take a look at the list of extensions to see what the community can offer to you.
Each language has one or more syntax checkers whose names follow a convention of
language-tool
. All syntax checkers are listed in the order they
would be applied to a buffer, with all available options. For more information
about a syntax checker open Emacs and use flycheck-describe-checker
to view the docstring of the syntax checker. Likewise, you may use
describe-variable to read the complete docstring of any option.
Ada¶
-
ada-gnat
¶ Check ADA syntax and types with GNAT.
-
flycheck-gnat-args
¶
A list of additional options.
-
flycheck-gnat-include-path
¶
A list of include directories. Relative paths are relative to the path of the buffer being checked.
-
flycheck-gnat-language-standard
¶
The language standard to use as string.
-
flycheck-gnat-warnings
¶
A list of additional warnings to enable. Each item is the name of a warning category to enable.
-
C/C++¶
Flycheck checks C and C++ with either c/c++-clang
or c/c++-gcc
, and then
with c/c++-cppcheck
.
-
c/c++-clang
¶ -
c/c++-gcc
¶ Check C/C++ for syntax and type errors with Clang or GCC respectively.
Note
c/c++-gcc
requires GCC 4.8 or newer.-
flycheck-clang-args
¶
-
flycheck-gcc-args
¶
A list of additional arguments for
c/c++-clang
andc/c++-gcc
respectively.
-
flycheck-clang-blocks
¶
Whether to enable blocks in
c/c++-clang
.
-
flycheck-clang-definitions
¶
-
flycheck-gcc-definitions
¶
A list of additional preprocessor definitions for
c/c++-clang
andc/c++-gcc
respectively.
-
flycheck-clang-include-path
¶
-
flycheck-gcc-include-path
¶
A list of include directories for
c/c++-clang
andc/c++-gcc
respectively, relative to the file being checked.
-
flycheck-clang-includes
¶
-
flycheck-gcc-includes
¶
A list of additional include files for
c/c++-clang
andc/c++-gcc
respectively, relative to the file being checked.
-
flycheck-clang-language-standard
¶
-
flycheck-gcc-language-standard
¶
The language standard to use in
c/c++-clang
andc/c++-gcc
respectively as string, via the-std
option.
-
flycheck-clang-ms-extensions
¶
Whether to enable Microsoft extensions to C/C++ in
c/c++-clang
.
-
flycheck-clang-no-exceptions
¶
-
flycheck-gcc-no-exceptions
¶
Whether to disable exceptions in
c/c++-clang
andc/c++-gcc
respectively.
-
flycheck-clang-no-rtti
¶
-
flycheck-gcc-no-rtti
¶
Whether to disable RTTI in
c/c++-clang
andc/c++-gcc
respectively, via-fno-rtti
.
-
flycheck-clang-standard-library
¶
The name of the standard library to use for
c/c++-clang
, as string.
-
flycheck-clang-pedantic
¶
-
flycheck-gcc-pedantic
¶
Whether to warn about language extensions in
c/c++-clang
andc/c++-gcc
respectively.
-
flycheck-clang-pedantic-errors
¶
-
flycheck-gcc-pedantic-errors
¶
Whether to error on language extensions in
c/c++-clang
andc/c++-gcc
respectively.
-
flycheck-clang-warnings
¶
-
flycheck-gcc-warnings
¶
A list of additional warnings to enable in
c/c++-clang
andc/c++-gcc
respectively. Each item is the name of a warning or warning category for-W
.
-
-
c/c++-cppcheck
¶ Check C/C++ for semantic and stylistic issues with cppcheck.
-
flycheck-cppcheck-checks
¶
A list of enabled checks. Each item is the name of a check for the
--enable
option.
-
flycheck-cppcheck-inconclusive
¶
Whether to enable inconclusive checks. These checks may yield more false positives than normal checks.
Note
This option requires cppcheck 1.54 or newer.
-
flycheck-cppcheck-include-path
¶
A list of include directories. Relative paths are relative to the file being checked.
-
flycheck-cppcheck-standards
¶
The C, C++ and/or POSIX standards to use via one or more
--std=
arguments.
-
flycheck-cppcheck-suppressions
¶
The cppcheck suppressions list to use via one or more
--suppress=
arguments.
-
Chef¶
-
chef-foodcritic
¶ Check style in Chef recipes with foodcritic.
A list of tags to select.
Coffeescript¶
Flycheck checks Coffeescript syntax with coffee
and then lints with
coffee-coffeelint
.
-
coffee
¶ Check syntax with the Coffeescript compiler.
-
coffee-coffeelint
¶ Lint with Coffeelint.
-
flycheck-coffeelintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
D¶
-
d-dmd
¶ Check syntax and types with (DMD).
Note
This syntax checker requires DMD 2.066 or newer.
-
flycheck-dmd-include-path
¶
A list of include directories.
-
flycheck-dmd-args
¶
A list of additional arguments.
-
See also
- flycheck-d-unittest
- Flycheck extension which provides a syntax checker to run D unittests on the fly and report the results with Flycheck.
Emacs Lisp¶
Flycheck checks Emacs Lisp with emacs-lisp
and then with
emacs-lisp-checkdoc
.
-
emacs-lisp
¶ Check syntax with the built-in byte compiler.
-
flycheck-emacs-lisp-load-path
¶
The load path as list of strings. Relative directories are expanded against the
default-directory
of the buffer being checked.
-
flycheck-emacs-lisp-initialize-packages
¶
Whether to initialize Emacs’ package manager with
package-initialize
before checking the buffer. If set toauto
(the default), only initialize the package managers when checking files underuser-emacs-directory
.
-
flycheck-emacs-lisp-package-user-dir
¶
The package directory as string. Has no effect if
flycheck-emacs-lisp-initialize-packages
is nil.
-
-
emacs-lisp-checkdoc
¶ Check Emacs Lisp documentation conventions with
checkdoc
.
See also
- Documentation Tips(elisp)
- Information about documentation conventions for Emacs Lisp.
- purcell/flycheck-package
- Flycheck extension which adds a syntax checker to check for violation of Emacs Lisp library headers and packaging conventions.
- Library Headers(elisp)
- Information about library headers for Emacs Lisp files.
Erlang¶
Fortran¶
-
fortran-gfortran
¶ Check Fortran syntax and type with GFortran.
-
flycheck-gfortran-args
¶
A list of additional arguments.
-
flycheck-gfortran-include-path
¶
A list of include directories. Relative paths are relative to the file being checked.
-
flycheck-gfortran-language-standard
¶
The language standard to use via the
-std
option.
-
flycheck-gfortran-layout
¶
The source code layout to use. Set to
free
orfixed
for free or fixed layout respectively, or nil (the default) to let GFortran automatically determine the layout.
-
flycheck-gfortran-warnings
¶
A list of warnings enabled via the
-W
option.
-
Go¶
Flycheck checks Go with the following checkers:
-
go-vet
¶ Check Go for suspicious code with vet.
-
flycheck-go-vet-print-functions
¶
A list of print-like functions to check calls for format string problems.
-
flycheck-go-vet-shadow
¶
Whether to check for shadowed variables, in Go 1.6 or newer.
-
-
go-build
¶ Check syntax and type with the Go compiler.
Note
This syntax checker requires Go 1.6 or newer.
-
flycheck-go-build-install-deps
¶
Whether to install dependencies while checking with
go-build
orgo-test
A list of build tags.
-
-
go-test
¶ Check syntax and types of Go tests with the Go compiler.
Note
This syntax checker requires Go 1.6 or newer.
-
flycheck-go-build-install-deps
-
Handlebars¶
-
handlebars
¶ Check syntax with the Handlebars compiler.
Haskell¶
Flycheck checks Haskell with haskell-stack-ghc
(in Stack projects) or
haskell-ghc
, and then with haskell-hlint
.
See also
- flycheck-haskell
- Flycheck extension to configure Flycheck’s Haskell checkers from the metadata, with support for Cabal sandboxes.
- flycheck-hdevtools
- Flycheck extension which adds an alternative syntax checker for GHC using hdevtools.
-
haskell-stack-ghc
¶ -
haskell-ghc
¶ Check syntax and type GHC. In Stack projects invoke GHC through Stack to bring package dependencies from Stack in.
-
flycheck-ghc-args
¶
A list of additional arguments.
-
flycheck-ghc-no-user-package-database
¶
Whether to disable the user package database (only for
haskell-ghc
).
-
flycheck-ghc-stack-use-nix
¶
Whether to enable Nix support for Stack (only for
haskell-stack-ghc
).
-
flycheck-ghc-package-databases
¶
A list of additional package databases for GHC (only for
haskell-ghc
). Each item points to a directory containing a package directory, via-package-db
.
-
flycheck-ghc-search-path
¶
A list of module directories, via
-i
.
-
flycheck-ghc-language-extensions
¶
A list of language extensions, via
-X
.
-
-
haskell-hlint
¶ Lint with hlint.
-
flycheck-hlint-args
¶
A list of additional arguments.
-
flycheck-hlint-language-extensions
¶
A list of language extensions to enable.
-
flycheck-hlint-ignore-rules
¶
A list of rules to ignore.
-
flycheck-hlint-hint-packages
¶
A list of additional hint packages to include.
-
flycheck-hlintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
HTML¶
-
html-tidy
¶ Check HTML syntax and style with Tidy HTML5.
-
flycheck-tidyrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
Javascript¶
Flycheck checks Javascript with one of javascript-eslint
,
javascript-jshint
or javascript-gjslint
, and then with javascript-jscs
.
Alternatively javascript-standard
is used instead all of the former ones.
-
javascript-eslint
¶ Check syntax and lint with ESLint.
-
flycheck-eslint-rules-directories
¶
A list of directories with custom rules.
-
flycheck-eslintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
javascript-jshint
¶ Check syntax and lint with JSHint.
-
flycheck-jshint-extract-javascript
¶
Whether to extract Javascript from HTML before linting.
-
flycheck-jshintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
javascript-gjslint
¶ Lint with Closure Linter.
-
flycheck-gjslintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
javascript-jscs
¶ Check code style with JSCS.
-
flycheck-jscsrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
javascript-standard
¶ Check syntax and code style with Standard or Semistandard.
JSON¶
Flycheck checks JSON with json-jsonlint
or json-python-json
.
Less¶
Lua¶
Flycheck checks Lua with lua-luacheck
, falling back to lua
.
-
lua-luacheck
¶ Check syntax and lint with Luacheck.
-
flycheck-luacheckrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
lua
¶ Check syntax with the Lua compiler.
Markdown¶
-
markdown-mdl
¶ Check Markdown with markdownlint.
-
flycheck-markdown-mdl-rules
¶
A list of enabled rules.
A list of enabled rule tags.
-
flycheck-markdown-mdl-style
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
Perl¶
Flycheck checks Perl with perl
and perl-perlcritic
.
-
perl
¶ Check syntax with the Perl interpreter.
-
flycheck-perl-include-path
¶
A list of include directories, relative to the file being checked.
-
-
perl-perlcritic
¶ Lint and check style with Perl::Critic.
-
flycheck-perlcritic-severity
¶
The severity level as integer for the
--severity
.
-
flycheck-perlcriticrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
PHP¶
Flycheck checks PHP with php
, php-phpmd
and php-phpcs
.
-
php-phpmd
¶ Lint with PHP Mess Detector.
-
flycheck-phpmd-rulesets
¶
A list of rule sets. Each item is either the name of a default rule set, or the path to a custom rule set file.
-
-
php-phpcs
¶ Check style with PHP Code Sniffer.
Note
This syntax checker requires PHP Code Sniffer 2.6 or newer.
-
flycheck-phpcs-standard
¶
The coding standard, either as name of a built-in standard, or as path to a standard specification.
-
Processing¶
-
processing
¶ Check syntax using the Processing compiler.
Puppet¶
Flycheck checks Puppet with puppet-parser
and lints with puppet-lint
.
-
puppet-lint
¶ Link with Puppet Lint.
-
flycheck-puppet-lint-disabled-checks
¶
A list of checks to disable.
-
flycheck-puppet-lint-rc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
Python¶
Flycheck checks Python with python-flake8
or python-pylint
, and falls
back to python-pycompile
if neither of those is available.
See also
- flycheck-pyflakes
- Flycheck extension which adds a syntax checker using Pyflakes.
-
python-flake8
¶ Check syntax and lint with flake8.
Note
This syntax checker requires flake8 2.0 or newer.
-
flycheck-flake8-error-level-alist
¶
An alist mapping Flake8 error IDs to Flycheck error levels.
-
flycheck-flake8-maximum-complexity
¶
The maximum McCabe complexity allowed for methods.
-
flycheck-flake8-maximum-line-length
¶
The maximum length of lines.
-
flycheck-flake8rc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
python-pylint
¶ Check syntax and lint with Pylint.
Note
This syntax checker requires Pylint 1.0 or newer.
-
flycheck-pylint-use-symbolic-id
¶
Whether to report symbolic (e.g.
no-name-in-module
) or numeric (e.g.E0611
) message identifiers.
-
flycheck-pylintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
python-pycompile
¶ Check syntax with Python’s byte compiler (see
py_compile
).
R¶
Racket¶
-
racket
¶ Check syntax with raco expand from the
compiler-lib
package.Note
This syntax checker needs the
compiler-lib
package.
reStructuredText¶
Flycheck checks reStructuredText with rst-sphinx
in Sphinx projects and
with rst
otherwise.
Ruby¶
Flycheck checks Ruby with ruby-rubocop
and ruby-rubylint
, falling back to
ruby
or ruby-jruby
for basic syntax checking if those are not available.
-
ruby-rubocop
¶ Check syntax and lint with RuboCop.
Note
This syntax checker requires Rubocop 0.34 or newer.
-
flycheck-rubocop-lint-only
¶
Whether to suppress warnings about style issues, via the
--lint
option.
-
flycheck-rubocoprc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
Rust¶
Flycheck checks Rust with rust-cargo
in Cargo projects, or rust
otherwise.
-
rust-cargo
¶ -
rust
¶ Check syntax and types with the Rust compiler. In a Cargo project the compiler is invoked through
cargo rustc
to take Cargo dependencies into account.Note
These syntax checkers require Rust 1.7 or newer.
See also
- flycheck-rust
- Flycheck extension to configure Rust syntax checkers according to the current Cargo project.
-
flycheck-rust-args
¶
A list of additional arguments.
-
flycheck-rust-check-tests
¶
Whether to check test code in Rust.
-
flycheck-rust-crate-root
¶
A path to the crate root for the current buffer, or nil if the current buffer is a crate by itself.
rust-cargo
ignores this option as the crate root is given by Cargo.
-
flycheck-rust-crate-type
¶
The type of the crate to check, as string for the
--crate-type
option.
-
flycheck-rust-binary-name
¶
The name of the binary to pass to
cargo rustc --bin
, as a string.Only required when
flycheck-rust-crate-type
isbin
and the crate has multiple targets.
-
flycheck-rust-library-path
¶
A list of additional library directories. Relative paths are relative to the buffer being checked.
Sass¶
Scala¶
Flycheck checks Scala with scala
and scala-scalastyle
.
-
scala
¶ Check syntax and types with the Scala compiler.
Note
This syntax checker is fairly primitive. For a better Scala experience we recommend Ensime.
-
scala-scalastyle
¶ Check style with Scalastyle.
-
flycheck-scalastylerc
¶
Configuration file for this syntax checker. See flycheck-config-files.
Important
A configuration file is mandatory for this syntax checker. If
flycheck-scalastylerc
is not set or the configuration file not found this syntax checker will not be applied.-
Scheme¶
Flycheck checks CHICKEN Scheme files with csc
.
-
scheme-chicken
¶ Check syntax with
csc
, the CHICKEN Scheme compiler.
Important
Geiser must be installed and active for this checker to work.
SCSS¶
Flycheck checks SCSS with scss-lint
, falling back to scss
.
-
scss-lint
¶ Check syntax and lint with SCSS-Lint.
Note
This syntax checker requires SCSS-Lint 0.43.2 or newer.
-
flycheck-scss-lintrc
¶
Configuration file for this syntax checker. See flycheck-config-files.
-
-
scss
¶ Check syntax with the SCSS compiler.
-
flycheck-scss-compass
¶
Whether to enable the Compass CSS framework with
--compass
.
-
Shell scripting languages¶
Flycheck checks various shell scripting languages:
- Bash with
sh-bash
andsh-shellcheck
- POSIX shell (i.e.
/bin/sh
) withsh-posix-dash
orsh-posix-bash
- Zsh with
sh-zsh
-
sh-shellcheck
¶ Lint Bash and POSIX shell with ShellCheck.
-
flycheck-shellcheck-excluded-warnings
¶
A list of excluded warnings.
-
Slim¶
TeX/LaTeX¶
Flycheck checks TeX and LaTeX with either tex-chktex
or tex-lacheck
.
TypeScript¶
Verilog¶
XML¶
Flycheck checks XML with xml-xmlstarlet
or xml-xmllint
.
-
xml-xmlstarlet
¶ Check syntax with XMLStarlet.