Skip to content
Back to top
View this page
Edit this page

# 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.

  defcustom flycheck-gnat-args

    A list of additional options.

  defcustom flycheck-gnat-include-path

    A list of include directories. Relative paths are relative to the path of the buffer being checked.

  defcustom flycheck-gnat-language-standard

    The language standard to use as string.

  defcustom flycheck-gnat-warnings

    A list of additional warnings to enable. Each item is the name of a warning category to enable.

## AsciiDoc

asciidoctor

  Check AsciiDoc with the default Asciidoctor backend.

## Awk

awk-gawk

  Check Awk with gawk.

## Bazel

bazel-build-buildifier
bazel-module-buildifier
bazel-starlark-buildifier
bazel-workspace-buildifier

  Check Bazel with buildifier.

## 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.4 or newer.

  defcustom flycheck-clang-args
  defcustom flycheck-gcc-args

    A list of additional arguments for `c/c++-clang` and `c/c++-gcc` respectively.

  defcustom flycheck-clang-blocks

    Whether to enable blocks in `c/c++-clang`.

  defcustom flycheck-clang-definitions
  defcustom flycheck-gcc-definitions

    A list of additional preprocessor definitions for `c/c++-clang` and `c/c++-gcc` respectively.

  defcustom flycheck-clang-include-path
  defcustom flycheck-gcc-include-path

    A list of include directories for `c/c++-clang` and `c/c++-gcc` respectively, relative to the file being checked.

  defcustom flycheck-clang-includes
  defcustom flycheck-gcc-includes

    A list of additional include files for `c/c++-clang` and `c/c++-gcc` respectively, relative to the file being checked.

  defcustom flycheck-clang-language-standard
  defcustom flycheck-gcc-language-standard

    The language standard to use in `c/c++-clang` and `c/c++-gcc` respectively as string, via the `-std` option.

  defcustom flycheck-clang-ms-extensions

    Whether to enable Microsoft extensions to C/C++ in `c/c++-clang`.

  defcustom flycheck-clang-no-exceptions
  defcustom flycheck-gcc-no-exceptions

    Whether to disable exceptions in `c/c++-clang` and `c/c++-gcc` respectively.

  defcustom flycheck-clang-no-rtti
  defcustom flycheck-gcc-no-rtti

    Whether to disable RTTI in `c/c++-clang` and `c/c++-gcc` respectively, via `-fno-rtti`.

  defcustom flycheck-clang-standard-library

    The name of the standard library to use for `c/c++-clang`, as string.

  defcustom flycheck-gcc-openmp

    Whether to enable OpenMP in `c/c++-gcc`.

  defcustom flycheck-clang-pedantic
  defcustom flycheck-gcc-pedantic

    Whether to warn about language extensions in `c/c++-clang` and `c/c++-gcc` respectively.

  defcustom flycheck-clang-pedantic-errors
  defcustom flycheck-gcc-pedantic-errors

    Whether to error on language extensions in `c/c++-clang` and `c/c++-gcc` respectively.

  defcustom flycheck-clang-warnings
  defcustom flycheck-gcc-warnings

    A list of additional warnings to enable in `c/c++-clang` and `c/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.

  defcustom flycheck-cppcheck-args

    A list of additional arguments.

  defcustom flycheck-cppcheck-checks

    A list of enabled checks. Each item is the name of a check for the `--enable` option.

  defcustom 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.

  defcustom flycheck-cppcheck-include-path

    A list of include directories. Relative paths are relative to the file being checked.

  defcustom flycheck-cppcheck-standards

    The C, C++ and/or POSIX standards to use via one or more `--std=` arguments.

  defcustom flycheck-cppcheck-suppressions

    The cppcheck suppressions list to use via one or more `--suppress=` arguments.

  defcustom flycheck-cppcheck-suppressions-file

    The cppcheck suppressions file to use via the `--suppressions-list=` argument.

## CFEngine

cfengine

  Check syntax with CFEngine.

## Coffeescript

Flycheck checks Coffeescript syntax with `coffee`.

coffee

  Check syntax with the Coffeescript compiler.

## CSS

css-stylelint

  Syntax-check and lint CSS with stylelint.

  defcustom flycheck-stylelintrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-stylelint-quiet

    Whether to run stylelint in quiet mode via `--quiet`.

## CUDA C/C++

cuda-nvcc

  Checks syntax for CUDA C/C++ using the nvcc nvcc compiler bundled in the NVIDIA Toolkit.

  CUDA C/C++ uses whichever system compiler you have configured, gcc/clang etc, but will sanitise error messages into a standardised format that can be picked up via flycheck. Corner cases may cause some odd behavior.

  defcustom flycheck-cuda-language-standard

    The C or C++ Language standard that you want the CUDA compiler to enforce.

  defcustom flycheck-cuda-gencodes

    A list of include real and virtual GPU architectures for nvcc.

  defcustom flycheck-cuda-includes

    A list of cuda includes.

  defcustom flycheck-cuda-include-path

    A list of include directories for nvcc.

  defcustom flycheck-cuda-definitions

    Additional preprocessor definitions for nvcc. Is passed unaltered to both GPU compiler and underlying C/C++ compiler.

  defcustom flycheck-cuda-relaxed-constexpr

    Enable calling host constexpr from device function for nvcc.

  defcustom flycheck-cuda-extended-lambda

    Allows for `__host__ __device__` lambdas as described (here).

  defcustom flycheck-cuda-compiler-options

    Specify options directly to the compiler/preprocessor.

## CWL

cwl

  Syntax check with (Schema Salad).

  defcustom flycheck-cwl-schema-path

    A path for the schema file for Common Workflow Language.

## D

d-dmd

  Check syntax and types with (DMD).

  Note

  This syntax checker requires DMD 2.066 or newer.

  defcustom flycheck-dmd-include-path

    A list of include directories.

  defcustom flycheck-dmd-args

    A list of additional arguments.

See also

https://github.com/flycheck/flycheck-d-unittest

  Flycheck extension which provides a syntax checker to run D unittests on the fly and report the results with Flycheck.

## Dockerfile

dockerfile-hadolint

  Check syntax and code style with hadolint

## Elixir

elixir-credo

  Check code style with credo

  defcustom flycheck-elixir-credo-strict

    When non-nil, run credo in strict mode, via `--strict`.

## 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.

  defcustom 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.

  defcustom flycheck-emacs-lisp-initialize-packages

    Whether to initialize Emacs’ package manager with `package-initialize` before checking the buffer. If set to `auto` (the default), only initialize the package managers when checking files under `user-emacs-directory`.

  defcustom flycheck-emacs-lisp-package-user-dir

    The package directory as string. Has no effect if `flycheck-emacs-lisp-initialize-packages` is nil.

  defcustom flycheck-emacs-lisp-check-declare

    If non-nil, also check `declare-function` forms using `check-declare-file`.

emacs-lisp-checkdoc

  Check Emacs Lisp documentation conventions with `checkdoc`.

See also

:infonode:`(elisp)Documentation Tips`

  Information about documentation conventions for Emacs Lisp.

https://github.com/purcell/flycheck-package

  Flycheck extension which adds a syntax checker to check for violation of Emacs Lisp library headers and packaging conventions.

:infonode:`(elisp)Library Headers`

  Information about library headers for Emacs Lisp files.

## Ember Templates

ember-template

  Check your Ember templates with ember-template-lint

  defcustom flycheck-ember-template-lintrc

    Configuration file for this syntax checker. See Configuration files.

## Erlang

Flycheck checks Erlang with `erlang-rebar3` in rebar projects and `erlang` otherwise.

erlang

  Check Erlang with the standard Erlang compiler.

  defcustom flycheck-erlang-include-path

    A list of include directories.

  defcustom flycheck-erlang-library-path

    A list of library directories.

erlang-rebar3

  Check Erlang with the rebar3 build tool.

  defcustom flycheck-erlang-rebar3-profile

    The profile to use when compiling, e.g. “default” or “test”. The default value is nil which will use the test profile in test directories, the eqc profile in eqc directories and the default profile otherwise.

## Fortran

fortran-gfortran

  Check Fortran syntax and type with GFortran.

  defcustom flycheck-gfortran-args

    A list of additional arguments.

  defcustom flycheck-gfortran-include-path

    A list of include directories. Relative paths are relative to the file being checked.

  defcustom flycheck-gfortran-language-standard

    The language standard to use via the `-std` option.

  defcustom flycheck-gfortran-layout

    The source code layout to use. Set to `free` or `fixed` for free or fixed layout respectively, or nil (the default) to let GFortran automatically determine the layout.

  defcustom flycheck-gfortran-warnings

    A list of warnings enabled via the `-W` option.

## Go

Flycheck checks Go with the following checkers:

1. `go-gofmt`

2. `go-vet`

3. `go-build` or `go-test`

4. `go-errcheck`

5. `go-unconvert`

6. `go-staticcheck`

go-gofmt

  Check Go syntax with gofmt.

go-vet

  Check Go for suspicious code with vet.

  defcustom flycheck-go-vet-print-functions

    A list of print-like functions to check calls for format string problems.

  defcustom flycheck-go-build-tags

    A list of build tags.

go-build

  Check syntax and type with the Go compiler.

  Note

  This syntax checker requires Go 1.6 or newer.

  defcustom flycheck-go-build-install-deps

    Whether to install dependencies while checking with `go-build` or `go-test`

  defcustom flycheck-go-build-tags

    See `flycheck-go-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.

  defcustom flycheck-go-build-install-deps

    See `flycheck-go-build-install-deps`.

  defcustom flycheck-go-build-tags

    See `flycheck-go-build-tags`

