ALE v1.1.0
New Features
- ALE now splits filetypes containing
.
(a dot), and will run all linters for each component of a compound filetype, so files with typefoo.bar
will use linters for filetypesfoo
andbar
. - ALE now offers commands and
<Plug>
keybinds for moving between warnings and errors. See:help ale-navigation-commands
for more information. - ALE can now automatically open a window to show the list of errors. See
:help g:ale_open_list
for more information. - ALE now allows you to get some information about the current linters with a new
:ALEInfo
command. - ALE now includes a mechanism for chaining commands for running linters, for any linters which need to run multiple commands to check for errors.
New Linters
Support has been added for the following linters.
- Ansible - ansiblelint
- C/C++ - clang, cppcheck
- C# - mcs
- Chef - foodcritic
- CSS - stylelint
- Dockerfile - hadolint
- Elm - elm-make
- Erland - erlc
- Go - go build
- JavaScript - flow
- LatTex - chtex, lacheck
- Markdown - mdl, proselint
- MATLAB - mlint
- OCaml - merlin (Another Vim plugin is required)
- PHP - hack
- Puppet - puppet, puppet-lint
- Python - mypy, pylint
- SASS - stylelint
- SCSS - stylelint
- Swift - swiftlint
- Text - proselint
- TypeScript - tslint, typecheck
Linter Enhancements
- The
eslint
andjshint
linters for JavaScript will now attempt to run eslint installed innode_modules
directories first. Theg:ale_javascript_eslint_use_global
org:ale_javascript_jshint_use_global
variables can be set to1
to force ALE to use the global executables. - The
eslint
linter can now be configured with more options. - The default flags for
gcc
andg++
were changed to use the latest C and C++ standards by default. - The
htmlhint
options can now be customised with a global variable. htmlhint
will now search for executables innode_modules
directories to run.- The
shellcheck
linter now uses Vim's special buffer variables for detecting the shell dialect. - The
flake8
linter now accept variables for configuring the executable and the command line arguments. - The
flake8
linter is now informed with the filename, which plugins can use. - The Haksell linters should produce better error messages.
- C and C++ linter options can now be changed dynamically.
- The Verilator linter was improved so it only produces warnings or errors for the file you are editing.
- The DMD linter should now run on Windows, as the special Linux Bash script has been replaced with
use of the new command chaining feature. - The Vint linter for Vim files now recognises commands specific to NeoVim when running under NeoVim.
Misc Changes
- The stdin-wrapper script for Unix systems has been simplified, and should see increased support for various systems.
- A bug was fixed with this plugin and newer versions of NeoVim which altered the job control API slightly, which broke everything.