Closed ZSaberLv0 closed 2 years ago
vim version: NVIM v0.6.1 node version: v18.0.0 coc.nvim version: 0.0.80-0479ccf5 2022-04-25 01:27:15 +0800 coc.nvim directory: /Users/mac/.vim/bundle/coc.nvim term: xterm-256color platform: darwin
coc#prompt#getchar() break if lmap with <expr>
coc#prompt#getchar()
lmap
<expr>
Create file mini.vim with:
mini.vim
" coc's common config filetype plugin indent on syntax on set nocompatible let g:plug_home = $HOME . '/.vim/bundle' let g:plug_url_format = 'https://github.com/%s' execute 'source ' . g:plug_home . '/vim-plug/plug.vim' silent! call plug#begin() Plug 'junegunn/vim-plug' Plug 'neoclide/coc.nvim', {'branch': 'release'} call plug#end() " lmap config function! Test() return 'a' endfunction lnoremap <expr> a Test()
Start (neo)vim with command: vim -u mini.vim
vim -u mini.vim
toggle iminsert by: enter insert mode and press <c-6> (:h i_CTRL-^)
iminsert
<c-6>
:h i_CTRL-^
:CocList outline and input a, would result Test() as plain input
:CocList outline
a
Test()
related issue: https://github.com/ZSaberLv0/ZFVimIM/issues/43
a simple workaround: check result of maparg() and ignore expr type, but not sure whether it has other side effects
maparg()
expr
https://github.com/neoclide/coc.nvim/blob/master/autoload/coc/prompt.vim#L97
大佬之间, up, up, up
Result from CocInfo
Describe the bug
coc#prompt#getchar()
break iflmap
with<expr>
Reproduce the bug
Create file
mini.vim
with:Start (neo)vim with command:
vim -u mini.vim
toggle
iminsert
by: enter insert mode and press<c-6>
(:h i_CTRL-^
):CocList outline
and inputa
, would resultTest()
as plain inputrelated issue: https://github.com/ZSaberLv0/ZFVimIM/issues/43
a simple workaround: check result of
maparg()
and ignoreexpr
type, but not sure whether it has other side effectshttps://github.com/neoclide/coc.nvim/blob/master/autoload/coc/prompt.vim#L97