You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Highlights will now be cleared and restored when buffers are hidden and shown.
New Features
Files/buffers will now be checked when the filetype is changed.
All ALE commands defined so far may now be combined with |. (command! -bar ...)
Commands ALEEnable and ALEDisable have been added for explicitly turning ALE on or off.
g:ale_lint_on_text_changed now accepts values 'never', 'normal', and 'always' for controlling whether TextChanged or TextChangedI will be listened to. Old options 0 and 1 will continue to be supported until version 2.0.0.
An option g:ale_lint_on_insert_leave for triggering linting on leaving Insert mode. See :help g:ale_lint_on_insert_leave.
Line highlights may now be set for set for signs. See :help g:ale_set_signs.
For all C and C++ linters, errors inside of headers will be reported on the #include lines.
Filetypes may now be aliased to multiple filetypes in a List. See :help g:ale_linter_aliases.
All settings for all linters should now be dynamically evaluated, so settings can be changed while Vim is running.
New Linters
ASM - gcc
Crystal - crystal
Elixir - dogma
eruby - erb
Go - staticcheck, gosimple
handlebars - ember-template-lint
Koitlin - koitlinc
Markdown - Vale
ReasonML - merlin
RPM Spec - rpmlint
Ruby - brakeman, reek, ruby
SQL - sqlint
Text - Vale
Linter Enhancements
cargo check may now be used instead of cargo build See :help g:ale_rust_cargo_use_check.
The cargo linter now uses lint_file option so it will only run when files are opened, saved, etc.
The rubocop linter's error levels have been improved.
The eslint linter will now automatically detect eslint installed via create-react-app.
The eslint linter will now report invalid configuration file settings as errors at line 1.
The tslint linter will now detect executables installed in node_modules.
The csslint linter will now use .csslintrc files defined in ancestor directories.
The javac linter will now create .class files in temporary directories, deleted at the end of lint cycles.
The javac linter will now include source paths like src/main/java.
The javac linter will now get class paths from Maven automatically.
The javac linter will now report symbol names in undefined symbol errors for types.
The executable and some options may now be configured for the foodcritic linter.
The nimcheck linter now turns thread support on, so code using threads can be checked.
Error parsing for the sml linter has been improved.
The executable and some options may now be configured for the shellcheck linter.
The go build linter will now only check files on disk, but is now capable of understanding paths correctly.
Options and the executable can now be set for the puppetlint linter.
The Fortran gcc linter can now be configured to check fixed form layouts. See :help g:ale_fortran_gcc_use_free_form
The Fortran gcc linter's executable can now be configured. See :help g:ale_fortran_gcc_executable
The flow linter will now filter out errors/warnings from other files.
The tslint linter can now be set to prefer the global executable, like many other linters.
The laucheck linter can now be configured with different options.
The cppcheck linter will now detect and use compile_commands.json files and switch to the directory they are in, when detected in ancestor directories.
The clang-tidy linter now checks files on disk and uses compile_commands.json files, with no extra options by default. See :help ale-cpp-clangtidy
The pylint linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_pylint_use_global for disabling this behaviour.
The pylint linter will now check files on disk, and understand import paths.
The mypy linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_mypy_use_global for disabling this behaviour.
The mypy linter will now check files on disk, and understand import paths.
The flake8 linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_flake8_use_global for disabling this behaviour.
Misc Changes
Linters now run when files are saved by default.
The setting g:ale_linters_sh_shell_default_shell has been renamed to g:ale_sh_shell_default_shell.
The setting g:ale_linters_sh_shellcheck_exclusions has been renamed to g:ale_sh_shellcheck_exclusions.