summaryrefslogtreecommitdiff
path: root/autoload/ale/completion.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/completion.vim')
-rw-r--r--autoload/ale/completion.vim10
1 files changed, 10 insertions, 0 deletions
diff --git a/autoload/ale/completion.vim b/autoload/ale/completion.vim
index 9f4e3c28..90c9ae29 100644
--- a/autoload/ale/completion.vim
+++ b/autoload/ale/completion.vim
@@ -283,6 +283,13 @@ function! s:TimerHandler(...) abort
endfunction
function! ale#completion#Queue() abort
+ let l:time = get(b:, 'ale_complete_done_time', 0)
+
+ if l:time && ale#util#ClockMilliseconds() - l:time < 100
+ " Do not ask for completions shortly after we just closed the menu.
+ return
+ endif
+
let s:timer_pos = getcurpos()[1:2]
" If we changed the text again while we're still waiting for a response,
@@ -311,6 +318,9 @@ function! ale#completion#Done() abort
let &l:completeopt = b:ale_old_completopt
unlet b:ale_old_completopt
endif
+
+ " Set a timestamp, so we can avoid requesting completions again.
+ let b:ale_complete_done_time = ale#util#ClockMilliseconds()
endfunction
function! s:Setup(enabled) abort