github dense-analysis/ale v3.1.0
ALE v3.1.0

latest releases: v3.3.0, v3.2.0
3 years ago

New Features

  • :ALERename now just saves other buffers you have open and automatically reloads them when you next open them up again. #3332
  • You can now apply code actions with the ALECodeAction command, such as quick fixes. #1466
  • You can apply refactors and renames with the right click context menu. #1466 #3482
  • You can now configure balloons to only appear for LSP/tsserver hover information. #2727
  • Hover messages and detailed error messages can now be displayed in NeoVim floating windows. See :h g:ale_floating_preview. #3470 #3314
  • ALE socket LSP connections now support named pipes in NeoVim. #3509
  • Hints and suggestions can now be displayed for tsserver with the g:ale_lsp_suggestions setting #3362
  • ALE now permits duplicate completion results when auto-imports are enabled. #3473
  • ALE's Makefile detection will now also look for GNUmakefile. #3575
  • ALE's automatic completion now only uses noselect for completeopt if Vim is configured that way already. #3433
  • When selections are repeated with :ALERepeatSelection, ALE now jumps to the last selection made, so resuming a search is easier.

New Linters

New Fixers

Linter Enhancements

  • The bibclean linter now parses more errors #3367
  • Maven wrappers can now be run more easily #2934 #3374
  • The sh linter now looks at Vim's buffer-local variables to determine the shell type #3427
  • eslint and tsserver will now automatically be run from .yarn/sdks #3435
  • The phpcs linter now parses more errors #3282
  • The shellcheck linter now respects shellcheck directives #3216
  • The sorbet linter now defaults to disabling watchman, which requires watchman to be separately installed #3403
  • The elrc linter executable can now be customised #3531
  • The Python project root detection now also looks for poetry.lock and pyproject.toml #3398
  • A custom configuration file can now be used for Credo #3455
  • -imacros flags are now included for linting with C compilers #3430
  • The dafny linter now has a time limit setting and parses more errors #3475
  • xo options can now be customised #3148
  • The swipl linter for Prolog parses error messages from newer versions swipl
  • Jar files for running eclipselsp are included more reliably #3559
  • The nix linter works with newer versions of Nix #3227
  • The dialyzer linter's options can now be configured #3425
  • The cloudformation linter can now also be enabled with the alias cfn-lint, which matches the executable name. #2547
  • The severity of problems can now be shown for newer versions of hadolint #3472
  • Initialization options can now be set for gopls #3571

Fixer Enhancements

  • You can now set additional options for the phpcbf fixer. #3383
  • gofmt now runs via stdin, which helps with running it via Docker. #3381
  • The isort fixer now works with pipenv #3386
  • scalafmt is now suggested for sbt #3399
  • The xo fixer now fixes files via stdin #3148
  • xo options can now be customised #3148
  • The standardrb fixers now use stdin #3521

Bugs Fixed

  • Fixer performance is much improved in modern version so Vim and NeoVim. #3358
  • Rename operations or other code actions should no longer trigger an indexing error now and again. #2801 #3344
  • Additional spaces and line breaks for completion items are now collapsed into single spaces. #3354
  • The Java checkstyle linter now checks errors properly in NeoVim on Windows. #3467
  • The dafny linter now returns results for the correct filenames. #3390 #3557
  • The phan linter now returns results for the correct filenames. #3529
  • rust-analyzer now sends options in the initial configuration so the server recognises them #3453
  • clang-tidy respect compile_commands.json better for header files #3551
  • The Java tools fixer now longer throws errors when no Maven executable can be found #3547
  • ALE wasn't parsing Makefile output unless there were already some compiler flags #3574
  • An index error in the javac linter has been fixed. #3706

Don't miss a new ale release

NewReleases is sending notifications on new releases.