Bot releases are visible (Hide)
Published by w0rp over 6 years ago
Support for NeoVim versions below 0.2.0 is deprecated in this version of ALE. Users using older versions of NeoVim will see a warning they can turn off when NeoVim starts. Support for NeoVim versions below 0.2.0 will be removed in ALE v2.0.0, to be released during Spring or Summer 2018. NeoVim 0.2.0 supports closures, which will make development of ALE easier.
The following functions will now emit deprecation warnings, and will be removed in ALE 0.2.0.
ale#statusline#Status()
ALELint()
ALEGetStatusLine()
'W'
and suggestions with 'I'
. #1384tslint
exectuable is now escaped. #416fish -n
are now handled properly on Linux. #1373g:ale_set_balloons
is set to 0
while Vim is running. #1404:help g:ale_command_wrapper
. #1115textDocument/didSave
to LSP servers when linting is done as the result of saving a file. #1288b:ale_linted
when buffers are checked, for use in other plugins. #1379:ALEStopAllLSPs
.ALEFixPre
and ALEFixPost
events when fixing files.b:ale_set_balloons
to 0
. #1404dialyxir
#1257erubi
#1157fish -n
#1252proselint
#1243luac -p
#1272gitlint
#1233gotype
#1099markdownlint
#1394, textlint
#1383 #1448alex
#1321, msgfmt
#1321, proselint
#1321, write-good
#1321ponyc
#1343qmllint
#1419textlint
#1448fixjson
#1284, jq
#1303flawfinder
#1361flawfinder
#1361php-cs-fixer
#1390rufo
#1415gawk
linter now prevents arbitrary execution of code by exiting early. #1411ghc
can now be configured. #1260tidy
linter will now no longer run the outdated version of tidy
which comes with Mac OSX. Install a modern version via homebrew instead. #1262htmlhint
will now automatically use the .htmlhintrc
configuration file when checking for problems while you type. #1038mypy
with g:ale_python_mypy_ignore_invalid_syntax
.cargo
linter. #1275protoc
are now configurable. #1268credo
and dogma
linters now contain a work-around for an obscure hot-reloading issue. #1266stderr
for newer versions of ESLint. #1246hadolint
linter now reports Dockerfile parse errors. #1308hadolint
linter now outputs hyperlinks with information about errors for :ALEDetail
. #1308lintr
have been solved. #1326gobuild
linter. #1206gobuild
linter should now set GOPATH
on Windows. #1206gobuild
linter should now escape the path for GOPATH
and for changing the directory. #1206lintr
linter can now be set to lint packages. See :help g:ale_r_lintr_lint_package
#1332go vet
linter now only lints files and checks the entire package, which solves a number of problems, but removes the ability to use it to lint while you type. #1369 #1358staticcheck
linter for Go can now be set to lint all files in a package, which can solve some problems with linting certain files. See :help g:ale_go_staticcheck_package
perl
linter now reports warnings as warnings. #933perl
linter now only shows the first problem among many problems one line. #933mdl
linter options are now configurable. #945g:ale_c_flawfinder_error_severity
. #1400gotype
linter will now only check files on disk, so it can work with vendored-only dependencies. #1392gotype
and gosimple
linters will now check whole packages, which seems like the only thing that will work properly. #1433 #936mix
format options are now configurable. #1410remark
linter. #1207elm-format
fixer is now available as 'elm-format'
, in addition to the old name of 'format'
. #1395Published by w0rp over 6 years ago
rustfmt
will now apply project settings correctly by using stdin and stdout instead. #1254clang-check
correctly. #1255isort
configuration files will now be detected more accurately by changing the working directory instead of setting the configuration file. #1330Published by w0rp almost 7 years ago
ansible-lint
when the option is on. #1216:help ALEToggleBuffer
. #817ALEReset
or ALEResetBuffer
. #719b:ale_fix_on_save
can now be used for controlling fixing on save for specific buffers. #857'read_buffer': 0
, just like linters.b:ale_fixers
can now be set to a List
. #1108b:ale_linters
can now be set to a List
. #1108b:ale_linters
can now be set to 'all'
. #1108b:ale_linter_aliases
can now be set to a List
. #1108'I'
problems as 'Info'
.:help b:ale_echo_msg_format
:help g:ale_loclist_msg_format
#1069 #852:help g:ale_linters_explicit
#1128:ALEDetail
will now show messages in a preview window. #757:help ale-go-to-definition
.:help g:ale_warn_about_trailing_blank_lines
.let g:ale_cache_executable_check_failures = 1
#1176ALELintPre
has been added for running code just before ALE starts linting.runtimepath
when g:ale_emit_conflict_warnings
is set to 0
. #1049ALELint
autocmd commands are set. #1062id
key
for the LSP notification messages at all, instead of v:null
. #1110tsserver
completions will now be requested again after completion is done only if the cursor moves, rather than waiting for 100ms. #1041perl
linter is now disabled by default, as it can execute malicious code. #1186ALELint
autocmd has been renamed to ALELintPost
, but the old commands will still be run until version 2.0. On version 2.0, ALELint
commands will probably be removed.mypy.ini
files for finding Python project roots.venv
for finding virtualenv directories by default. #1237alex
#1220, redpen
#1142, write-good
#643 #811drafter
#1152joker
#1133dafny
#1093dart_language_server
#1006glslls
#1179eslint
#1169alex
#1220, write-good
#643 #811alex
#1220, redpen
#1142, vale
#1230, write-good
#643 #811lessc
#1103, stylelint
#510alex
#1220, proselint
#1037, vale
#1044alex
#1220, redpen
#1137, write-good
#643 #811alex
#1220, write-good
#643 #811ols
#1110phan
#1026alex
#1220, write-good
#643 #811protoc-gen-lint
#1098prospector
#565 #1183, pyflakes
#516, PyLS
#1097solhint
#1192ols
#1110alex
#1220, redpen
#1142, rstcheck
#1090, vale
#1230, write-good
#643 #811redpen
#1142tflint
#1046alex
#1220, write-good
#643 #811alex
#1220, redpen
#1142, write-good
#643 #811alex
#1220, write-good
#643 #811alex
#1220, write-good
#643 #811mix format
#1017goimports
#1123hackfmt
#1053brittany
#1174, hfmt
#1027google-java-format
#1209importjs
#1191refmt
#1059rustfmt
#1025shfmt
#1083rubocop
and haml-lint
configuration files will be now used for ham-lint
automatically. #1047shellcheck
linter will now use -x
and follow sourced files when checking for errors. #491shellcheck
linter now uses the type 'I'
for notes. #1122phpcs
linter will now include the error code in the message. #1009:help g:ale_javascript_eslint_suppress_missing_config
. #971cargo check
and cargo check --all-targets
will now automatically be used when cargo
is new enough. g:ale_rust_cargo_use_check
or g:ale_rust_cargo_check_all_targets
can be set to disable either. #626phpmd
executable can now be configured, and error checking should be more reliable. #1076flow
linter will now include more information for errors in the :ALEDetail
message. #946msgid
values (like E0103
) are no longer reported for pylint, which aren't human-readable. #852erb
files. #580 #1114iverilog
. #1143javac
linter now includes test source paths for test files. #859javac
linter now includes jaxb source paths when available. #859gobuild
linter. #1154foodcritic
linter has been overhauled to check only files on disk with better error messages. #1151flow
will no longer check files with home directory configuration files by default, which can eat all of your CPU and RAM. Set g:ale_javascript_flow_use_home_config
to 1
to use home directory configuration files, if you really must. #783rls
can now be selected. See :help g:ale_rust_rls_toolchain
#1166ruby
executable is now configurable. #1168flake8
and pycodestyle
.phpcbf
linter should now work properly, apparently. #1188puppet
linter now parses output which doesn't include column numbers. #1182perl
is now properly escaped.gometalinter
can now be configured to report problems from other files. See :help g:ale_go_gometalinter_lint_package
#1156php
linter now handles error output from PHP 7.2, which has slightly different output.vale
linter now parses end column numbers, for better highlighting.erb
linter now works on puppet style templates. #1221mcsc
linter paths and escaping should now work on Windows.ember-template-lint
linter will now parse line and column numbers for fatal errors if they are included.rustc
can now be configured, so -Z no-trans
can be replaced with something else. #1031prettier
fixer will now use the --stdin-filepath
argument when the version is 1.6.0 or greater. #1095prettier_eslint
fixer will now use the --stdin-filepath
argument when the version is 4.4.0 or greater. #1095prettier_eslint
fixer will now use the --eslint-config-path
argument only when the version is 4.2.0 or greater. The old legacy option has been removed, as it is no longer needed. #1095'prettier-eslint'
may now be used in place of 'prettier_eslint'
for fixers.'prettier-standard'
may now be used in place of 'prettier_standard'
for fixers.--fix-to-stdout
is now used for better configuration detection for eslint_d
where available. #988--fix-dry-run
is now used for ESLint 4.9.0 and up for fixing files with better configuration file detection. #988Published by w0rp almost 7 years ago
stack-build
has been updated so it will parse errors with leading spaces, as returned by newer versions. #1124Published by w0rp almost 7 years ago
cargo
output from either stdout
or stderr
, to support more versions of cargo
#1045.
#1048ash
and dash
are now supported for shell linters #1051CompleteDone
, fixing a bug where the menu kept re-opening #1041gosimple
and staticcheck
will now check only the actual files on disk, because that is all they support. #936php
linter will no longer write to the PHP error log. #1072erlc
linter is now supported on Windows. #1071javac
linter wasn't handling errors from other files correctly. This has been fixed. #1061tsserver
messages which include a buffer's text data will now include a final line feed, so tools which complain about missing newline characters will be quiet. #1085no-implicit-dependencies
for most files with in TSLint's latest version, because TSLint does not fully support checking for errors while you type yet. These errors have been silenced for now. #1101Published by w0rp almost 7 years ago
phpmd
errors has been updated, so errors may be handled better in some cases. #1032:help g:ale_max_signs
#965:help g:ale_echo_delay
#965v:exiting
is set in NeoVim 0.2.0 and above. #904:wq
or :x
, which did nothing useful. #904clang-tidy
#827mcsc
(See :help
ale-cs-mcsc`) #952glslang
#914thrift
#892remark-lint
#1010prettier
for TypeScript, CSS, SCSS, LESS, and JSON #910 #1018elm-format
#916gofmt
#970trim_whitespace
#991tslint
#1001prettier_d
for prettier
, if it is installed. #885javac
linter will now include paths based on gradle build commands. #889:help ale-sml-smlnj
#884:help g:ale_typescript_tslint_ignore_empty_files
brakeman
linter will now report problems for other files in quickfix and loclist.slim-lint
linter will now use rubocop configuration files. #903 #942shellcheck
linter now arranges the arguments in such a way that manually changing the dialect is possible. #949phpstan
configuration file can now be configured. #969$VIRTUAL_ENV
will be used for running Python tools when no local directories can be found. #990luacheck
linter will now respect the g:ale_warn_about_trailing_whitespace
option. #968scalastyle
when no configuration file was found. #977prettier
. See :help g:ale_javascript_prettier_use_local_config
#886prettier-eslint
fixer now uses the eslint configuration file by default, which will yield better results, but may break things for some users. See :help g:ale_javascript_prettier_eslint_legacy
#854yapf
fixer should now run local virtualenv executables on Windows.standard
fixer can now be used even if the linter is never loaded.Published by w0rp about 7 years ago
staticcheck
and gosimple
now capture both output streams so they will report errors where they didn't. #921eslint --fix
now uses -c
instead of --config
for specifying the configuration file, which apparently works better in some versions. #951Published by w0rp about 7 years ago
shellcheck
by parsing hashbang (#!
) lines. #869pycodestyle
is now disabled by default, as it is also installed when you install flake8
. #888node.exe
instead of node
to execute Node.js scripts on Windows, and the path can be configured if needed. See :help g:ale_windows_node_executable_path
#895g:ale_lint_on_enter
is set to 0
. #505tsserver
integration was broken due to a bug in NeoVim. A workaround has been added to fix this issue in ALE. #907Published by w0rp about 7 years ago
:help g:ale_history_log_output
for more information.yapf
failed, they were removing all of the lines in files. This has been fixed. #706brakeman
linter was throwing errors when no output was returned. This has been fixed. #716ansible-lint
was reporting errors from other files. This has been fixed. #216rubocop
. Now it does. #732ghc
linter was showing warning as errors. This has been fixed. #710flow
linter didn't support older versions of flow. This has been fixed. #735fish
, some ALE commands didn't work. Now /bin/sh
will be used instead when the shell is set to fish. #749Published by w0rp about 7 years ago
eslint --fix
needed to be executed with node
on Windows when installed via create-react-app
. This has been fixed. #775scalac
was being run for SBT files with the filetype scala.sbt
. Now scalac
is not run for SBT files. #804tsserver
. This has been fixed. #798fileformat=dos
, carriage returns were not included. This has been fixed. #823flake8
wasn't parsing errors if you configured the format option in configuration files. Now the format is always explicitly set in the command, so it works. #837rubocop
fixer now uses the same options that the linter is configured with. #841lint_file
linter, ALE would not downgrade signs in the sign column. This has been fixed. #825:help ale-lsp-linters
for documentation on how LSP linters can be defined. #517tsserver
. See :help ale-completion
:ALEFixSuggest
will now suggest tools for fixing problems in a new window, instead of a long echo message.:help ale-cool-down
#468g:ale_pattern_options
by using names starting with &
.__init__.py
file. #755:help g:ale_open_list
#271b:ale_open_list
and b:ale_keep_list_window_open
are now supported. #271ALEInfo
will now print the results of executable checks for linters, which should help you figure out why a linter might not be running.dartanalyzer
#308SyntaxErl
#774erubis
#865gqlint
#863idris
#838langserver
#517, phpstan
#772pycodestyle
#872lintr
#182rails_best_practices
#751rls
#517scalastyle
#766stylelint
#178nagelfar
#821swaglint
#771clang-format
#873stylelint
#657 #813prettier-standard
#702standard
#781phpcbf
#862puppet-lint
#701swiftformat
#842elm-make
linter now includes end line and column numbers for highlights. #699verilator
linter's options can now be configured. #698pug-lint
linter now detects node_modules
executables, like other linters, and supports the same options as most other linters. https://github.com/w0rp/ale/commit/79e8e063af1cf7a72ec42075f4eed30aa69607e8
perlcritic
linter now supports more options and will automatically load configuration files. See :help ale-perl-perlcritic-options
#675luacheck
linter now includes the error codes in the message. #717hadolint
linter can now be run via a Docker image. #720stylelint
linters will now print exceptions thrown by stylelint
, including missing configuration files.gometalinter
linter's executable can now be configured.jscs
linter can now be used with older versions of jscs. #737rubocop
linter now works with older versions of rubocop. #339 #738rubocop
linter now includes end column numbers for better error highlighting. #738rubocop
linter now includes the error type in the error messages. #820clang-check
linter now uses some additional arguments to avoid generating .plist files if no build directory is set. #703hlint
linter now uses type I
for suggestions. #710hlint
linter now includes end line and column numbers for better highlighting. #710hdevtools
linter's options and executable can now be configured. #799ghc-mod
linter will now map the temporary file for better error messages. #846SyntaxErl
linter will now include the basename option when available. #860 #861Vint
problems will be highlighted better.yapf
fixer now only sets --no-local-style
if a configuration file is detected. #786Published by w0rp over 7 years ago
^
).g:ale_run_on_insert_leave
was set to 1
, when it should only check buffers. This has been fixed.BufWinEnter
event for g:ale_lint_on_enter
instead of BufEnter
, which should result in files only being checked when they need to be, and prevent problems with checking files again when moving across split windows. FileChangedShellPost
is used to check if files are changed outside of Vim. If they are, then the BufEnter
event will be used to check the file again.g:ale_open_list
is set, ALE will now allow multiple loclist windows to be opened. #461kotlinc
linter. #662ghc-mod
linter will now filter out errors for other files. #690pylint
linter wasn't parsing a few errors. This has been fixed. #695:help ale-fix
. #541b:ale_enabled
. #371:help g:ale_pattern_options
for more information. #371:help g:ale_maximum_file_size
.:help g:ale_set_balloons
.g:ale_list_window_size
.:ALEFirst
or :ALELast
. #616:help g:ale_type_map
for more information. #536:help ale-go-options
.eslint
linter will now output some end column indexes for better error highlighting.eslint
linter will now use eslint_d
, where available, which can be much faster.php
linter will now output some end column indexes for better error highlighting.rubocop
linter. #561'bundle'
, The rubocop
linter will now automatically add ' exec rubocop'
to the command for executing rubocop
via Bundle. #561gometalinter
integration has been substantially improved by using the --include
option. #566koitlinc
linter now supports getting import paths from Maven, just like the javac
linter. #585perl
linter now shows warnings by default. #600cargo
and rustc
linters now report problems with end column and line numbers. #602cargo
and rustc
linters now report problems with more details. #601flake8
linter will now report exceptions thrown by flake8
. #596flake8
linter will now include end colum indexes for better highlights for some problems. #538flake8
linter now describe E and W errors as style errors, which can be highlighted differently. #430--version
check run for vint
will now be run in the background. #624'lint_file'
has been set to 1
for nimcheck
, so only files on disk will be checked. #620percritic
linter now includes column numbers for problems. #640tslint
linter now distinguishes warnings from errors. #663javac
linter now includes column numbers for better error highlighting. #660phpcs
linter will now run locally installed versions where available by default. #666clang-tidy
linter will now detect compile_commands.json
files, and let you override the build directory location. See :help g:ale-cpp-options
#688tslint
linter now uses the JSON format for parsing errors, which should work better between different versions, and includes end line and column numbers. #684elm
linter now includes some general errors not previously reported. #637Published by w0rp over 7 years ago
gometalinter
handler wasn't filtering file errors correctly. Now errors from other files will be filtered out. #553csslint
errors without groups weren't being reported. This has been fixed. #555pytlint
error columns were off-by-one. This has been fixed. #578ember-template-lint
. This has been fixed. #589Published by w0rp over 7 years ago
|
. (command! -bar ...
)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.g:ale_lint_on_insert_leave
for triggering linting on leaving Insert mode. See :help g:ale_lint_on_insert_leave
.:help g:ale_set_signs
.#include
lines.List
. See :help g:ale_linter_aliases
.cargo check
may now be used instead of cargo build
See :help g:ale_rust_cargo_use_check
.cargo
linter now uses lint_file
option so it will only run when files are opened, saved, etc.rubocop
linter's error levels have been improved.eslint
linter will now automatically detect eslint installed via create-react-app
.eslint
linter will now report invalid configuration file settings as errors at line 1.tslint
linter will now detect executables installed in node_modules
.csslint
linter will now use .csslintrc
files defined in ancestor directories.javac
linter will now create .class
files in temporary directories, deleted at the end of lint cycles.javac
linter will now include source paths like src/main/java
.javac
linter will now get class paths from Maven automatically.javac
linter will now report symbol names in undefined symbol errors for types.foodcritic
linter.nimcheck
linter now turns thread support on, so code using threads can be checked.sml
linter has been improved.shellcheck
linter.go build
linter will now only check files on disk, but is now capable of understanding paths correctly.puppetlint
linter.gcc
linter can now be configured to check fixed form layouts. See :help g:ale_fortran_gcc_use_free_form
gcc
linter's executable can now be configured. See :help g:ale_fortran_gcc_executable
flow
linter will now filter out errors/warnings from other files.tslint
linter can now be set to prefer the global executable, like many other linters.laucheck
linter can now be configured with different options.cppcheck
linter will now detect and use compile_commands.json
files and switch to the directory they are in, when detected in ancestor directories.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
pylint
linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_pylint_use_global
for disabling this behaviour.pylint
linter will now check files on disk, and understand import paths.mypy
linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_mypy_use_global
for disabling this behaviour.mypy
linter will now check files on disk, and understand import paths.flake8
linter will now detect versions of the program in virtualenv automatically. See :help g:ale_python_flake8_use_global
for disabling this behaviour.g:ale_linters_sh_shell_default_shell
has been renamed to g:ale_sh_shell_default_shell
.g:ale_linters_sh_shellcheck_exclusions
has been renamed to g:ale_sh_shellcheck_exclusions
.Published by w0rp over 7 years ago
zsh
scripts for the shell
linter.vint
linter wasn't setting the --no-color
option for versions 0.3.7 and above, due to a typo. This has been fixed.php
linter was parsing some errors twice. This has been fixed.Published by w0rp over 7 years ago
:ALEToggle
has been added for turning ALE on or off temporarily.:ALELint
has been added for running ALE manually.:ALEDetail
has been added for showing more details for an error at the cursor.read_buffer
option for enabling/disabling stdin input.lint_file
option for running checks against files, instead of Vim buffers.:help g:ale_set_highlights
:ALEInfo
command now outputs linter variables.:ALEInfo
command now outputs a command history. See :help g:ale_history_enabled
coffee
and coffeelint
linters now attempt to use the versions of those executables from node_modules
, if available.coffelint
linter will now parse more errors.credo
linter now includes the filename of the file being checked, which can be useful for various checks.flow
linter will not now no longer run if no .flowconfig
file exists in an ancestor directory.stylelint
linter.gfortran
linter now supports more kinds of error output.yamllint
linter can be now be configured with an executable path and options.pylint
linter now includes the symbol (a short name) for error types.eslint
linter will now report problems with the configuration file, using :ALEDetail
.perl
linter now supports options. See :help ale-linter-options-perl-perl
.clang
and gcc
linters now support header includes in the same directories files are in.erlc
linter will no longer leave compiled files lying around.tslint
linter will now find configuration files, and allow the executable and configuration file to be configured.cargo
linter for Rust by default. To run other linters, modify g:ale_linters
appropriately. See :help ale-integration-rust
.Published by w0rp over 7 years ago
typecheck
errors has been fixed for some filenames containing the string ts
.g:ale_set_quickfix
is on.Published by w0rp over 7 years ago
.
(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
.<Plug>
keybinds for moving between warnings and errors. See :help ale-navigation-commands
for more information.:help g:ale_open_list
for more information.:ALEInfo
command.Support has been added for the following linters.
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.eslint
linter can now be configured with more options.gcc
and g++
were changed to use the latest C and C++ standards by default.htmlhint
options can now be customised with a global variable.htmlhint
will now search for executables in node_modules
directories to run.shellcheck
linter now uses Vim's special buffer variables for detecting the shell dialect.flake8
linter now accept variables for configuring the executable and the command line arguments.flake8
linter is now informed with the filename, which plugins can use.Published by w0rp almost 8 years ago
This is the initial stable release of ALE, the asynchronous linting engine for Vim.