| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ALE v3.2.0 source code.tar.gz | 2022-03-05 | 382.8 kB | |
| ALE v3.2.0 source code.zip | 2022-03-05 | 728.8 kB | |
| README.md | 2022-03-05 | 10.9 kB | |
| Totals: 3 Items | 1.1 MB | 0 | |
Special Notes
- The
pylslinter has been removed because it's no longer maintained, and it has been replaced with thepylsplinter. [#3810] - The
dartanalyzerlinter has been removed because the Dart team discourages its use over built-in tools instead.
Deprecated Features
- The
ale_lsp_rootsetting is now deprecated, and you should replace it withale_rootinstead. [#3599]
New Features
:ALEGoToTypeDefinitionis now supported fortsserver. [#3545]- You can now rename TypeScript files with the
:ALEFileRenamecommand. [#4012] - You can now manually populate loclist and quickfix with
:ALEPopulateLocListand:ALEPopulateQuickfix, respectively. [#3761] - You can now send found references to quickfix with
:ALEFindReferences -quickfix. [#4033] - Linters and fixers can now set their
cwdseparately from their commands to run them, to make them easier to manager and enable other features. [#2281] - ALE will now read signs with
sign_getplaced, when the function is available. This is faster and safer. [#3648] - When repeating selections, ALE will now jump to the last selected item, such as when finding references.
- ALE will now de-duplicate items before adding them to the location list. [#3792]
- Popup windows are now supported in Vim versions that have popup versions. [#3817]
- ALE is now tested against NeoVim 0.5. [#3830]
- ALE now triggers
ALELSPStartedautocommands after language servers start. [#3878] - ALE now supports virtual text in Vim 8.2 when
g:ale_virtualtext_cursoris set to1. [#3915] - Multi-line messages are handled better for virtualtext. [#3949]
- virtualtext highlights now respect other ALE highlights better. [#3960]
- ALE now handles code actions responses from language servers that directly return commands to run. [#3929]
- ALE now includes the text of a file in the
textDocument/didSavenotification for language servers where supported to support more language servers like Godot. [#3923] - ALE now only sends
textDocument/didSaveif the language server supports it. [#3930] [#4008] textDocument/didSaveis now dispatched after files are saved due to a rename, and ALE now respects the value ofhiddento determine if other files modified should be written or not. [#4049]g:ale_open_list/b:ale_open_listcan now be used as a threshold for opening the window after so many problems are found. [#4050]- ALE now attempts to automatically restart language servers when they crash. [#4098]
New Linters
- Ada -
cspell[#3981] - AsciiDoc -
cpell[#3981] - AVRA -
avra[#3950] - bitbake -
oelint-adv[#4043] - C -
cpell[#3981] - C -
cpplint[#3008] - C++ -
cspell[#3981] - C# -
cspell[#3981],dotnet format[#3879] - CSS -
cspell[#3981] - CMake -
cmake-lint[#4036] - CUDA -
clangd[#3598] - Dart -
dart analyze[#3825] - desktop -
desktop-file-validate - Elixir -
cspell[#3981] - eRuby -
erblint[#3931] - Go -
cspell[#3981] - Haskell -
cspell[#3981] help-cspell[#3981]- HTML -
angular(@angular/language-server) [#2102],cspell[#3981] - Java -
cspell[#3981] - JavaScript -
cspell[#3981],deno[#3924] - JSON -
cspell[#3981] - Jsonnet -
jsonnet-lint[#3907],jsonnetfmt[#3907] - Lua -
cspell[#3981] - Markdown -
cspell[#3981] - Nix -
statix[#3969] - OCaml -
ocamllsp[#3595] - PHP -
cspell[#3981],phpactor[#3975] - PowerShell -
cspell[#3981] - Python -
cspell[#3981],flakehell[#3921],pylsp[#3810],unimport[#4058] - Robot -
rflint[#3715] - RST -
cspell[#3981] - Ruby -
cspell[#3981] - Rust -
cspell[#3981] - Scala -
cspell[#3981] sh-cspell[#3981]- svelte -
svelteserver[#3644] - Swift -
cspell[#3981] - systemd -
systemd-analyze - Terraform -
checkov[#4006] - Texinfo -
cspell[#3981] - Thrift -
thriftcheck[#3852] [#3893] - TypeScript -
cspell[#3981] - Verilog -
yosys[#3713] - Vue -
cspell[#3981],volar[#3992] - WGSL -
naga[#4047] - YAML -
yaml-language-server[#4029] - Zeek -
zeek[#3952]
New Fixers
- Crystal -
crystal tool format[#4016] - Bazel -
buildifier[#3499] - Dart -
dart format[#3764] - Erlang -
erlfmt[#3602] - eRuby -
erblint[#3935] - Go -
gofumpt[#3968],golines[#3862] - JavaScript -
dprint[#4024] - Jsonnet -
jsonnetfmt[#3907] - JSON -
dprint[#4024],eslint[#3873] - JSON5 -
eslint[#3873] - JSONC -
eslint[#3873] - Lua -
stylua[#3789],lua-format[#3804] - Markdown -
dprint[#4024],pandoc[#3641] - Nix -
statix[#3969] - PureScript -
purs-tidy[#3863] [#3867] - Python -
autoflake[#3779] - Racket -
racket-langserver[#3808] - TypeScript -
dprint[#4024]
Linter Enhancements
- The Verilog
verilatorlinter now includes the directory the file is in. [#3500] _optionsyou define for themypylinter are now the first options in the arguments list, so you can run the linter withpython -m mypy. [#3582]- The executable, options, and input file can now be configured for the
valelinter. [#3594] - The
-Targument was removed from therubycommand to support Ruby 3.0 and above. [#3537] ansible-lintshould now print more warnings and errors for files with newer versions. [#3601]- The
texlablinter now defaults to using the.gitproject directory as the default project path. [#3610] - The
texlabLSP settings are now configurable. [#4027] _optionscan now be set for thepylslinter. [#3620]goplsis now used for Go by default, and is automatically run fromGOPATHif installed locally.staticcheckis automatically run fromGOPATHif installed locally.- The
staticchecklinter for Go now defaults to linting the entire package at once. [#3799] lintrnow runs for more projects by avoiding the--vanillaoption. [#3727]tflintreads from stdin now, which yields better results when linting. [#3717]eslintnow runs from Yarn sdk directories too. [#3684]- The
angularlinter now works for HTML files on Linux in more cases. - The
phpstanlinter now detectsphpstan.neon.distconfiguration files. [#3765] - The
phpstanlinter now supports multi-line errors. [#3686] - The
phpstanlinter now supports setting--memory-limit. [#3973] - Local executables for
phpstancan now be used. [#3809] - The
psalmlinter now searches for the project root based on wherecomposer.jsonis. [#3979] - The
racolinter now includes thefilenamein the loclist. [#3777] - The
rpmlintversion 2.0.0 and above is now support. [#3757] - All
checkstyleproblems are now style problems. [#3780] - The R language server linter now considers
.Renviron[#3744] - The
solclinter now works with more versions. [#3763] ansible-lintworks with more recent versions. [#3786]ansible-lintcolors are now always disabled so problems are parsed better. [#3811]ansible-lintnow runs only against files on disk for more accurate results. [#3846]- More recent versions of
hadolintare supported. [#3678] hadolinterror codes are now only included if available. [#3943]- The Python linters now consider
.tool-versionswhen looking for the project root. [#3820] [#3826] poetryis now supported for running Python linters. [#3834]- The column number is now read from
elrcto produce more accurate problem locations. [#3823] - The
clj-kondolinter options are now configurable. [#3812] - More
clj-kondomessages are parsed correctly. [#3946] - The
denolinter now supports setting theimportMap. [#3827] - Older
cppcheckversions are now supported. [#3887] - More
cppcheckproblems are parsed, such as problems from plugins. [#3980] cppcheckshould only run on the current file only to make it faster. [#3983] [#3987]cppcheckis only used to check headers included in a source file now. [#3983]- The
pyrelinter now runs more consistently. [#3895] [#3900] - The
circlecilinter now avoids checking for updates so it runs faster. [#3902] - The
rubocopfixer now avoids loading the--configfile so it's easier to run it in Docker. [#3916] smllinters now handle more errors. [#3860] [#3957]- Newer versions of Ruby are supported for type checking by removing
-T1. [#3538] elvisproblems are now style problems. [#3976]alexnow uses--stdinto check for problems while you type. [#3982]- More
checkmakeversions are supported. [#3986] - Newer versions of
reekare supported. [#4010] - The
hlslanguage server can now be configured. [#4038] - More
nixversions are supported. [#4045] - Stable commands are used to run
rustcnow by default, instead of commands for nightly builds. [#4087]
Fixer Enhancements
clang-formatcan now be configured to use a particular style, or local style file. [#3587]prettiercan now be used with Ruby code if you have the right plugin installed. [#3593]cmake-formatnow reads from stdin, which enables it to use configuration files for projects. [#3725]- The
isortfixer now includes the filename in the arguments for better results. [#3815] [#3942] - The Dhall fixers now read from stdin. [#3868]
poetryis now supported for running Python fixers. [#3834] [#3898]uncrustifynow includes a language option depending on what filetype you're editing. [#4007]
Bugs Fixed
- The way ALE handles code actions, completion insertion, and renaming has been reworked with much more robust tests to fix edge cases and stop the cursor moving around strangely. [#3478]
- The
terraformlinter didn't handle all error types correctly. [#3606] - If ALE was run inside of an
execute()call it would fail due to uses ofredir. Now ALE usesexecute()so calls can be nested. [#3719] - Certain Java errors could cause errors in ALE. These messages are handled better. [#3706]
- The
blackfixer for Python didn't build its command string correctly. [#3759] -includeand-imacrosnow use the filenames instead of absolute paths. [#3775]- Language server messages for completion data are handled better, where they would cause errors before. [#3807] [#3894]
- The sign column wasn't being kept open when configured in NeoVim 0.5. [#3832]
- Empty hover messages could trigger errors in ALE. [#3889]
- Code fixes for
tsserveror language servers now identify errors that came from the server instead finding other errors from other tools. [#3901] - Code fixes could sometimes cause errors because end line number and column numbers could be missing. This has been fixed. [#4062]
pydocstylewasn't checking files outside of the root of the project correctly. [#3995]