File: extensions.rst

package info (click to toggle)
flycheck 35.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,344 kB
  • sloc: lisp: 16,730; python: 739; makefile: 243; cpp: 24; ruby: 23; perl: 21; ada: 17; f90: 16; javascript: 15; haskell: 15; erlang: 14; xml: 14; ansic: 12; sh: 10; php: 9; tcl: 8; fortran: 3; vhdl: 2; awk: 1; sql: 1
file content (186 lines) | stat: -rw-r--r-- 5,777 bytes parent folder | download
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
174
175
176
177
178
179
180
181
182
183
184
185
186
.. _flycheck-extensions:

========================
 Recommended extensions
========================

The Emacs community has produced a number of extensions to Flycheck.  This page
lists all that we know of and can safely recommend to our users.

*Official* extensions are (co-)maintained by the :ref:`Flycheck maintainers
<flycheck-maintainers>` who will take care to update official extensions in case
of breaking changes in Flycheck and work to provide extra API for extensions if
needed.  If you'd like to make your extension an *official* one and move it into
the `Flycheck Github organisation`_ please contact a :ref:`maintainer
<flycheck-maintainers>`.

If you do know extensions not in this list, or would like to see your own
extension here, please feel free to `add it`_.

We would like to thank all people who created and contributed to Flycheck
extensions for their awesome work.  Without your help and support Flycheck would
not be what it is today.

.. _add it: https://github.com/flycheck/flycheck/edit/master/doc/community/extensions.rst
.. _Flycheck Github organisation: https://github.com/flycheck

User interface
==============

These extensions change Flycheck’s user interface:

* :flyc:`flycheck-color-mode-line` (*official*) colors the mode line according
  to the Flycheck status.
* :flyc:`flycheck-pos-tip` (*official*) shows Flycheck error messages in a
  graphical popup.
* :gh:`liblit/flycheck-status-emoji` adds cute emoji (e.g. 😱 for errors) to
  Flycheck’s mode line status.
* :gh:`Wilfred/flycheck-title` shows Flycheck error messages in the frame title.
* :flyc:`flycheck-inline` shows Flycheck error messages in the buffer, directly
  below their origin.

Language support
================

These extensions add support for new languages, or improve support for built-in
languages.  They are grouped by the corresponding language so you can jump
directly to the languages that interest you:

.. contents:: Languages
   :local:

Cadence
-------

* :gh:`cmarqu/flycheck-hdl-irun` adds a syntax checker for hardware description
  languages supported by `Cadence IES/irun`_.

.. _Cadence IES/irun: https://www.cadence.com/content/cadence-www/global/en_US/home/tools/system-design-and-verification/simulation-and-testbench-verification/incisive-enterprise-simulator.html

Clojure
-------

* :gh:`borkdude/flycheck-clj-kondo` adds a Flycheck checker using ``clj-kondo``.
* :gh:`clojure-emacs/squiggly-clojure` adds syntax checking for Clojure.

C/C++/Objective C
-----------------

* :gh:`Wilfred/flycheck-pkg-config` configures Flycheck to use settings from
  `pkg-config`_ when checking C/C++.
* :gh:`Sarcasm/flycheck-irony` adds a Flycheck syntax checker for C, C++ and
  Objective C using :gh:`Irony Mode <Sarcasm/irony-mode>`.

.. _pkg-config: https://www.freedesktop.org/wiki/Software/pkg-config/

D
-

* :flyc:`flycheck-d-unittest` (*official*) adds a Flycheck checker to run unit
  tests for D programs on the fly.

Deno
----

* :flyc:`flycheck-deno` (*official*) makes linting for Deno_ project available via deno-lint_.

.. _Deno: https://deno.land/
.. _deno-lint: https://deno.land/manual@v1.15.2/tools/linter

Elixir
------

* :gh:`tomekowal/flycheck-mix` adds an Elixir syntax checker using the ``mix``
  build tool.

Emacs Lisp
----------

* :flyc:`flycheck-cask` (*official*) makes Flycheck use Cask packages for Emacs
  Lisp syntax checking in Cask_ projects.
* :flyc:`flycheck-eask` (*official*) makes Flycheck use Eask packages for Emacs
  Lisp syntax checking in Eask_ projects. (Similar to Cask)
* :gh:`purcell/flycheck-package` checks Emacs Lisp packages for common problems
  with package metadata.

.. _Cask: https://github.com/cask/cask
.. _Eask: https://github.com/emacs-eask/cli

Julia
-----

* :gh:`gdkrmr/flycheck-julia` makes linting for Julia_ available via Lint.jl_.

.. _Julia: https://julialang.org
.. _Lint.jl: https://lintjl.readthedocs.io/en/stable/

Haskell
-------

* :flyc:`flycheck-haskell` (*official*) configures Flycheck from the Cabal
  settings and sandbox in Haskell projects.

Kotlin
------

* :gh:`whirm/flycheck-kotlin` adds a Kotlin_ syntax checker using ktlint_.

.. _Kotlin: https://kotlinlang.org/
.. _ktlint: https://pinterest.github.io/ktlint/

Ledger
------

* :gh:`purcell/flycheck-ledger` adds a syntax checker for the Ledger_ accounting
  tool.

.. _Ledger: https://ledger-cli.org/

Mercury
-------

* :flyc:`flycheck-mercury` (*official*) adds a syntax checker for the Mercury_
  language.

.. _Mercury: http://mercurylang.org/

OCaml
-----

* :flyc:`flycheck-ocaml` (*official*) adds a syntax checker for OCaml using the
  :gh:`Merlin <ocaml/merlin>` backend.

PHP
---

* :gh:`emacs-php/phpstan.el` adds a PHP static analyzer using PHPStan_.
* :gh:`emacs-php/psalm.el` adds a PHP static analyzer using Psalm_.

.. _PHPStan: https://phpstan.org/
.. _Psalm: https://psalm.dev/

Python
------

* :gh:`Wilfred/flycheck-pyflakes` adds a Python syntax checker using Pyflakes_.
* :gh:`msherry/flycheck-pycheckers` adds a checker for Python that can run multiple syntax checkers simultaneously (Pyflakes_, PEP8, Mypy_ 2/3, etc.).
* :gh:`chocoelho/flycheck-prospector` adds Prospector_ checker for Python syntax.

.. _Pyflakes: https://github.com/PyCQA/pyflakes
.. _Prospector: https://github.com/PyCQA/prospector
.. _Mypy: http://mypy-lang.org/

Rust
----

* :flyc:`flycheck-rust` (*official*) configures Flycheck according to the Cargo
  settings and layouts of the current Rust project.

Shell scripts
-------------

* :gh:`cuonglm/flycheck-checkbashisms` adds a shell script syntax checker using
  ``checkbashisms`` which is part of `Debian devscripts`_ and checks for common
  Bash constructs in POSIX shell scripts.

.. _Debian devscripts: https://salsa.debian.org/debian/devscripts