From c786f7281d6457cd4d39d56a8e529d87145801c0 Mon Sep 17 00:00:00 2001 From: drdr xp Date: Sat, 23 Aug 2014 23:51:23 +0800 Subject: [PATCH] fix preview option of completeopt --- plugin/xpopup.vim | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/plugin/xpopup.vim b/plugin/xpopup.vim index 3267d80e..8e7bd82d 100644 --- a/plugin/xpopup.vim +++ b/plugin/xpopup.vim @@ -390,7 +390,10 @@ fun! s:sessionPrototype.addList( list ) "{{{ if type( list[0] ) == type( '' ) call map( list, '{"word" : v:val, "icase" : 1 }' ) else - call map( list, '{"word" : v:val["word"], "menu" : get( v:val, "menu", "" ), "icase" : 1 }' ) + call map( list, '{"word" : v:val["word"],' + \ . '"info": get(v:val, "info", ""),' + \ . '"menu": get(v:val, "menu", ""),' + \ . '"icase": 1 }' ) endif let self.list += list @@ -453,10 +456,17 @@ fun! s:_InitBuffer() "{{{ " non-keywords char make pum disappear. let b:_xpp_setting_switch = g:SettingSwitch.New() + + let co = {"menu":1, "menuone":1, "longest":1} + for k in split(&completeopt, ',') + let co[k] = 1 + endfor + let new_completeopt = join( keys(co), ',' ) + call b:_xpp_setting_switch.AddList( \ [ '&l:cinkeys', '' ], \ [ '&l:indentkeys', '' ], - \ [ '&completeopt', 'menu,longest,menuone' ], + \ [ '&completeopt', new_completeopt ], \) " \ [ '&iskeyword', '33-127,128-255' ], " TODO '&l:ignorecase', '1'???