go-errcheck

  Check for unhandled error returns in Go with errcheck.

  Note

  This syntax checker requires errcheck build from commit 8515d34 (Aug 28th, 2015) or newer.

  defcustom flycheck-go-build-tags

    See `flycheck-go-build-tags`

go-unconvert

  Check for unnecessary type conversions with unconvert.

go-staticcheck

  Perform static analysis and code linting with staticcheck, the successor to megacheck.

  defcustom flycheck-go-version

    staticcheck explicitly supports the last two releases of Go, but supports targeting older versions. Go versions should be specified like, “1.6”, or, “1.11.4”.

## Groovy

groovy

  Check syntax using the Groovy compiler.

## Haml

haml

  Check syntax with the Haml compiler.

haml-lint

  Check style and syntax with the HAML-Lint linter.

## 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

https://github.com/flycheck/flycheck-haskell

  Flycheck extension to configure Flycheck’s Haskell checkers from the metadata, with support for Cabal sandboxes.

https://github.com/flycheck/flycheck-hdevtools

  Flycheck extension which adds an alternative syntax checker for GHC using hdevtools.

haskell-stack-ghc
haskell-ghc

  Check syntax and types with GHC. In Stack projects invoke GHC through Stack to bring package dependencies from Stack in.

  defcustom flycheck-ghc-args

    A list of additional arguments.

  defcustom flycheck-ghc-no-user-package-database

    Whether to disable the user package database (only for `haskell-ghc`).

  defcustom flycheck-ghc-stack-use-nix

    Whether to enable Nix support for Stack (only for `haskell-stack-ghc`).

  defcustom flycheck-ghc-stack-project-file

    Allows to override the default `stack.yaml` file for Stack, via `--stack-yaml` (only for `haskell-stack-ghc`).

  defcustom 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`.

  defcustom flycheck-ghc-search-path

    A list of module directories, via `-i`.

  defcustom flycheck-ghc-language-extensions

    A list of language extensions, via `-X`.

haskell-hlint

  Lint with hlint.

  defcustom flycheck-hlint-args

    A list of additional arguments.

  defcustom flycheck-hlint-language-extensions

    A list of language extensions to enable.

  defcustom flycheck-hlint-ignore-rules

    A list of rules to ignore.

  defcustom flycheck-hlint-hint-packages

    A list of additional hint packages to include.

  defcustom flycheck-hlintrc

    Configuration file for this syntax checker. See Configuration files.

## HTML

html-tidy

  Check HTML syntax and style with Tidy HTML5.

  defcustom flycheck-tidyrc

    Configuration file for this syntax checker. See Configuration files.

## Javascript

Flycheck checks Javascript with `javascript-eslint` or `javascript-oxlint`.

Alternatively `javascript-standard` is used instead.

javascript-eslint

  Check syntax and lint with ESLint.

  Note

  Flycheck automatically disables this syntax checker if eslint cannot find a valid configuration file for the current buffer.

  defcustom flycheck-eslint-args

    A list of additional arguments that are passed to eslint.

  defcustom flycheck-eslint-rules-directories

    A list of directories with custom rules.

javascript-oxlint

  Lint JavaScript and TypeScript with oxlint.

javascript-standard

  Check syntax and code style with Standard or Semistandard.

## JSON

Flycheck checks JSON with `json-python-json` or `json-jq`.

json-python-json

  Check JSON with Python’s built-in `json` module.

json-jq

  Check JSON with jq.

  This checker accepts multiple consecutive JSON values in a single input, which is useful for jsonlines data.

## Jsonnet

jsonnet

  Checks Jsonnet with the `jsonnet` binary published at `https://github.com/google/go-jsonnet`_.

  defcustom flycheck-jsonnet-command-args

    A list of additional arguments that are passed to `jsonnet`.

  defcustom flycheck-jsonnet-include-paths

    A list of include directories. These are passed to the `jsonnet` binary via `-J`. Relative paths are resolved relative to the path of the buffer being checked.

