From 63dc0badac8d2ed19865df8a4a631729c46b8716 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Sun, 26 Apr 2015 03:39:28 +0200 Subject: [PATCH] Fix popup-on-dot completion: use to deselect the first entry Without this, the triggered by jedi-vim would cause the first match to be inserted (and selected). When using completopt=longest, this was less so an issue. --- autoload/jedi.vim | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/autoload/jedi.vim b/autoload/jedi.vim index 39b4818..7e39f3e 100644 --- a/autoload/jedi.vim +++ b/autoload/jedi.vim @@ -240,15 +240,22 @@ function! jedi#complete_string(is_popup_on_dot) if pumvisible() && !a:is_popup_on_dot return "\" else - return "\\\=jedi#complete_opened()\" + return "\\\=jedi#complete_opened(".a:is_popup_on_dot.")\" endif endfunction -function! jedi#complete_opened() - if pumvisible() && g:jedi#popup_select_first && stridx(&completeopt, 'longest') > -1 - " only go down if it is visible, user-enabled and the longest option is set - return "\" +function! jedi#complete_opened(is_popup_on_dot) + if pumvisible() + if a:is_popup_on_dot + " Prevent completion of the first entry with dot completion. + return "\" + endif + " Only go down if it is visible, user-enabled and the longest + " option is set. + if g:jedi#popup_select_first && stridx(&completeopt, 'longest') > -1 + return "\" + endif endif return "" endfunction