Skip to content

ALE v1.9.0

Compare
Choose a tag to compare
@w0rp w0rp released this 30 May 20:21
· 2324 commits to master since this release
10e1545

This is the last version of ALE which will support the deprecated features listed here and in the version 1.8.0 release notes. You should update to NeoVim 0.2.0 if you are using a lower NeoVim version as soon as you can, and you should switch from using the deprecated features to modern alternatives instead. All of the deprecated features will be removed from the git master branch on July 4th, and will be removed in version 2.0.0.

A commit showing all of the code that will be removed for ALE version 2.0 can be seen here: fa103f0

Deprecated Features

The following legacy options have been marked as deprecated, and you will be warned about them if you use them. #1587

  • g:ale_python_flake8_args - Replace with g:ale_python_flake8_options
  • g:ale_html_tidy_args - Replace with g:ale_html_tidy_options

Bugs Fixed

  • The pylint linter now runs from the buffer's directory, which allows pylint to find configuration files consistently. This behavior can be disabled by setting g:ale_python_pylint_change_directory to 0, if it causes problems for you. #1487
  • The flake8 linter now runs for the buffer's directory, to help flake8 find configuration files consistently. This behavior can be disabled by setting g:ale_python_flake8_change_directory to 0, if it causes problems for you.
  • perlcritic escaping on Windows was broken, and this has been broken.

New Features

  • vcol can now be set to 1 for linters which return character positions for potentially multi-byte text, instead of byte positions. #605
  • ALE debugging information can now be written to a file with :ALEInfoToFile <filename_here>. #1439
  • Running locally installed executables can now be disabled globally by setting g:ale_use_global_executables to 1 before ALE is loaded. #542
  • ALE fixer names can now be given explicitly to the ALEFix command, complete with suggestions. #1510 #1564
  • ALE now offers asynchronous completion support via LSP linters, including the currently supported rls and pyls. #1162
  • ALE now supports finding references to symbols under your cursor with LSP linters for tsserver. See :help ale-find-references.
  • ALE now supports defining linters from pretty much any VimL file. See :help ale-linter-loading-behavior.
  • ALE now emits an ALEJobStarted event whenever a job has successfully been started. #1543
  • Completion results can now be filtered out with a setting. See :help g:ale_completion_excluded_words.
  • tsserver completion will now suggest some results for string literals, where possible. #1553
  • Errors from LSP servers will now appear in :ALEInfo output, to help users set up LSP linters. #1559

Other Changes

  • ALE now prefers to display higher severity problems over lower severity problems given the choice between two items on the same column. #1494
  • The plugin should now start up around twice as fast as it did in the last version. #1524
  • It should now be possible to run ALE tests on NetBSD. #1548
  • Balloon support is now enabled by default in more circumstances, where it's safe. #1565
  • ALE now checks vimwiki files with markdown linters by default. #1600
  • Conflict warnings with other similar linting plugins have been removed, now ALE is well-known enough. #1524
  • ALE will no longer try to check buffers with empty filetypes, where no linters could have been loaded anyway. #1524
  • Many ALE variables are now only defined in the files where they are needed, and some are never defined with default values. #1524

New Linters

New Fixers

Linter Enhancements

  • g:ale_haskell_hdevtools_options now defaults to get(g:, 'hdevtools_options', '-g -Wall'), to respect an option in the hdevtools documentation. #1479
  • The executable for vint can now be configured. #1315
  • The executable for javac can now be configured. #1476
  • The gcc linter for C++ can now be selected with either 'g++' or 'gcc', which is now the preferred name. #1490
  • The --respect-prgama option for flow can now be disabled by setting ale_javascript_flow_use_respect_pragma to 0. #1504
  • The mdl linter can now be run via Ruby bundles. #1550
  • gcc linters now show fatal errors as errors instead of warnings. #1563
  • The msgfmt handler now improves the duplicate message warnings by including the line numbers for the other lines in the messages. #1584
  • -wi is now used so more warnings appear for D code. #1575
  • The sasslint linter now finds local configuration more often. #1573
  • ALE now supports Elm 0.19, in addition to Elm 0.18.
  • phan_client can now be used for phan. See :help ale-php-phan

Fixer Enhancements

  • g:ale_php_cs_fixer_options was added for configuring the php-cs fixer. #1477