## Less

less

  Check syntax with the Less compiler.

  Note

  This syntax checker requires lessc 1.4 or newer.

less-stylelint

  Syntax-check and lint Less with stylelint.

  defcustom flycheck-stylelintrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-stylelint-quiet

    Whether to run stylelint in quiet mode via `--quiet`.

## LLVM

llvm-llc

  Check syntax with llc.

## Lua

Flycheck checks Lua with `lua-luacheck`, falling back to `lua`.

lua-luacheck

  Check syntax and lint with Luacheck.

  defcustom flycheck-luacheckrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-luacheck-standards

    The luacheck standards to use via one or more `--std` arguments.

lua

  Check syntax with the Lua compiler.

## Markdown

Flycheck checks Markdown with `markdownlint-cli`, `markdownlint-cli2`, `mdl` (that’s the binary of the Ruby project `markdownlint`) or `pymarkdown`. `markdownlint-cli` and `markdownlint-cli2` are different command-line interfaces for the same `markdownlint` library (written in JavaScript).

markdown-markdownlint-cli

  Check Markdown with markdownlint-cli.

  defcustom flycheck-markdown-markdownlint-cli-config

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-markdown-markdownlint-cli-disable-rules

    A list of disabled rules.

  defcustom flycheck-markdown-markdownlint-cli-enable-rules

    A list of enabled rules.

