patch 9.1.0010: Keymap completion is not available
Problem: Keymap completion is not available
Solution: Add keymap completion (Doug Kearns)
Add keymap completion to the 'keymap' option, user commands and builtin
completion functions.
closes: #13692
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 33ff606..4554712 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -545,6 +545,13 @@
let l = getcompletion('horse', 'filetype')
call assert_equal([], l)
+ if has('keymap')
+ let l = getcompletion('acc', 'keymap')
+ call assert_true(index(l, 'accents') >= 0)
+ let l = getcompletion('nullkeymap', 'keymap')
+ call assert_equal([], l)
+ endif
+
let l = getcompletion('z', 'syntax')
call assert_true(index(l, 'zimbu') >= 0)
let l = getcompletion('emacs', 'syntax')
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 8c336ab..37dc201 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -435,6 +435,14 @@
call assert_equal('"set syntax=sshdconfig', @:)
call feedkeys(":set syntax=a\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal('"set syntax=' .. getcompletion('a*', 'syntax')->join(), @:)
+
+ if has('keymap')
+ " Expand values for 'keymap'
+ call feedkeys(":set keymap=acc\<Tab>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"set keymap=accents', @:)
+ call feedkeys(":set keymap=a\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"set keymap=' .. getcompletion('a*', 'keymap')->join(), @:)
+ endif
endfunc
" Test handling of expanding individual string option values