mirror of
https://github.com/neovim/neovim.git
synced 2026-07-19 15:41:32 +00:00
vim-patch:9.1.0754: fixed order of items in insert-mode completion menu (#30619)
Problem: fixed order of items in insert-mode completion menu
Solution: Introduce the 'completeitemalign' option with default
value "abbr,kind,menu" (glepnir).
Adding an new option `completeitemalign` abbr is `cia` to custom
the complete-item order in popupmenu.
closes: vim/vim#14006
closes: vim/vim#15760
6a89c94a9e
This commit is contained in:
@@ -5061,6 +5061,108 @@ describe('builtin popupmenu', function()
|
||||
]])
|
||||
feed('<C-E><Esc>')
|
||||
end)
|
||||
|
||||
-- oldtest: Test_pum_completeitemalign()
|
||||
it('completeitemalign option', function()
|
||||
screen:try_resize(30, 15)
|
||||
exec([[
|
||||
func Omni_test(findstart, base)
|
||||
if a:findstart
|
||||
return col(".")
|
||||
endif
|
||||
return {
|
||||
\ 'words': [
|
||||
\ { 'word': 'foo', 'kind': 'S', 'menu': 'menu' },
|
||||
\ { 'word': 'bar', 'kind': 'T', 'menu': 'menu' },
|
||||
\ { 'word': '你好', 'kind': 'C', 'menu': '中文' },
|
||||
\]}
|
||||
endfunc
|
||||
set omnifunc=Omni_test
|
||||
]])
|
||||
-- T1
|
||||
command('set cia=abbr,kind,menu')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:foo S menu }{1: }|
|
||||
{n:bar T menu }{1: }|
|
||||
{n:你好 C 中文 }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T2
|
||||
command('set cia=abbr,menu,kind')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:foo menu S }{1: }|
|
||||
{n:bar menu T }{1: }|
|
||||
{n:你好 中文 C }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T3
|
||||
command('set cia=kind,abbr,menu')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:S foo menu }{1: }|
|
||||
{n:T bar menu }{1: }|
|
||||
{n:C 你好 中文 }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T4
|
||||
command('set cia=kind,menu,abbr')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:S menu foo }{1: }|
|
||||
{n:T menu bar }{1: }|
|
||||
{n:C 中文 你好 }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T5
|
||||
command('set cia=menu,abbr,kind')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:menu foo S }{1: }|
|
||||
{n:menu bar T }{1: }|
|
||||
{n:中文 你好 C }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T6
|
||||
command('set cia=menu,kind,abbr')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:menu S foo }{1: }|
|
||||
{n:menu T bar }{1: }|
|
||||
{n:中文 C 你好 }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
feed('<C-E><ESC>')
|
||||
-- T7
|
||||
command('set cia&')
|
||||
feed('S<C-X><C-O>')
|
||||
screen:expect([[
|
||||
foo^ |
|
||||
{s:foo S menu }{1: }|
|
||||
{n:bar T menu }{1: }|
|
||||
{n:你好 C 中文 }{1: }|
|
||||
{1:~ }|*10
|
||||
{2:-- }{5:match 1 of 3} |
|
||||
]])
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user