markdown-markdownlint-cli2

  Check Markdown with markdownlint-cli2.

  defcustom flycheck-markdown-markdownlint-cli2-config

    Configuration file for this syntax checker. See Configuration files.

markdown-mdl

  Check Markdown with markdownlint (a.k.a. `mdl`).

  defcustom flycheck-markdown-mdl-rules

    A list of enabled rules.

  defcustom flycheck-markdown-mdl-tags

    A list of enabled rule tags.

  defcustom flycheck-markdown-mdl-style

    Configuration file for this syntax checker. See Configuration files.

markdown-pymarkdown

  Check Markdown with PyMarkdown.

  defcustom flycheck-markdown-pymarkdown-config

    Configuration file for this syntax checker. See Configuration files.

## Nix

nix

  Check Nix with nix-instantiate.

statix

  Check Nix with statix.

## Org mode

Flycheck supports checking Org mode files with the built-in `org-lint` command.

org-lint

  An Org mode syntax and style checker using `org-lint`.

  The checker runs `org-lint` in the current Emacs process to detect issues such as:

  - Invalid links

  - Dead links

  - Duplicate IDs

  - Invalid keywords

  - Special characters in links

  - And more…

  Because the checker runs in the current Emacs process, it has access to all installed packages and user configuration, avoiding false positives for source block languages provided by external packages.

  The checker is enabled by default when `org-lint` is available (Org mode 9.0 or later).

  See the `org-lint` documentation in Org mode for details about the checks performed.

