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.barwill use linters for filetypesfooandbar. - ALE now offers commands and
<Plug>keybinds for moving between warnings and errors. See:help ale-navigation-commandsfor more information. - ALE can now automatically open a window to show the list of errors. See
:help g:ale_open_listfor more information. - ALE now allows you to get some information about the current linters with a new
:ALEInfocommand. - 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
eslintandjshintlinters for JavaScript will now attempt to run eslint installed innode_modulesdirectories first. Theg:ale_javascript_eslint_use_globalorg:ale_javascript_jshint_use_globalvariables can be set to1to force ALE to use the global executables. - The
eslintlinter can now be configured with more options. - The default flags for
gccandg++were changed to use the latest C and C++ standards by default. - The
htmlhintoptions can now be customised with a global variable. htmlhintwill now search for executables innode_modulesdirectories to run.- The
shellchecklinter now uses Vim's special buffer variables for detecting the shell dialect. - The
flake8linter now accept variables for configuring the executable and the command line arguments. - The
flake8linter 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.