Download Latest Version vim80-586w32.zip (1.3 MB)
Email in envelope

Get an email when there's a new version of ALE

Home / v3.3.0
Name Modified Size InfoDownloads / Week
Parent folder
ALE v3.3.0 source code.tar.gz 2022-12-25 401.5 kB
ALE v3.3.0 source code.zip 2022-12-25 765.4 kB
README.md 2022-12-25 5.8 kB
Totals: 3 Items   1.2 MB 0

New Features

  • ALE is now tested against the following Vim versions:
  • Vim 8.0
  • Vim 9.0
  • NeoVim 0.2
  • NeoVim 0.8
  • LSP completion messages with textEdit but no insertTextFormat. [#4124]
  • b:ale_shell and b:ale_shell_arguments can now be used to set shell options per-buffer. [#4146]
  • ALE now advertises codeActionLiteralSupport so language servers such as rust-analyzer return code actions to ALE. [#4163]
  • An ALEGoToImplementation command has been added to go to the location of the implementation of a symbol via supporting language servers.
  • All floating window borders characters can now be configured with g:ale_floating_window_border. [#4215]
  • Floating windows can be heavily customised with g:ale_floating_preview_popup_opts. [#4247]
  • The default omnicompletion regex for Racket is now '\k\+$'. [#4186] [#4293] [#4352]
  • ALE completion has been tweaked to work better with C files. [#4231]
  • ALE now always sets out_cb or err_cb for jobs to swallow messages to prevent Vim from excessively polling results. [#4259]
  • ALE now outputs virtual-text messages in Vim 9. [#4281] [#4291]
  • virtual-text messages can be shown for all lines, not only the line the cursor is on, by setting ale_virtualtext_cursor = 'all'. [#4289]
  • virtual-text messages are now enabled by default where supported nicely. [#4396]
  • ALE now reports LSP linters that fail to run due to a project root not being set as an error, so you can figure out why nothing is happening more easily. [#4207]

New Linters

  • Ansible - ansible-language-server [#4355]
  • Bicep - bicep [#4310] [#4311]
  • Cairo - starknet [#4256]
  • CSS - vscode-langservers-extracted [#4175]
  • Erlang - erlang_ls [#4346]
  • HTML - vscode-langservers-extracted [#4175]
  • JSON - vscode-langservers-extracted [#4164] [#4175]
  • Lua - selene [#4169] [#4183]
  • OpenSCAD - sca2d [#4205]
  • proto - buf lint [#4128] [#4300]
  • Python - ruff [#4347], refurb [#4379]
  • Rego - cpsell [#4199], opa check [#4199]
  • SQL - sqlfluff [#4361]
  • Terrafrom - tfsec [#4323] [#4326]
  • YAML - actionlint [#4173], gitlab-lint [#3042]

New Fixers

  • CSS - css-beautify [#4319]
  • HCL - packer fmt [#4192]
  • OCaml - dune [#4263]
  • Packer - packer fmt [#4192]
  • PHP - pint [#4238]
  • proto - buf format [#4128] [#4300]
  • Python - pyflyby [#4219], ruff [#4347] [#4393]
  • Racket - raco fmt [#4354]
  • Rego - opa fmt [#4199]
  • Ruby - stree write [#4268]
  • SQL - sqlfluff [#4361] [#4365]
  • Zig - zig fmt [#4198]

Linter Enhancements

  • You can now override --lint options for awk. [#4114]
  • rust-analyzer can now be run for non-Cargo projects. [#4118]
  • ALE now reports errors from a ghc panic. [#4145]
  • pylama output handling has been improved [#4106]
  • The default list of YAML linters is now spectral, yaml-language-server, and yamllint to avoid running linters specialised for particular applications of YAML. [#4178]
  • ALE now runs vimls for Vader files by default, and the default list of linters for Vader files is to run vimls. [#4201]
  • ALE now distinguishes between warnings and errors for golangci_lint. [#4182]
  • ALE now supports newer ansible-lint versions. [#4188]
  • ALE now checks for .mypy.ini to detect a Python project root. [#4202]
  • ALE now supports ember-template-lint >= 4.0.0, in addition to older versions. [#4200]
  • ALE now reads only shows detailed error messages if detail is not empty for terraform validate. [#4157]
  • YAML actionlint options can now be configured with ale_yaml_actionlint_options. [#4216]
  • ALE now runs dart analyze with --fatal-infos to capture more information. [#4237]
  • ALE now searches for deno.json and deno.jsonc to detect a Deno project root. [#4306]
  • The volar language server executable name now defaults to vue-language-server, which is its current name. [#4308]
  • clj-kondo is now run with a filename hint to get more accurate problems. [#4315]
  • ALE now uses header-specific filetype options for clang to improve on the accuracy of problems ALE reports. [#4318] [#4334]
  • ALE now includes pyrightconfig.json and pyrightconfig.toml in the list of files it uses to find a Python project root. [#4321]
  • ALE now sets the cwd for pylsp and Pyright to the detected or manually configured project root to fix incorrect import errors produce by either pylsp with the mypy plugin, or by Pyright. [#4388]
  • ruff is now enabled as a linter for Python by default.
  • Options can now be configured for hadoint. [#4353]
  • --config is now explicitly set for checkmate so it loads the correct configuration file. [#4351]
  • The executable for markdownlint is now configurable. [#4358]
  • nix versions 2.12 and up are supported properly now. [#4394]

Fixer Enhancements

  • shfmt now runs with -filename= and no other options by default to use .editorconfig settings. [#4244]
  • dprint is now suggested for more filetypes. [#4320]
  • clang-format is now suggested for more filetypes. [#4367]

Bugs Fixed

  • :ALEImport should work with more language servers. [#4105]
  • ALE now reports errors ending at the last line in a file when linters reports end lines beyond the end of the file. [#4130]
  • ale_haskell_hls_executable was incorrectly named ale_haskell_his_executable. [#4241]
  • ALE no longer shows error messages on hover if ale_enabled == 0. [#4277]
  • <Plug>(ale_go_to_type_definition_in_vsplit) didn't run the command. [#4304]
  • A missing <Plug>(ale_go_to_implementation) mapping has been defined. [#4337]
  • ALE no longer errors when ansible-lint returns no output. [#4373]
Source: README.md, updated 2022-12-25