summaryrefslogtreecommitdiff
path: root/autoload/ale/engine.vim
AgeCommit message (Collapse)Author
2023-03-08fixup! wip: Add error on lint execution failurewip/lint_fail_errcos
2023-03-08wip: Add error on lint execution failurecos
Reports errors on failure to execute linters if `ale_error_on_lint_fail` is set. Bug: It appears the end_lnum is ignored. The scope for an error like this one should likely be the entire file. Please comment at https://github.com/dense-analysis/ale/issues/4060 if having any thoughts at all about this suggested change.
2023-01-29diagnostics: support sending ALE output to Neovim's diagnostics API (#4345)Ben Boeckel
Support replacing ALE's display of problems with sending problems to the Neovim diagnostics API. :help g:ale_use_neovim_diagnostics_api Co-authored-by: David Balatero <dbalatero@users.noreply.github.com> Co-authored-by: Georgi Angelchev <angelchev@live.co.uk> Co-authored-by: w0rp <devw0rp@gmail.com>
2022-12-25Close #4397 - Add human-readable values for g:ale_virtualtext_cursorw0rp
2022-09-07Implement buffer-wide virtual text support (#4289)Magnus Groß
* Remove virtual text via types-filter This is more robust and has the additional sideeffect that it will make it easier to implement showing virtual text for all warnings simultaneously. We definitely do not want to do a call to prop_remove() for every virtual text as that will cause noticeable lag when many warnings are present, thus we can use this to remove all virtual text lines with one call in the future. Fixes #4294 refs: https://github.com/vim/vim/pull/10945 * Allow virtual text to appear for all warnings of the buffer This can be enabled with: let g:ale_virtualtext_cursor = 2 It is implemented both for neovim and vim 9.0.0297. Note that sometimes it may appear like some warnings are displayed multiple times. This is not a bug in the virtual text implementation, but a sideeffect of multiple linters returning similar results. For example for Rust, the 'cargo' and 'rls' linters appear to be activated at the same time, but they sometimes return identical errors. This causes the virtual text to show the same warning twice. In the future we can mitigate this problem by removing duplicate errors from our internal location list. However users can also achieve cleaner warnings simply by activating only one linter for each language (or multiple unambiguous linters). For example for Rust, the problem could be solved with: let g:ale_linters = {'rust': ['analyzer']} Fixes #2962 Fixes #3666
2022-04-01Fix end line number when it exceeds the file (#4130)Felix Maurer
If the end of the error exceeds the file, set it to the last line, similarly as it is done with the beginning of the error.
2021-03-01Close #2281 - Separate cwd commands from commandsw0rp
Working directories are now set seperately from the commands so they can later be swapped out when running linters over projects is supported, and also better support filename mapping for running linters on other machines in future.
2020-09-09Close #2522 - Check pylint on the flyw0rp
Newer versions of pylint will now check your code as you type. Older versions will still only check the file on disk. Co-authored-by: Oliver Wiegers <oliver.wiegers@gmail.com>
2020-09-08Close #3333 - Add an ALECompletePost eventw0rp
Add an `ALECompletePost` event along with everything needed to make it useful for its primary purpose: fixing code after inserting completions. * `ALEFix` can now be called with a bang (`!`) to suppress errors. * A new `ALELintStop` command lets you stop linting, and start it later.
2020-08-28Close #3285 - lint_file is now dynamicw0rp
`lint_file` can now be computed dynamically with a callback function, which can return a deferred result, as per `ale#command#Run`. This allows linters to dynamically switch between checking files on disk, or checking code on the fly. Some tests have been fixed on Windows.
2020-08-28Fix #3323 - Set default for g:ale_filename_mappingsw0rp
2020-08-23Close #2556 - Support filename mappingw0rp
ALE now supports mapping files between different systems for running linters and fixers with Docker, in virtual machines, in servers, etc.
2020-08-18Remove features deprecated in previous versionsw0rp
2019-05-14Close #829 - Close LSP documents when buffers are deletedw0rp
2019-04-17Fix #2415 - Mark tsserver and LSP linters inactive againw0rp
2019-04-07Close #2132 - Add deprecation warnings for old featuresw0rp
2019-02-21#2132 - Implement deferred command handling for lintersw0rp
2019-02-14Simplify code for marking linters as activew0rp
2019-02-13Remove ProcessChain code we do not need noww0rp
2019-02-13Make it easier to remove command_chain support laterw0rp
2019-02-12#2132 - Implement deferred executable string handling for lintersw0rp
2019-02-08#2132 Implement deferred objects for ale#command#Runw0rp
2019-02-06#2132 - lint and fix with ale#command#Runw0rp
A new function is added here which will later be modified for public use in linter and fixer callbacks. All linting and fixing now goes through this new function, to prove that it works in all cases.
2019-01-26#2132 Unify temporary file management in command.vimw0rp
2019-01-12#2132 Move CreateTemporaryFileForJob calls into FormatCommandw0rp
2019-01-12#2132 Remove the need for the hidden add_newline option by tweaking the flow ↵w0rp
command
2018-11-06Move virtualtext handling to own fileLuan Santos
This allows cursor and virtualtext to be independently autoloaded.
2018-11-05Add support for nvim's virtualtext on cursorLuan Santos
- Add g:ale_virtualtext_cursor boolean to enable/disable it - Add g:ale_virtualtext_prefix to configure what prefix to use (default: '> ') - Requires neovim 0.3.2's unreleased API `nvim_buf_set_virtual_text`
2018-10-29#2017 Add support for display results from other sourcesw0rp
2018-09-16To avoid blocking build tools, suspend ALE when suspending vimFelipe Sere
2018-09-04Improve ALE project style checkingw0rp
* The project style linter now runs while you type. * Now the scripts for checking the project require blank lines. * Many style issues have been found and fixed.
2018-07-25Switch to v:t_ variables for type checksw0rp
2018-07-15Massively reduce the amount of code needed for linter testsw0rp
2018-07-13Handle linter callback functions being unknown or deletedw0rp
2018-07-12Fix #1716 - Replace tempdir() with a wrapper to preserve TMPDIRw0rp
2018-07-05Support formatting escaped executable names into commands with %ew0rp
2018-07-04Remove deprecated code for the 2.0 releasev2.0.0w0rp
2018-06-19Move ClockMilliseconds to events, so fewer files are loaded some timesw0rp
2018-06-15Lazy-load LSP linters, and check b:changedtick before notifying about changesw0rp
2018-05-28Indicate things to be removed in version 2.0w0rp
2018-05-28#1524 - Define global variables where they are neededw0rp
2018-05-28#1524 Do not try to check buffers with empty filetypesw0rp
2018-05-28Close #1559 - Report errors from LSP servers in :ALEInfow0rp
2018-04-27Add ALEJobStarted User autocommand eventChris Marchesi
The ALELintPre and ALELintPost autocommand events are currently being used by lightline-ale to refresh the status line and check the linter status for a current buffer. One of the plugin's checks looks to see if linters are currently running, via ale#engine#IsCheckingBuffer(). This currently only works partially in certain situations. In my particular case, working with Go files, this only seems to function properly when a file is initially opened. Saving a file does not correctly update the status. This seems to be due to the fact that ALELintPre actually runs before any jobs are carried out, making it plausible that hooking into ALELintPre for the purpose of checking to see if there are any currently running linters for a buffer is unreliable as it would be prone to pretty obvious race conditions. This adds a new User autocommand, ALEJobStarted, that gets fired at the start of every new job that is successfully run. This allows a better point to hook into checking the linter status of a buffer using ale#engine#IsCheckingBuffer() by ensuring that at least one job has started by the time IsCheckingBuffer is run.
2018-04-08Fix #605 - Support `vcol: 1` for multi-byte character positionsw0rp
2018-03-18#1431 Normalize paths when checking for temporary paths on Windowsw0rp
2018-03-06Add a command for stopping all LSP clientsw0rp
2018-03-03Close #1379 - Increment b:ale_linted when a buffer is checkedw0rp
2018-03-02Make updating linter results slightly faster when the list is emptyw0rp
2018-02-25#1363 Make ale#engine#IsCheckingBuffer part of the public APIw0rp