## Opam

opam

  Check Opam configuration files with opam lint.

## Perl

Flycheck checks Perl with `perl`, `perl-perlcritic`, and `perl-perlimports`.

perl

  Check syntax with the Perl interpreter.

  defcustom flycheck-perl-include-path

    A list of include directories, relative to the file being checked.

  defcustom flycheck-perl-module-list

    A list of module names to implicitly use.

perl-perlcritic

  Lint and check style with Perl::Critic.

  defcustom flycheck-perlcritic-severity

    The severity level as integer for the `--severity`.

  defcustom flycheck-perlcritic-theme

    The theme expression, passed as the `--theme` to `perlcritic`.

  defcustom flycheck-perlcriticrc

    Configuration file for this syntax checker. See Configuration files.

perl-perlimports

  Clean up Perl import statements with perlimports.

## PHP

Flycheck checks PHP with `php`, `php-phpmd`, `php-phpcs` and `php-phpcs-changed`.

php

  Check syntax with PHP CLI

php-phpmd

  Lint with PHP Mess Detector.

  defcustom 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.

  defcustom flycheck-phpcs-standard

    The coding standard, either as name of a built-in standard, or as path to a standard specification.

php-phpcs-changed

  Check style with PHPCS Changed.

  Note

  This syntax checker requires PHP Code Sniffer 2.6 or newer.

  defcustom 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.

## Protobuf

protobuf-protoc

  Check syntax using the protoc compiler.

  defcustom flycheck-protoc-import-path

    A list of directories to resolve import directives. Relative paths are relative to the path of the buffer being checked.

## Pug

pug

  Check syntax using the Pug compiler.

## Puppet

Flycheck checks Puppet with `puppet-parser` and lints with `puppet-lint`.

puppet-parser

  Check syntax with the Puppet compiler.

puppet-lint

  Lint with Puppet Lint.

  defcustom flycheck-puppet-lint-disabled-checks

    A list of checks to disable.

  defcustom flycheck-puppet-lint-rc

    Configuration file for this syntax checker. See Configuration files.

## Python

Flycheck checks Python with `python-flake8`, `python-ruff` or `python-pylint`, and falls back to `python-pycompile` if none of those is available. Additionally `python-pyright` and `python-mypy` provide optional type checking.

All Python checkers are invoked indirectly using `python -c ...` (rather than a direct call to `flake8` or `pylint`) to make it easier to switch between Python 2 and 3. For example, you can use `(setq flycheck-python-pylint-executable "python3")` to run `pylint` using Python 3, or `(defvaralias 'flycheck-python-flake8-executable 'python-shell-interpreter)` to run `flake8` through the executable pointed to by `python-shell-interpreter`.

Note

If Flycheck complains about a missing Python checker, make sure that the checker is reachable from `sys.path`, using e.g. `python -m pylint`: often, the issue is that the checker is installed globally but not in the current virtualenv. Alternatively, you can invoke the checker script directly, with `(setq flycheck-python-pylint-executable "pylint")`.

