diff options
| -rw-r--r-- | runtime/doc/options.txt | 5 | ||||
| -rw-r--r-- | runtime/lua/vim/_meta/options.lua | 5 | ||||
| -rw-r--r-- | src/nvim/insexpand.c | 9 | ||||
| -rw-r--r-- | src/nvim/options.lua | 5 | ||||
| -rw-r--r-- | test/old/testdir/test_ins_complete.vim | 5 |
5 files changed, 15 insertions, 14 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 96bf1eb7bd..8ea05aba58 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1574,9 +1574,8 @@ A jump table for the options with a short description can be found at |Q_op|. preinsert Preinsert the portion of the first candidate word that is not part of the current completion leader and using the - |hl-ComplMatchIns| highlight group. Does not work when - "fuzzy" is set. Requires both "menu" and "menuone" to be - set. + |hl-ComplMatchIns| highlight group. In order for it to + work, "fuzzy" must not bet set and "menuone" must be set. preview Show extra information about the currently selected completion in the preview window. Only works in diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua index 4fce3e9af2..25cc3aae00 100644 --- a/runtime/lua/vim/_meta/options.lua +++ b/runtime/lua/vim/_meta/options.lua @@ -1101,9 +1101,8 @@ vim.go.cia = vim.go.completeitemalign --- preinsert --- Preinsert the portion of the first candidate word that is --- not part of the current completion leader and using the ---- `hl-ComplMatchIns` highlight group. Does not work when ---- "fuzzy" is set. Requires both "menu" and "menuone" to be ---- set. +--- `hl-ComplMatchIns` highlight group. In order for it to +--- work, "fuzzy" must not bet set and "menuone" must be set. --- --- preview Show extra information about the currently selected --- completion in the preview window. Only works in diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c index 2664fc8045..d02a698f08 100644 --- a/src/nvim/insexpand.c +++ b/src/nvim/insexpand.c @@ -1808,13 +1808,12 @@ int ins_compl_len(void) return compl_length; } -/// Return TRUE when preinsert is set AND both 'menu' and 'menuone' flags -/// are also set, otherwise return FALSE. +/// Return true when the 'completeopt' "preinsert" flag is in effect, +/// otherwise return false. static bool ins_compl_has_preinsert(void) { - return (get_cot_flags() - & (kOptCotFlagFuzzy|kOptCotFlagPreinsert|kOptCotFlagMenu|kOptCotFlagMenuone)) - == (kOptCotFlagPreinsert|kOptCotFlagMenu|kOptCotFlagMenuone); + return (get_cot_flags() & (kOptCotFlagFuzzy|kOptCotFlagPreinsert|kOptCotFlagMenuone)) + == (kOptCotFlagPreinsert|kOptCotFlagMenuone); } /// Returns true if the pre-insert effect is valid and the cursor is within diff --git a/src/nvim/options.lua b/src/nvim/options.lua index 73605024db..ff919bb522 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -1543,9 +1543,8 @@ local options = { preinsert Preinsert the portion of the first candidate word that is not part of the current completion leader and using the - |hl-ComplMatchIns| highlight group. Does not work when - "fuzzy" is set. Requires both "menu" and "menuone" to be - set. + |hl-ComplMatchIns| highlight group. In order for it to + work, "fuzzy" must not bet set and "menuone" must be set. preview Show extra information about the currently selected completion in the preview window. Only works in diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim index d1f9d77287..d339bbe4e1 100644 --- a/test/old/testdir/test_ins_complete.vim +++ b/test/old/testdir/test_ins_complete.vim @@ -3116,6 +3116,11 @@ function Test_completeopt_preinsert() call assert_equal("foo1bar", getline('.')) call assert_equal(7, col('.')) + set cot=preinsert,menuone + call feedkeys("Sfoo1 foo2\<CR>f\<C-X>\<C-N>", 'tx') + call assert_equal("foo1", getline('.')) + call assert_equal(1, col('.')) + bw! set cot& set omnifunc& |