Support b:ale_completion_enabled for disabling it for some buffers

This commit is contained in:
w0rp 2019-05-11 17:19:45 +01:00
parent edd3114394
commit df90725c85
No known key found for this signature in database
GPG key ID: 0FC1ECAA8C81CD83
3 changed files with 17 additions and 2 deletions

View file

@ -584,7 +584,7 @@ function! ale#completion#GetCompletions(source) abort
endfunction
function! s:TimerHandler(...) abort
if !g:ale_completion_enabled
if !get(b:, 'ale_completion_enabled', g:ale_completion_enabled)
return
endif
@ -609,7 +609,7 @@ function! ale#completion#StopTimer() abort
endfunction
function! ale#completion#Queue() abort
if !g:ale_completion_enabled
if !get(b:, 'ale_completion_enabled', g:ale_completion_enabled)
return
endif

View file

@ -560,6 +560,7 @@ g:ale_completion_delay *g:ale_completion_delay*
g:ale_completion_enabled *g:ale_completion_enabled*
b:ale_completion_enabled *b:ale_completion_enabled*
Type: |Number|
Default: `0`
@ -572,6 +573,10 @@ g:ale_completion_enabled *g:ale_completion_enabled*
This setting should not be enabled if you wish to use ALE as a completion
source for other completion plugins.
A buffer-local version of this setting `b:ale_completion_enabled` can be set
to `0` to disable ALE's automatic completion support for a single buffer.
ALE's completion support must be enabled globally to be enabled locally.
See |ale-completion|

View file

@ -5,6 +5,7 @@ Before:
Save &l:omnifunc
Save &l:completeopt
unlet! b:ale_completion_enabled
let g:ale_completion_enabled = 1
let g:get_completions_called = 0
let g:feedkeys_calls = []
@ -49,6 +50,7 @@ Before:
After:
Restore
unlet! b:ale_completion_enabled
unlet! g:output
unlet! g:fake_mode
unlet! g:get_completions_called
@ -78,6 +80,14 @@ After:
Execute(ale#completion#GetCompletions should be called when the cursor position stays the same):
call CheckCompletionCalled(1)
Execute(ale#completion#GetCompletions should not be called if the global setting is disabled):
let g:ale_completion_enabled = 0
call CheckCompletionCalled(0)
Execute(ale#completion#GetCompletions should not be called if the buffer setting is disabled):
let b:ale_completion_enabled = 0
call CheckCompletionCalled(0)
Given typescript():
let abc = y.
let foo = ab