-
New syntax checkers:
- Processing [GH-793] [GH-812]
-
Improvements:
- Map error IDs from flake8-pep257 to Flycheck error levels
-
Bug fixes:
- Fix folding of C/C++ errors from included files [GH-783]
- Fix verification of SCSS-Lint checkstyle reporter
- Don’t fall back to
rust
ifrust-cargo
should be used [GH-817] - Don’t change current buffer when closing the error message buffer [GH-648]
- Never display error message buffer in current window [GH-822]
- Fix undefined function call in
emacs-lisp
syntax checker [GH-791]
-
Breaking changes:
scala-scalastyle
now expects ascalastyle
executable inexec-path
[GH-763]- Drop support for legacy Ruby YAML implementations prior to Ruby 1.9.3 in
ruby-yaml
- Remove racket syntax checker due to possible code execution [GH-786]
-
New syntax checkers:
- JSON with Python’s built-in
json
module [GH-758] - Rust with
cargo rustc
[GH-772]
- JSON with Python’s built-in
-
New features:
- Add
flycheck-help-echo-function
to customize the Help Echo of Flycheck overlays [GH-730] - Use symbolic error IDs in Pylint [GH-714]
- Add
flycheck-pylint-use-symbolic-id
to disable symbolic IDs for Pylint [GH-714] - Add
flycheck-command-wrapper-function
to wrap syntax checker commands before execution [GH-629] [GH-752] - Add
flycheck-executable-find
to customise how Flycheck searches executables [GH-752] - Add
flycheck-hlint-args
to pass additional arguments to hlint [GH-713] [GH-762] - Add
flycheck-go-build-tags
andflycheck-go-install-deps
to specify tags and automatically install dependencies withgo build
[GH-674] - Add :standard-input property to syntax checkers to read source from standard input [GH-673] [GH-728]
- Add support for JSX modes to some Javascript checkers [GH-778]
- Add
-
Improvements:
- Improve mode line display for buffers with only info messages [GH-733]
- Merge messages of all errors under cursor for Help Echo [GH-730]
- Align multi-line messages in error list [GH-732] [GH-731]
- Cache GHC output for faster syntax checking and better template haskell support [GH-708]
- Fall back to
rst
ifrst-sphinx
is disabled [GH-745] [GH-746] - New uniform fringe indicators [GH-750]
- Demote AsciiDoc deprecation warnings to
info
level
-
Bug fixes:
- Fix error patterns of
coq
[GH-742] - Support GFortran 5 [GH-751]
- Fix stack overflow when parsing hlint errors [GH-760]
- Fix error columns of jsonlint
- Fix error patterns of
-
Breaking changes:
- Remove Elixir syntax checker due to code execution [GH-630]
- Drop support for Emacs 24.1 and 24.2
-
New syntax checkers:
- Javascript with
jscs
[GH-634] andstandard
[GH-644] - Jade [GH-686]
- SQL with
sqllint
[GH-691] - Groovy [GH-716]
- Haskell with
stack ghc
[GH-711]
- Javascript with
-
New features:
- The error list can now be filtered by error level by pressing f
- Add
flycheck-error-list-minimum-level
to restrict error levels displayed in the error list [GH-698] [GH-701] - Add
flycheck-perl-include-path
to set include directories for Perl [GH-621] - Add
flycheck-rust-args
to pass additional arguments torustc
- Add
flycheck-dmd-args
to pass additional arguments todmd
[GH-655] - Add
flycheck-erlang-include-path
[GH-668] andflycheck-erlang-library-path
[GH-696] for Erlang - Add
flycheck-verilator-include-path
to set include directories for Verilator [GH-684] - Add
flycheck-cppcheck-include-path
to set include directories for cppcheck [GH-687] - Add support for Hlint configuration file [GH-682]
- Add Hlint options for ignore rules, language extensions and hint packages [GH-682]
-
Improvements:
- Show chained checkers in Help buffers for syntax checkers [GH-571]
- Map custom error levels to compilation mode levels [GH-700]
flycheck-verify-setup
now includes the manually selected checker if any [GH-705]flycheck-select-checker
now shows a verification buffer if the selected checker cannot be used [GH-705]- Add
flycheck-verify-checker
to check whether a specific syntax checker can be used in a buffer [GH-705]
-
Bug fixes:
- Fix offset of column numbers in ESLint [GH-640]
- Properly parse indentation errors from Python 2.7 [GH-635]
- Don’t choke if
default-directory
does not exist [GH-625] - Fix error parsing for Puppet 4
- Fix duplicate checkdoc errors on Emacs 25
- Fix level of
info
messages inflycheck-compile
[GH-669] - Allow custom
:verify
functions for command checkers [GH-672] - Fix error when
flycheck-scalastylerc
was set to a non-existing file - Fix error column offsets in
scala-scalastyle
- Do not use
r-lintr
in non-R buffers [GH-607] - Enforce output format of
flake8
[GH-704] - Parse error ids from luacheck 0.11
- Fix patterns for Puppet environment names [GH-694]
- Properly locate configuration files from jshint and jscs [GH-703]
- Fix column offsets in eslint 1.0 [GH-718]
-
Breaking changes:
- New manual in native Texinfo format, to achieve higher quality Info manuals
- Remove
make
syntax checker due to various issues [GH-572] [GH-573] - Remove
zsh
support fromsh-shellcheck
, since Shellcheck does not support Zsh anymore - Remove
global-flycheck-mode
from customization interface [GH-595]
-
New syntax checkers:
- R with
lintr
[GH-512] - Lua with
luacheck
[GH-591] [GH-609] - SCSS with
scss-lint
[GH-582] [GH-598]
- R with
-
New features:
- Add
flycheck-disable-checker
to disable a syntax checker in the current buffer - Add
flycheck-global-modes
to control in which modesglobal-flycheck-mode
turns onflycheck-mode
- Add
pedantic
andpedantic-errors
options to Clang and GCC [GH-543] - Add
flycheck-foodcritic-tags
to select tags for Foodcritic [GH-560]
- Add
-
Improvements:
chef-foodcritic
handles relative paths correctly now [GH-556]- Global Flycheck Mode enables Flycheck Mode even if there is no syntax checker for the buffer yet [GH-568]
handlebars
now supports Web Mode [GH-605]- Extract error IDs from
rustc
- Don’t cache last syntax checker in buffer anymore
-
Bug fixes:
- Fix void variable error when trying to use
flycheck-compile
with a non-command checker [GH-563] - Fix faulty mode line reporting [GH-564]
- Automatically initialize packages when checking
user-init-file
- Properly initialize hook variables [GH-593]
- Fix handling of file names with symbolic links for some checkers [GH-561]
- Parse multiline type errors from
rustc
[GH-592]
- Fix void variable error when trying to use
-
Breaking changes:
- Never allow use of disabled checkers anymore, even with
flycheck-select-checker
- Error parsers must set the
:buffer
and:checker
slots offlycheck-error
now - The internals of syntax checker definitions have changed again. All packages depending on Flycheck must be recompiled! [GH-524]
flycheck-error-list-refresh
is not an interactive command anymore- Replace
flycheck-perlcritic-verbosity
withflycheck-perlcritic-severity
- Replace
flycheck-copy-messages-as-kill
withflycheck-copy-errors-as-kill
[GH-529] - Remove
flycheck-google-messages
command - Options and config file variables are not buffer-local anymore [GH-546]
- Never allow use of disabled checkers anymore, even with
-
New syntax checkers:
- Python with
py_compile
[GH-484]
- Python with
-
New features:
flycheck-ert.el
library to write unit tests for Flycheck extensions- Add
flycheck-define-generic-checker
to define syntax checkers over arbitrary Emacs Lisp functions [GH-169] [GH-524] - Add
flycheck-define-command-checker
as non-macro variant offlycheck-define-checker
[GH-524] - Add support for IDs of errors [GH-529]
- Add special
id
sexp to parse error ids with:error-patterns
[GH-529] - Parse error IDs from Checkstyle XML [GH-259]
flycheck-copy-errors-as-kill
can put error ids into kill ring now [GH-529]- Parse error IDs from many error checkers [GH-259]
- Verify Flycheck setup in a buffer with
flycheck-verify-setup
[GH-338] - Add options for arbitrary arguments to some syntax checkers [GH-542]
- Add
flycheck-flake8-error-level-alist
to customize error levels from flake8 [GH-454]
-
Improvements:
- Automatically disable syntax checkers that report too many errors [GH-476]
- Reduce filesystem access when parsing errors to improve parsing speed
- Add explicit
load-path
inheritance toflycheck-emacs-lisp-load-path
, via newinherit
value [GH-511] - Parse help messages from
rustc
[GH-517] g
in the error list checks the source buffer again [GH-532]haskell-ghc
supports literate Haskell now [GH-535]
-
Bug fixes:
- Properly parse notes in
sh-shellcheck
[GH-508] - Fix shell quoting in
flycheck-compile
[GH-522] [GH-523] - Fix faulty properties of customize options which broke
customize-changed
and related functions - Fix use deprecated option in
coffee-coffeelint
- Fix error columns of
python-pylint
andtex-chktex
[GH-536] - Correctly compute error level of errors on included files in
c/c++-clang
andc/c++-gcc
[GH-451]
- Properly parse notes in
-
Breaking changes:
html-tidy
is not enabled in Web Mode anymore [GH-464]d-dmd
now requires DMD 2.066 or newer [GH-460]:next-checkers
now requires the maximum permissible level instead of a custom predicate [GH-472]- Remove
flycheck-error-list-highlight-at-point
face and related functionality [GH-490]
-
New syntax checkers:
- Coq
- RPM spec files with
rpmlint
[GH-480] [GH-481]
-
New features:
- Add
null-device
symbol for syntax checker commands - Add
flycheck-display-error-messages-unless-error-list
forflycheck-error-display-function
- Add
flycheck-error-list-after-refresh-hook
to run after the error list refreshes - Add
flycheck-navigation-minimum-level
to restrict error levels available for navigation [GH-398] [GH-485] - The error list can be sorted by message and syntax checker name now [GH-500]
- Add
flycheck-error-list-checker-name
face to customize the appearance of the syntax checker name in the error list [GH-500] - Add
flycheck-shellcheck-excluded-warnings
to exclude warnings from ShellCheck reports [GH-499] - Add
flycheck-add-mode
to add a new major mode to a syntax checker [GH-506] - Add
flycheck-gcc-openmp
to enable OpenMP for GCC in C/C++ [GH-507]
- Add
-
Improvements:
- Improve GCC syntax checking by expanding templates [GH-459]
d-dmd
reports errors with columns now [GH-460]- Remove Projectile-based config file search [GH-461]
- Do not change point when navigating in the error list [GH-487]
- ShellCheck warnings now include the corresponding warning code
-
Bug fixes:
- Expand
default-directory
before using it, to handle abbreviated paths gracefully [GH-434] - Restore mouse support in the error list [GH-468]
less
now correctly resolves relative paths indata-uri
[GH-471]go-errcheck
now properly uses package names as syntax checker argumentsc/c++-clang
now handles empty error messages [GH-497]
- Expand
-
Breaking changes:
- The internal names of syntax checker properties changed. All packages depending on Flycheck must be recompiled!
flycheck-substitute-argument
always returns a list now- The special meaning of a trailing
=
in(option …)
and(config-file …)
is removed. Both arguments must now explicitly specifyconcat
to prepend the option as string.
-
New syntax checkers:
- C/C++ with GCC [GH-408]
- Scala with scalastyle [GH-425]
- Fortran with GFortran [GH-414] [GH-450]
- Ada with GNAT [GH-414] [GH-457]
-
New features:
- Add
flycheck-clang-no-exceptions
andflycheck-gcc-no-exceptions
to flag exceptions as errors in C++ [GH-412] - Add
flycheck-rust-crate-root
to resolve inter-crate references inrust
[GH-417] - Add
flycheck-clang-blocks
to enable the block syntax in Clang [GH-420] read-flycheck-checker
now accepts a default value- Add
flycheck-status-changed-functions
to react on status changes - Make the mode line lighter of Flycheck customizable with
flycheck-mode-line
- Add
flycheck-rubylintrc
to support configuration files forruby-rubylint
[GH-424] - Add
flycheck-rust-crate-type
to make the Crate type customizable [GH-446] - The mode line of the error list is now customizable with
flycheck-error-list-mode-line
[GH-454] - Pressing
n
orp
in the error list now shows the error at point in a separate window [GH-452] [GH-454] - Pressing
RET
in the error list now jumps to the error at point [GH-454] - The error list can now be sorted by error level by clicking on the
corresponding list header, or by pressing
S
with point on the column text [GH-454] - Error levels defined with
flycheck-define-error-level
can now have a numeric severity used for sorting [GH-454]
- Add
-
Improvements:
- Use proper temporary files in
python-flake8
[GH-421] - Demote errors from
package-initialize
in theemacs-lisp
checker [GH-423] flycheck-select-checker
now uses the last used syntax checker as default when reading from minibufferflycheck-compile
now prompts for the syntax checker to run ascompile
command [GH-428]- The
rust
syntax checker shows info messages now [GH-439] - The
sass
andscss
syntax checkers now use a temporary directory for their cache [GH-443] [GH-454] - Change the default of
flycheck-eslintrc
tonil
[GH-447] - Show the menu on the mode line lighter [GH-365]
- Greatly improve Flycheck's menu
n
andp
now navigate the error list by errors, not by lines [GH-452] [GH-444]c/c++-clang
does not use in-place temporary files anymore [GH-456]
- Use proper temporary files in
-
Bug fixes:
- Properly support
unload-feature
now
- Properly support
-
Other changes:
- Remove dependencies on f.el and s.el
-
Flycheck now has an official logo [GH-331]
-
Breaking changes:
- The
ruby-rubylint
syntax checker now requires Ruby Lint 2.0 or newer. [GH-405]
- The
-
New syntax checkers:
- Go with
errcheck
[GH-393]
- Go with
-
New features:
- Add
flycheck-keymap-prefix
to change the prefix key for Flycheck keybindings [GH-381] - Make the prefix of Flycheck's temporary files customizable with
flycheck-temp-prefix
[GH-387] - Add
:error-filter
property for syntax checkers to apply a custom function to modify or filter errors after parsing [GH-397] - Add
flycheck-rust-check-tests
to disable syntax checking of test code in Rust [GH-406] - Add
flycheck-cppcheck-inconclusive
to enable cppcheck tests that might give false positives [GH-407]
- Add
-
Improvements:
- Collapse redundant whitespace in messages from
emacs-lisp
[GH-397] - Dedent messages from
haskell-ghc
[GH-397] - Fold errors in included files into the error messages of the corresponding
include in
c/c++-clang
[GH-397] - The
ruby-rubylint
syntax checker now supports ruby-lint 2.0 and newer [GH-405]
- Collapse redundant whitespace in messages from
-
Bug fixes:
- When stopping Flycheck, correctly kill running processes and cleanup their temporary files [GH-334]
- Do not choke on files without extensions in
haskell-ghc
- Fix spurious warning when a syntax checker reports errors, but not for the file being checked [GH-391]
- Do not signal errors in Go Mode, when
go
is not available
-
Breaking changes:
- The POSIX script syntax checkers
sh-bash
andsh-dash
were renamed tosh-posix-bash
andsh-posix-dash
respectively. Thebash
andzsh
syntax checkers were renamed tosh-bash
andsh-zsh
respectively. Thus, all shell script syntax checkers now live in thesh-
prefix. rst-sphinx
requires Sphinx 1.2 or newer now.rustc
requires Rust 0.10 (not yet released at the time of writing) or newer now [GH-353]
- The POSIX script syntax checkers
-
New syntax checkers:
- Perl with Perl Critic [GH-88]
- Replace GNU Make with POSIX Make [GH-322]
- Shellcheck [GH-267]
- Go with
golint
[GH-328] - Go with
go tool vet
[GH-329]
-
New features:
- Add
flycheck-rust-library-path
to specify library locations forrust
- Add
flycheck-dmd-include-path
to change the include path ofd-dmd
[GH-344]
- Add
-
Improvements:
flycheck-parse-checkstyle
supportsinfo
level messages now- Correctly parse multiline error messages of
go-build
andgo-test
rst-sphinx
supports custom nodes without explicit writer support now, by using thepseudoxml
builder.- Avoid warnings about missing main functions in
rust
- Properly resolve relative filenames in
.. include::
directives inrst
- Use
--unix_mode
option injavascript-gjslint
to get the file name [GH-348] - Puppet Lint messages now include the name of the corresponding check
rustc
supports upcoming Rust 0.10 now [GH-353]- Flycheck now handles Clang errors from included files [GH-367]
-
The manual was ported to Sphinx and is now located at http://flycheck.readthedocs.org [GH-274]
-
Breaking changes:
- The default
flycheck-completion-system
was changed to nil, i.e. the built-incompleting-read
, for compliance with Emacs' defaults. To restore the previous behaviour, add(eval-after-load 'flycheck '(setq flycheck-completion-system 'ido))
to yourinit.el
. flycheck-count-errors
counts errors of all levels now, and returns an alist mapping error symbols to error counts.
- The default
-
New syntax checkers:
- RST (ReStructuredText) using Sphinx
- GNU Make [GH-321]
-
New features:
- Extend syntax checkers with
flycheck-add-next-checkers
[GH-266]
- Extend syntax checkers with
-
Improvements:
- Immediately re-check the buffer when it was changed during a syntax check [GH-301]
- Do not defer syntax checker after idle change timeout [GH-305]
- Do not use the generic
rst
syntax checker in Sphinx projects anymore, to avoid false positives by Sphinx-only markup - Check for more than just syntax errors in
rust
[GH-314] chef-foodcritic
supportsenh-ruby-mode
now
-
Bug fixes
- Do not attach syntax checker processes to the buffer anymore [GH-298]
- Do not visit the file to check in
emacs-lisp
andemacs-lisp-checkdoc
to avoid unintended side effects [GH-319]
-
Breaking changes:
- Argument substitution is no longer performed on syntax checker executables. The executable must be a string.
- Split out
haskell-hdevtools
into a separate package. See flycheck-hdevtools [GH-275] - Drop support for coffeelint 0.x
- The error list is reimplemented on top of Tabulated List Mode. This greatly changes the appearance and behaviour of the error list [GH-230]
-
New syntax checkers:
- Ruby with
ruby-lint
[GH-250] - Handlebars [GH-270]
- YAML with
yaml-jsyaml
[GH-253] - Chef recipes with
foodcritic
[GH-255] - AsciiDoc [GH-276]
- CFEngine [GH-271]
- Racket [GH-277]
- Texinfo
- Verilog [GH-296]
- Javascript with
eslint
[GH-291] - ERuby [GH-285]
- Ruby with
-
New features:
- Define variables to override the executables of syntax checkers [GH-272]
- Interactively set the executable of a syntax checker with
flycheck-set-checker-executable
[GH-272] - Disable syntax checkers easily with
flycheck-disabled-checkers
[GH-269] - Add support for the Compass CSS framework in the
sass
andscss
checkers, withflycheck-sass-compass
andflycheck-scss-compass
respectively [GH-268] - Disable style checks in
ruby-rubocop
withflycheck-rubocop-lint-only
[GH-287] - Add support for Microsoft extensions in
c/c++-clang
viaflycheck-clang-ms-extensions
[GH-283] - New faces
flycheck-error-list-info
,flycheck-error-list-warning
,flycheck-error-list-error
,flycheck-error-list-line-number
andflycheck-error-list-column-number
[GH-230] - Add
flycheck-ghc-no-user-package-database
to disable the user package database forhaskell-ghc
- Add
flycheck-ghc-package-databases
to add additional package databases tohaskell-ghc
- Add
flycheck-ghc-search-path
to add additional directories to the search path ofhaskell-ghc
-
Improvements:
- Demote Rubocop convention messages to
info
level - Stop Flycheck before the buffer is reverted [GH-282]
- Properly resolve local module imports in
haskell-ghc
- Demote Rubocop convention messages to
-
Bug fixes:
- Make relative imports work with
python-pylint
[GH-280] - Fix parsing of errors in
scss
andsass
- Make relative imports work with
-
Flycheck has a new home at https://github.com/flycheck/flycheck, the online manual moved to http://flycheck.github.io.
-
Breaking changes:
- Do not add the current directory to the
emacs-lisp
syntax checker load path flycheck-list-errors
cannot list errors at point anymore. It does not accept a prefix argument anymore, and takes zero arguments now [GH-214]flycheck-display-errors-in-list
is gone. The error list automatically highlights the error at point now [GH-214]- Remove obsolete
flycheck-declare-checker
- Do not add the current directory to the
-
New syntax checkers:
- YAML [GH-236]
- Javascript with
gjslint
[GH-245] - Slim [GH-246]
- PHP using
phpmd
[GH-249]
-
New features:
- Support IDO or Grizzl as completion systems for
flycheck-select-checker
atC-c ! s
- Disable standard error navigation with
flycheck-standard-error-navigation
[GH-202] - Add
flycheck-clang-language-standard
to choose the language standard for C/C++ syntax checking [GH-207] - Add
flycheck-clang-definitions
to set additional definitions for C/C++ syntax checking [GH-207] - Add
flycheck-clang-no-rtti
to disable RTTI for C/C++ syntax checking [GH-207] - Add new option cell
option-flag
for boolean flags in syntax checker commands - Add
flycheck-clang-includes
to include additional files for C/C++ syntax checking [GH-207] - Add configuration file variable
flycheck-pylintrc
for Pylint - New faces
flycheck-error-list-highlight-at-point
andflycheck-error-list-highlight
to highlight the errors at point and at the current line respectively in the error list [GH-214] - The error list now automatically updates to show the errors of the current buffer [GH-214]
- Define new error levels with
flycheck-define-error-level
[GH-212] - Add
flycheck-clang-standard-library
to choose the standard library for C/C++ syntax checking [GH-234] - Customize the delay for displaying errors via
flycheck-display-errors-delay
[GH-243] - Add
info
level for informational annotations by syntax checkers [GH-215] - Add a new symbol
temporary-file-name
to pass temporary file names to syntax checkers [GH-259]
- Support IDO or Grizzl as completion systems for
-
Improvements:
- The error list now refreshes automatically after each syntax check [GH-214]
- The errors at point are now automatically highlighted in the error list [GH-214]
emacs-lisp-checkdoc
does not longer check.dir-locals.el
files- Do not automatically check syntax in encrypted files [GH-222]
- Parse notes from
c/c++-clang
into info level messages [GH-215] - Parse convention warnings from
pylint
to info level [GH-204] - Demote naming warnings from
python-flake8
to info level [GH-215] - Support
enh-ruby-mode
in Ruby syntax checkers [GH-256] - Parse columns from
python-pylint
errors - Do not compress temporary files for syntax checks if the original file was compressed
-
Bug fixes:
- Find local includes in the Clang syntax checker [GH-225]
- Do not emit spurious flawed definition warning in the
rst
syntax checker - Handle abbreviated file names in
luac
output, by simply ignoring them [GH-251] - Correctly redirect the output binary of the
go-build
syntax checker [GH-259] - Fix Cppcheck parsing with the built-in Emacs XML parser [GH-263]
-
Bug fixes:
- Add a missing dependency [GH-194]
-
Breaking changes:
- Introduce
flycheck-define-checker
and obsoleteflycheck-declare-checker
[GH-163] - Remove the obsolete
flycheck-error-face
andflycheck-warning-face
- Do not initialize packages by default in
emacs-lisp
syntax checker for non-configuration files [GH-176] - Change the default
flycheck-highlighting-mode
tosymbols
[GH-179] - Drop support for Pylint 0.x in
python-pylint
[GH-184]
- Introduce
-
New features:
- List errors at point only with prefix arg to
flycheck-list-errors
[GH-166] - Add new display function
flycheck-display-errors-in-list
to display errors at point in the error list [GH-166] - New
option-list
argument cell to pass option lists to a syntax checker - New
flycheck-emacs-lisp-load-path
option to customize theload-path
used by theemacs-lisp
syntax checker [GH-174] - New
flycheck-emacs-lisp-initialize-packages
option to initialize packages in theemacs-lisp
syntax checker [GH-176] - New
flycheck-emacs-lisp-package-user-dir
option to configure the package directory for theemacs-lisp
syntax checker [GH-176] - New option filter
flycheck-option-comma-separated-list
for options with comma separated lists as values - New highlighting mode
symbols
to highlight the symbol pointed to by an error [GH-179]
- List errors at point only with prefix arg to
-
New syntax checkers:
- LESS [GH-160]
- Haskell with
ghc
,hdevtools
andhlint
[GH-162] - C/C++ with
cppcheck
[GH-170] - C/C++ with
clang
[GH-172] - CoffeeScript with
coffee
- XML with
xmllint
[GH-180] - D with
dmd
[GH-167]
-
Improvements:
- Support Web Mode in
html-tidy
syntax checker [GH-157] - Support Rubocop 0.9 and drop support for older Rubocop releases [GH-159]
- Include the message ID in error messages from
python-pylint
- Support Web Mode in
-
Bug fixes:
- Fix warnings about flawed definitions in
emacs-lisp
andemacs-lisp-checkdoc
, caused by faulty formatting of sexps - Refresh error lists when pressing
g
[GH-166] - Do not obscure active minibuffer input when displaying errors in the echo area [GH-175]
- Fix universal prefix argument for
flycheck-next-error
atC-c ! n
- Correctly parse output of
coffeelint
0.5.7 [GH-192] - Correctly parse output of
pylint
1.0 [GH-184]
- Fix warnings about flawed definitions in
-
Breaking changes:
- Obsolete
flycheck-warning-face
andflycheck-error-face
in favorflycheck-warning
andflycheck-error
respectively - Obsolete
:predicate
forms in favor of:predicate
functions flycheck-def-config-file-var
does not automatically mark variables as safe anymore
- Obsolete
-
New features:
- Make fringe indicator faces customizable independently with
flycheck-fringe-error
andflycheck-fringe-warning
- Improve the default faces by using underlines instead of foreground colors, if possible
- Customizable error processing with
flycheck-process-error-functions
[GH-141] - Make the delay before starting a syntax check customizable via
flycheck-idle-change-delay
[GH-144] - Make display of errors under point customizable via
flycheck-display-errors-function
[GH-156]
- Make fringe indicator faces customizable independently with
-
Improvements
- Always highlight errors on top of warnings now
- Do not trigger syntax checks in the middle of commands [GH-141]
- Add the current directory to load path in the
emacs-lisp
syntax checker - Do not longer use the
emacs-lisp-checkdoc
syntax checker in Scratch buffers - Do not flush temporary files onto disk [GH-149]
- Syntax checkers may have error patterns and error parser now
- Predicate forms are now wrapped into functions and compiled into functions during byte compilation
- Copy each message separately in
flycheck-copy-messages-as-kill
- Mark some customizable variables as safe for file variable usage, most
notably
flycheck-indication-mode
,flycheck-highlighting-mode
andflycheck-idle-change-delay
.
-
Bug fixes:
- Fix error when searching for a configuration file outside a Projectile project
- Do not start a syntax check before the
flycheck-mode-hook
was run - Do not start automatic syntax checks if Flycheck Mode is disabled
- Defer the initial syntax check until after the current interactive command [GH-143]
- Correctly clean up information about running processes
- Fix compatibility with Emacs 24.2 and earlier [GH-150]
- Fix version information on Emacs trunk builds
-
New syntax checkers:
- Ruby using
jruby
[GH-136] - Puppet [GH-138]
- Ruby using
-
New features:
- Highlight error expressions by default, with the new
sexps
highlighting mode - Automatically check syntax some time after the last change in the buffer [GH-140]
- Add
flycheck-version
to determine the installed Flycheck version - Add
flycheck-list-errors
, mapped toC-c ! l
, to list all errors in a separate buffer
- Highlight error expressions by default, with the new
-
Improvements:
- Defer syntax checks while a buffer is reverted, to avoid race conditions
-
Bug fixes:
- Correctly parse syntax errors from JRuby [GH-136]
-
New syntax checkers:
- Scala [GH-124]
-
New features:
- Customizable error indication with control of the fringe side, via
flycheck-indication-mode
- Customizable automatic syntax checking, via
flycheck-check-syntax-automatically
[GH-128] - Customizable configuration file search, via
flycheck-locate-config-file-functions
[GH-133] - Find configuration files in Projectile projects
- Add
flycheck-before-syntax-check-hook
andflycheck-syntax-check-failed-hook
- Customizable error indication with control of the fringe side, via
-
Improvements:
- The
ruby
syntax checker now differentiates warnings from errors [GH-123] - Faces are now in a separate customization group
- The
-
Bug fixes:
- Add missing customization group for syntax checker options
-
Flycheck uses
cl-lib
now. This library is built-in as of GNU Emacs 24.3. For earlier releases of GNU Emacs 24 an additional compatibility library will be installed from GNU ELPA. -
New syntax checkers:
- POSIX Shell script using
bash
[GH-112] - Ruby using
rubocop
[GH-113] - Elixir [GH-108]
- Erlang [GH-122]
- POSIX Shell script using
-
Removed syntax checkers:
- Python using Pyflakes. Use the superior Flake8 syntax checker [GH-115]
-
New features:
- Add
flycheck-copy-messages-as-kill
, mapped toC-c ! C-w
, to copy all error messages under point into kill ring - Add
flycheck-google-messages
, mapped toC-c ! /
, to google for error messages under point. Needs the Google This library - Syntax checkers can redirect output to a temporary directory now using the
temporary-directory
argument symbol
- Add
-
Improvements:
- Call option filters for
nil
values, too - Improve error parsing in Bash syntax checker [GH-112]
- Error navigation does not cross restrictions in narrowed buffers anymore
- Try to preserve the non-directory part of the buffer's file name when
substituting the
source
symbol [GH-99]
- Call option filters for
-
Bug fixes:
- Fix error highlighting and navigation in narrowed buffers
- Use a hopefully more reliable way to parse output of PHP CodeSniffer [GH-118]
-
New syntax checkers:
- SCSS using
scss
[GH-103] - RST (ReStructuredText) using Docutils
- Go using
go build
andgo test
[GH-107]
- SCSS using
-
Improvements:
- Quit the error message window when navigating away from error locations
-
New syntax checkers:
- Go using
gofmt
[GH-91] - Rust using
rustc
[GH-101]
- Go using
-
New features:
- Add a global Flycheck mode.
(global-flycheck-mode)
is now the recommended way to enable Flycheck [GH-29] - Add support for syntax checker options [GH-72]
- Add option for the coding standard used by the
php-phpcs
syntax checker - Add options for the maximum McCabe complexity and the maximum line
length to
python-flake8
- Add a global Flycheck mode.
-
Improvements:
- Support McCabe warnings in
python-flake8
- Support warnings from
flake8
2 - Show long error messages in a popup buffer [GH-94]
- Show all error messages at point [GH-96]
- Add support for naming warings from
flake8
2 [GH-98] - Flycheck mode is not longer enabled for buffers whose names start with a space
- Improve highlighting to reduce screen flickering [GH-100]
- Support McCabe warnings in
-
Bug fixes:
- Do not signal errors from
flycheck-mode
[GH-87] - Correctly fall back to
$HOME
when searching configuration files - Correctly ascend to parent directory when searching configuration files
- Do not signal errors from
-
API changes:
- Rename
config
cell toconfig-file
- Allow to pass the result of
config-file
cells as single argument - Add support for evaluating Lisp forms in syntax checker commands [GH-86]
- Rename
-
New features:
- Navigate to source of syntax checker declarations from syntax checker help
- Add online Info manual [GH-60]
-
Improvements:
- Use pipes instead of TTYs to read output from syntax checkers
- Defer syntax checks for invisible buffers [GH-80]
- Immediately display error messages after error navigation [GH-62]
-
Bug fixes:
- Never select deleted buffers
- Do not let the debugger interfere with necessary cleanup actions
- Do not attempt to parse empty XML trees [GH-78]
- Fix infinite recursion on Windows [GH-81]
- Fix package dependencies
-
New syntax checkers:
- Emacs Lisp with
checkdoc-current-buffer
[GH-53] - PHP with PHP CodeSniffer [GH-72]
- Emacs Lisp with
-
Removed syntax checkers:
- Javascript with
jsl
- Javascript with
-
New features:
- Error navigation with
next-error
andprevious-error
[GH-26] - Fringe icons instead of error indicators [GH-33]
- Menu entry for Flycheck [GH-59]
- Customizable error highlighting, taking the column number into account [GH-35]
- Configuration files for syntax checkers
- Add configuration file support to the syntax checkers
coffee-coffeelint
,html-tidy
,javascript-jshint
,pyton-flake8
andtex-chktex
- Allow to compile a buffer with a syntax checker for testing purposes [GH-58]
- Use multiple syntax checkers during a syntax check [GH-31]
- Add dedicated help for syntax checkers [GH-52]
- Error navigation with
-
Improvements:
- Match error patterns in order of declaration [GH-55]
-
Bug fixes:
- Inherit highlighting faces from built-in faces [GH-24]
- Correct error patterns of the HTML syntax checker [GH-36]
- Detect syntax errors in the
python-flake8
syntax checker [GH-42] - Fix various regressions after introducing unit tests
- Inhibit syntax checking during package installation [GH-45]
- Disable syntax checking in Tramp buffers [GH-54]
- Preserve whitespace in error messages [GH-65]
-
API changes:
- Replace syntax checker variables with syntax checker declarations [GH-41]
- Support parsing errors with arbitrary functions instead of error patterns [GH-38]
- Add an error parser for Checkstyle-like XML output [GH-38]
-
New syntax checkers:
- SASS [GH-15]
- Perl [GH-21]
- XML
- Lua [GH-30]
-
New features:
- Support manual buffer-local selection of syntax checker [GH-25]
- Add customizable error indicators [GH-28]
- Echo error messages at point without 3rd-party libraries like flymake-cursor [GH-27]
-
Improvements:
- Remember the last automatically selected syntax checker [GH-24]
-
Bug fixes:
- Fix syntax checking of buffers without backing files [GH-19]
-
API changes:
- Replace underlying Flymake API with a custom syntax checking implementation [GH-15]
-
Rename the project to Flycheck [GH-5]
-
New syntax checkers
- HAML [GH-9]
- CSS [GH-9]
- Javascript with
jsl
[GH-9] - Javascript with
jshint
[GH-16] - JSON [GH-12]
- LaTeX with
lacheck
-
Bug fixes:
- Fix type error when checking compressed Emacs Lisp [GH-10]
- Replace
flymake-mode
with a custom syntax checking minor mode [GH-4]
-
New syntax checkers:
- PHP
-
API changes:
- Simplify syntax checker declarations [GH-2]
Initial release as flymake-checkers
-
New syntax checkers:
- TeX/LaTeX
- Shell scripts
- Python
- Ruby
- Coffeescript
- Emacs Lisp