See also

flycheck-pyflakes

  Flycheck extension which adds a syntax checker using Pyflakes.

https://github.com/msherry/flycheck-pycheckers

  Flycheck extension which can use multiple checkers simultaneously – including pyflakes, pep8, flake8, pylint, and mypy 2/3.

python-flake8

  Check syntax and lint with flake8.

  Note

  This syntax checker requires flake8 3.0 or newer.

  defcustom flycheck-flake8-error-level-alist

    An alist mapping Flake8 error IDs to Flycheck error levels.

  defcustom flycheck-flake8-maximum-complexity

    The maximum McCabe complexity allowed for methods.

  defcustom flycheck-flake8-maximum-line-length

    The maximum length of lines.

  defcustom flycheck-flake8rc

    Configuration file for this syntax checker. See Configuration files.

python-ruff

  Lint with ruff.

  defcustom flycheck-python-ruff-config

    Configuration file for this syntax checker. See Configuration files.

python-pyright

  Type check Python with pyright.

  Note

  This syntax checker requires pyright.

python-mypy

  Type check Python with mypy.

  Note

  This syntax checker requires mypy 0.730 or newer.

  defcustom flycheck-python-mypy-config

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-python-mypy-cache-dir

    Directory used to write `.mypy_cache` directories.

    Set to `null-device` to disable writing cache directories entirely.

  defcustom flycheck-python-mypy-python-executable

    Python executable to collect the type information from PEP 561 compliant packages.

python-pylint

  Check syntax and lint with Pylint.

  Note

  This syntax checker requires Pylint 1.0 or newer.

  defcustom flycheck-pylint-use-symbolic-id

    Whether to report symbolic (e.g. `no-name-in-module`) or numeric (e.g. `E0611`) message identifiers.

  defcustom flycheck-pylintrc

    Configuration file for this syntax checker. See Configuration files.

python-pycompile

  Check syntax with Python’s byte compiler (see `py_compile`).

## R

r-lintr

  Check syntax and lint with lintr.

  defcustom flycheck-lintr-caching

    Whether to enable caching in lintr. On by default; it is not recommended to disable caching unless it causes actual problems.

  defcustom flycheck-lintr-linters

    Linters to use as a string with an R expression which selects the linters to use.

r

  Check syntax with R’s builtin `parse` function.

## Racket

racket

  Check syntax with raco expand from the `compiler-lib` package.

  Note

  This syntax checker needs the `compiler-lib` package.

## RPM Spec

rpm-rpmlint

  Lint with rpmlint.

## reStructuredText

Flycheck checks reStructuredText with `rst-sphinx` in Sphinx projects and with `rst` otherwise. Both chain to `proselint` for prose linting.

rst-sphinx

  Check documents with Sphinx.

  Note

  This syntax checker requires Sphinx 1.2 or newer.

  defcustom flycheck-sphinx-warn-on-missing-references

    Whether to emit warnings for all missing references.

rst

  Check documents with docutils.

## Ruby

Flycheck checks Ruby with `ruby-rubocop` (or `ruby-standard`) and `ruby-reek`, falling back to `ruby` for basic syntax checking if those are not available. There’s also `ruby-chef-cookstyle`, which is only used for Chef cookbooks.

ruby-rubocop

  Check syntax and lint with RuboCop.

  Note

  This syntax checker requires Rubocop 0.34 or newer.

  defcustom flycheck-rubocop-lint-only

    Whether to suppress warnings about style issues, via the `--lint` option.

  defcustom flycheck-rubocoprc

    Configuration file for this syntax checker. See Configuration files.

ruby-standard

  Check syntax and lint with Ruby Standard.

  Note

  This syntax checker and ruby-rubocop are mutually exclusive, since Standard employs an opinionated rubocop config.

  defcustom flycheck-rubocop-lint-only

    See `flycheck-rubocop-lint-only`.

  defcustom flycheck-ruby-standardrc

    Configuration file for this syntax checker. See Configuration files.

