Result from CocInfo
## versions
vim version: VIM - Vi IMproved 9.1 9011362
node version: v23.9.0
coc.nvim version: 0.0.82-13d0416 2025-07-31 16:32:31 +0800
coc.nvim directory: /home/lrne/.vim/plugged/coc.nvim
term: dumb
platform: linux
## Log of coc.nvim
2025-08-22T16:32:08.892 INFO (pid:20940) [plugin] - coc.nvim initialized with node: v23.9.0 after 395
2025-08-22T16:32:08.895 INFO (pid:20940) [services] - LanguageClient Json language server state change: stopped => starting
2025-08-22T16:32:08.911 INFO (pid:20940) [language-client-index] - Language server "json" started with 20959
2025-08-22T16:32:09.057 INFO (pid:20940) [services] - LanguageClient Json language server state change: starting => running
2025-08-22T16:32:09.071 INFO (pid:20940) [services] - service json started
2025-08-22T16:32:14.088 INFO (pid:20940) [attach] - Request action: stopCompletion [ '' ]
2025-08-22T16:32:15.145 INFO (pid:20940) [attach] - receive notification: startCompletion [ {} ]
2025-08-22T16:32:16.493 INFO (pid:20940) [attach] - Request action: stopCompletion [ 'confirm' ]
2025-08-22T16:32:19.235 INFO (pid:20940) [attach] - Request action: stopCompletion [ '' ]
Describe the bug
coc#pum#next unexpected close completion pum
coc#pum#confirm() unexpected lose chars
Reproduce the bug
We will close your issue when you don't provide minimal vimrc and we can't
reproduce it
-
Create file mini.vim with:
coc-settings.json:
colorscheme habamax
set nu
set laststatus=2
set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
set statusline^=%(%1*[%{coc#status()}%{get(b:,'coc_current_function','')}]%*\ %)
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim'
call plug#end()
inoremap <silent><expr> <cr>
\ coc#pum#visible() ? coc#pum#confirm()
\ : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
inoremap <silent><expr> <tab> coc#pum#visible()
\ ? coc#pum#next(0)
\ : coc#refresh()
nmap <F3> <Plug>(coc-codeaction-cursor)
nmap <C-k> <Plug>(coc-diagnostic-prev)
nmap <C-j> <Plug>(coc-diagnostic-next)
-
Start vim with command: vim -Nu mini.vim ~/.vim/coc-settings.json
-
Operate vim.
- startinsert in
{}
- input
"inlayHint -> {"inlayHint}
- leaveinsert and close completion pum
- insert and cursor (
|) at {"inlayHint|}
- input
<tab> select inlayHint.position~
- input
<cr> confirm
- output
{"inlayHint.position": |, completion pum is visible
- input
<tab> try coc#pum#next, but completion pum unexpected closed
Expect output: {"inlayHint.position": |}, and completion is visible
If applicable, add screenshots to help explain your problem.
Result from CocInfo
Describe the bug
coc#pum#nextunexpected close completion pumcoc#pum#confirm()unexpected lose charsReproduce the bug
We will close your issue when you don't provide minimal vimrc and we can't
reproduce it
Create file
mini.vimwith:coc-settings.json:
{}Start vim with command:
vim -Nu mini.vim ~/.vim/coc-settings.jsonOperate vim.
{}"inlayHint->{"inlayHint}|) at{"inlayHint|}<tab>selectinlayHint.position~<cr>confirm{"inlayHint.position": |, completion pum is visible<tab>trycoc#pum#next, but completion pum unexpected closedExpect output:
{"inlayHint.position": |}, and completion is visibleIf applicable, add screenshots to help explain your problem.