summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2020-08-29 17:27:53 +0100
committerw0rp <devw0rp@gmail.com>2020-08-29 17:27:53 +0100
commit6e2e51b154d526c1ab0b506bb2110b45421b7a06 (patch)
treec4a892e9ae990ee218426b053dfa36a8dcd8d9c7
parent6888ca46a7ccff0fccf3fde13330cce644470434 (diff)
downloadale-6e2e51b154d526c1ab0b506bb2110b45421b7a06.zip
Fix #2971 - Disable automatic completion while 'paste' is active
-rw-r--r--autoload/ale/completion.vim11
-rw-r--r--doc/ale.txt6
2 files changed, 13 insertions, 4 deletions
diff --git a/autoload/ale/completion.vim b/autoload/ale/completion.vim
index f6a0c350..5035bbf0 100644
--- a/autoload/ale/completion.vim
+++ b/autoload/ale/completion.vim
@@ -324,6 +324,12 @@ function! ale#completion#AutomaticOmniFunc(findstart, base) abort
endif
endfunction
+function! s:OpenCompletionMenu(...) abort
+ if !&l:paste
+ call ale#util#FeedKeys("\<Plug>(ale_show_completion_menu)")
+ endif
+endfunction
+
function! ale#completion#Show(result) abort
if ale#util#Mode() isnot# 'i'
return
@@ -344,10 +350,7 @@ function! ale#completion#Show(result) abort
let l:source = get(get(b:, 'ale_completion_info', {}), 'source', '')
if l:source is# 'ale-automatic' || l:source is# 'ale-manual'
- call timer_start(
- \ 0,
- \ {-> ale#util#FeedKeys("\<Plug>(ale_show_completion_menu)")}
- \)
+ call timer_start(0, function('s:OpenCompletionMenu'))
endif
if l:source is# 'ale-callback'
diff --git a/doc/ale.txt b/doc/ale.txt
index 5ec542f9..be49b6e9 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -463,6 +463,9 @@ is loaded. The delay for completion can be configured with
|g:ale_completion_delay|. This setting should not be enabled if you wish to
use ALE as a completion source for other plugins.
+ALE automatic completion will not work when 'paste' is active. Only set
+'paste' when you are copy and pasting text into your buffers.
+
ALE provides an 'omnifunc' function |ale#completion#OmniFunc| for triggering
completion manually with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| >
@@ -729,6 +732,9 @@ 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.
+ ALE automatic completion will not work when 'paste' is active. Only set
+ 'paste' when you are copy and pasting text into your buffers.
+
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.