ruby-reek

  Check syntax and lint with reek.

  defcustom flycheck-reekrc

    Configuration file for this syntax checker. See Configuration files.

  Note

  `flycheck-reekrc` defaults to `nil`, because Reek can find its own configuration.

ruby

  Check syntax with the Ruby interpreter.

ruby-chef-cookstyle

  Check syntax and lint with Cookstyle.

  Note

  Cookstyle is just a wrapper around RuboCop, so this checker is almost the same as `ruby-rubocop`.

  defcustom flycheck-rubocop-lint-only

    Whether to suppress warnings about style issues, via the `--lint` option.

  defcustom flycheck-rubocoprc

    Configuration file for this syntax checker. See Configuration files.

## Rust

Flycheck checks Rust with `rust-cargo` in Cargo projects, or `rust` otherwise. For Cargo projects, you can also use the clippy linter with `rust-clippy`.

rust-cargo
rust
rust-clippy

  Check syntax and types with the Rust compiler. In a Cargo project the compiler is invoked through `cargo check` to take Cargo dependencies into account.

  `rust-clippy` has no configurable options.

  Note

  `rust-cargo` requires Rust 1.17 or newer. `rust` requires Rust 1.18 or newer. `rust-clippy` requires the nightly version of Rust.

  See also

  https://github.com/flycheck/flycheck-rust

    Flycheck extension to configure Rust syntax checkers according to the current Cargo project.

  defcustom flycheck-rust-args

    A list of additional arguments that are passed to rustc. This option is ignored by `rust-cargo`.

  defcustom flycheck-cargo-check-args

    A list of additional arguments passed to the `cargo check` subcommand.

  defcustom flycheck-rust-check-tests

    Whether to check test code in Rust.

  defcustom 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.

  defcustom flycheck-rust-crate-type

    For `rust-cargo`, the target type as a string, one of `lib`, `bin`, `example`, `test` or `bench`. Can also be nil for projects with a single target.

    For `rust`, the type of the crate to check, as a string for the `--crate-type` option.

  defcustom flycheck-rust-binary-name

    The name of the binary to pass to `cargo check --TARGET-TYPE`, as a string.

    For `rust-cargo`, always required unless `flycheck-rust-crate-type` is `lib` or nil, in which case it is ignored.

    Ignored by `rust`.

  defcustom flycheck-rust-features

    List of features to activate during build or check.

    The value of this variable is a list of strings denoting features that will be activated to build the target to check. Features will be passed to `cargo check --features=FEATURES`.

    Empty by default.

    Ignored by `rust`.

  defcustom flycheck-rust-library-path

    A list of additional library directories. Relative paths are relative to the buffer being checked.

## SaltStack

salt-lint

  Flycheck checks SaltStack YAML files with SALT-Lint.

## Sass/SCSS

Flycheck checks SASS with `sass-stylelint` and SCSS with `scss-stylelint`.

sass-stylelint

  Syntax-check and lint Sass with stylelint.

  defcustom flycheck-stylelintrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-stylelint-quiet

    Whether to run stylelint in quiet mode via `--quiet`.

scss-stylelint

  Syntax-check and lint SCSS with stylelint.

  defcustom flycheck-stylelintrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-stylelint-quiet

    Whether to run stylelint in quiet mode via `--quiet`.

## 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.

  defcustom flycheck-scalastylerc

    Configuration file for this syntax checker. See Configuration 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.

  > defcustom flycheck-scheme-chicken-args

  A list of additional options.

Important

Geiser must be installed and active for this checker to work.

## Shell scripting languages

Flycheck checks various shell scripting languages:

- Bash with `sh-bash` and `sh-shellcheck`

- POSIX shell (i.e. `/bin/sh`) with `sh-posix-dash` or `sh-posix-bash`

