Skip to content

ALE v1.1.0

Compare
Choose a tag to compare
@w0rp w0rp released this 09 Feb 09:43
· 4043 commits to master since this release

New Features

  • ALE now splits filetypes containing . (a dot), and will run all linters for each component of a compound filetype, so files with type foo.bar will use linters for filetypes foo and bar.
  • 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 and jshint linters for JavaScript will now attempt to run eslint installed in node_modules directories first. The g:ale_javascript_eslint_use_global or g:ale_javascript_jshint_use_global variables can be set to 1 to force ALE to use the global executables.
  • The eslint linter can now be configured with more options.
  • The default flags for gcc and g++ 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 in node_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.