Skip to content

ALE v1.5.0

Compare
Choose a tag to compare
@w0rp w0rp released this 28 Aug 16:59
· 3155 commits to master since this release

Bugs Fixed

  • ALE sometimes didn't remove highlights now and again. This has been fixed. #697
  • eslint --fix needed to be executed with node on Windows when installed via create-react-app. This has been fixed. #775
  • The GCC error handler was ignoring errors without column numbers. This has been fixed. #795
  • scalac was being run for SBT files with the filetype scala.sbt. Now scalac is not run for SBT files. #804
  • Many linters which expect JSON output now ignore output which isn't JSON. #810
  • ALE was not handling syntax errors from tsserver. This has been fixed. #798
  • ALE didn't check files some of the time when restoring multiple windows from a saved session. This has been fixed. #734
  • When ALE wrote files with fileformat=dos, carriage returns were not included. This has been fixed. #823
  • Now when selections are active when loclist or quickfix windows are opened, the selection will be reset. #788
  • flake8 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. #837
  • The rubocop fixer now uses the same options that the linter is configured with. #841
  • Jumping through problems didn't work in some cases with blank lines. This has been fixed. #848
  • If problems were kept from previous linter runs, like a lint_file linter, ALE would not downgrade signs in the sign column. This has been fixed. #825

New Features

  • ALE now comes with LSP (Language Server Protocol) support, for checking files with language servers. See :help ale-lsp-linters for documentation on how LSP linters can be defined. #517
  • ALE now offers support for code completion while you type for TypeScript code via tsserver. See :help ale-completion
  • :ALEFixSuggest will now suggest tools for fixing problems in a new window, instead of a long echo message.
  • ALE will now stop checking buffers for a period of time when exceptions are thrown. See :help ale-cool-down #468
  • ALE now supports running Python executables from virtualenv directories on Windows. #729
  • ALE will now remove any problems previously set when linters are disabled, removed, or when the filetype changes.
  • Buffer-local settings can now be set with g:ale_pattern_options by using names starting with &.
  • ALE will now detect Python project roots based on common configuration files, in addition to looking upwards to find the first directory without an __init__.py file. #755
  • ALE can now be configured to open quickfix or loclist windows only when files are saved. See :help g:ale_open_list #271
  • Buffer local options b:ale_open_list and b:ale_keep_list_window_open are now supported. #271
  • ALEInfo will now print the results of executable checks for linters, which should help you figure out why a linter might not be running.

New Linters

  • Dart - dartanalyzer #308
  • Erlang - SyntaxErl #774
  • eruby - erubis #865
  • GraphQL - gqlint #863
  • Idris - idris #838
  • PHP - langserver #517, phpstan #772
  • Python - pycodestyle #872
  • R - lintr #182
  • Ruby - rails_best_practices #751
  • Rust - rls #517
  • Scala - scalastyle #766
  • Stylus - stylelint #178
  • Tcl - nagelfar #821
  • YAML - swaglint #771

New Fixers

  • C, C++ - clang-format #873
  • CSS, SASS, SCSS, stylus - stylelint #657 #813
  • JavaScript - prettier-standard #702
  • JavaScript - standard #781
  • PHP - phpcbf #862
  • Puppet - puppet-lint #701
  • Swift - swiftformat #842

Linter Enhancements

  • All C and C++ linters executable paths can now be configured. #711
  • The elm-make linter now includes end line and column numbers for highlights. #699
  • The verilator linter's options can now be configured. #698
  • The pug-lint linter now detects node_modules executables, like other linters, and supports the same options as most other linters. 79e8e06
  • The perlcritic linter now supports more options and will automatically load configuration files. See :help ale-perl-perlcritic-options #675
  • The luacheck linter now includes the error codes in the message. #717
  • The hadolint linter can now be run via a Docker image. #720
  • stylelint linters will now print exceptions thrown by stylelint, including missing configuration files.
  • The gometalinter linter's executable can now be configured.
  • The jscs linter can now be used with older versions of jscs. #737
  • The rubocop linter now works with older versions of rubocop. #339 #738
  • The rubocop linter now includes end column numbers for better error highlighting. #738
  • The rubocop linter now includes the error type in the error messages. #820
  • The clang-check linter now uses some additional arguments to avoid generating .plist files if no build directory is set. #703
  • The hlint linter now uses type I for suggestions. #710
  • The hlint linter now includes end line and column numbers for better highlighting. #710
  • The hdevtools linter's options and executable can now be configured. #799
  • The ghc-mod linter will now map the temporary file for better error messages. #846
  • The rule name is now included in the messages for tslint problems.
  • The SyntaxErl linter will now include the basename option when available. #860 #861
  • Warnings about files ignored by ESLint can now be disabled. #836
  • Some Vint problems will be highlighted better.

Fixer Enhancements

  • The yapf fixer now only sets --no-local-style if a configuration file is detected. #786