ALE v1.9.0
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 withg:ale_python_flake8_options
g:ale_html_tidy_args
- Replace withg: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 settingg:ale_python_pylint_change_directory
to0
, if it causes problems for you. #1487 - The
flake8
linter now runs for the buffer's directory, to helpflake8
find configuration files consistently. This behavior can be disabled by settingg:ale_python_flake8_change_directory
to0
, if it causes problems for you. perlcritic
escaping on Windows was broken, and this has been broken.
New Features
vcol
can now be set to1
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
to1
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
andpyls
. #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 withmarkdown
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
- Cucumber -
cucumber
#1511 - Java -
pmd
#1488 - Mercury -
mmc
#1429 - Perl -
perltidy
#1517 - Python -
black
#1451 - Scala -
fsc
#1452 - QML -
qmlfmt
#1462
New Fixers
- JavaScript -
xo
#1552
Linter Enhancements
g:ale_haskell_hdevtools_options
now defaults toget(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 forC++
can now be selected with either'g++'
or'gcc'
, which is now the preferred name. #1490 - The
--respect-prgama
option forflow
can now be disabled by settingale_javascript_flow_use_respect_pragma
to0
. #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 forphan
. See:help ale-php-phan
Fixer Enhancements
g:ale_php_cs_fixer_options
was added for configuring thephp-cs
fixer. #1477