- Zsh with `sh-zsh`

sh-bash

  Check Bash syntax.

  defcustom flycheck-sh-bash-args

    A list of additional arguments that are passed to bash.

sh-posix-dash

  Check POSIX shell syntax with Dash.

sh-posix-bash

  Check POSIX shell syntax with Bash.

sh-zsh

  Check Zsh syntax.

sh-shellcheck

  Lint Bash and POSIX shell with ShellCheck.

  defcustom flycheck-shellcheck-excluded-warnings

    A list of excluded warnings.

  defcustom flycheck-shellcheck-enabled-checks

    A list of enabled optional checks.

  defcustom flycheck-shellcheck-follow-sources

    Allow shellcheck to read sourced files.

  defcustom flycheck-shellcheck-infer-shell

    Whether to let ShellCheck infer the shell from the script.

  defcustom flycheck-shellcheck-args

    A list of additional arguments passed to ShellCheck.

## Slim

slim

  Check Slim using the Slim compiler.

slim-lint

  Check Slim best practices using the slim-lint linter.

## SQL

sql-sqlint

  Check SQL syntax with Sqlint.

## systemd Unit Configuration

systemd-analyze

  Check systemd unit configuration file syntax with systemd-analyze.

## Tcl

tcl-nagelfar

  Check Tcl syntax with Nagelfar.

## Terraform

terraform

  Check Terraform syntax with terraform fmt

terraform-tflint

  Check Terraform with tflint

  defcustom flycheck-tflint-variable-files

    A list of files to resolve terraform variables. Relative paths are relative to the path of the buffer being checked.

## Text

proselint

  Check English prose with Proselint.

textlint

  Check prose with textlint.

  defcustom flycheck-textlint-config

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-textlint-plugin-alist

    An alist mapping major modes to textlint plugins.

    Flycheck currently supports the following textlint plugins on NPM:

    - textlint-plugin-rst

    - textlint-plugin-html

    - textlint-plugin-latex

    - textlint-plugin-asciidoctor (as well as other AsciiDoc plugins)

  Note

  textlint plugins need to be installed separately.

## TeX/LaTeX

Flycheck checks TeX and LaTeX with either `tex-chktex` or `tex-lacheck`.

tex-chktex

  Check style with ChkTeX.

  defcustom flycheck-chktexrc

    Configuration file for this syntax checker. See Configuration files.

  defcustom flycheck-chktex-extra-flags

    A list of extra arguments to give to chktex.

tex-lacheck

  Check style with Lacheck.

## Texinfo

texinfo

  Check syntax with makeinfo from Texinfo.

## TypeScript

javascript-eslint

  See `javascript-eslint`.

javascript-oxlint

  See `javascript-oxlint`.

## Verilog

verilog-verilator

  Check syntax with Verilator.

  defcustom flycheck-verilator-include-path

    A list of include directories. Relative paths are relative to the file being checked.

## VHDL

vhdl-ghdl

  Check syntax with GHDL.

  defcustom flycheck-ghdl-language-standard

    The language standard to use as string.

  defcustom flycheck-ghdl-workdir

    The directory to use for the file library.

  defcustom flycheck-ghdl-ieee-library

    The standard to use for the IEEE library.

## XML

Flycheck checks XML with `xml-xmllint`.

xml-xmllint

  Check syntax with xmllint from Libxml2.

  defcustom flycheck-xml-xmllint-xsd-path
  defcustom flycheck-xml-xmllint-relaxng-path

## YAML

Flycheck checks YAML with `yaml-actionlint`, `yaml-jsyaml` or `yaml-yamllint`.

yaml-actionlint

  Check syntax with actionlint.

yaml-jsyaml

  Check syntax with js-yaml.

yaml-yamllint

  Check syntax with yamllint.

  defcustom flycheck-yamllintrc

    Configuration file for this syntax checker. See Configuration files.