summaryrefslogtreecommitdiff
path: root/autoload/ale/engine.vim
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2019-02-21 21:24:41 +0000
committerw0rp <devw0rp@gmail.com>2019-02-21 21:24:41 +0000
commitffa45fa3fb44ade28c64aa8f0a21acd71c903a2a (patch)
tree350f4b45b17a1862844a14856c4063c0d219f0bd /autoload/ale/engine.vim
parenta8b987a1c31f297622f0038230d23404e7c2ad50 (diff)
downloadale-ffa45fa3fb44ade28c64aa8f0a21acd71c903a2a.zip
#2132 - Implement deferred command handling for linters
Diffstat (limited to 'autoload/ale/engine.vim')
-rw-r--r--autoload/ale/engine.vim12
1 files changed, 10 insertions, 2 deletions
diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim
index b4035422..340f6913 100644
--- a/autoload/ale/engine.vim
+++ b/autoload/ale/engine.vim
@@ -422,8 +422,16 @@ endfunction
" Run a job.
"
-" Returns 1 when the job was started successfully.
+" Returns 1 when a job was started successfully.
function! s:RunJob(command, options) abort
+ if ale#command#IsDeferred(a:command)
+ let a:command.result_callback = {
+ \ command -> s:RunJob(command, a:options)
+ \}
+
+ return 1
+ endif
+
let l:command = a:command
if empty(l:command)
@@ -451,7 +459,7 @@ function! s:RunJob(command, options) abort
\})
" Only proceed if the job is being run.
- if !l:result._deferred_job_id
+ if empty(l:result)
return 0
endif