Skip to content

Commit 0dac595

Browse files
committed
bugfix for #356
1 parent 8c9029e commit 0dac595

File tree

4 files changed

+58
-4
lines changed

4 files changed

+58
-4
lines changed

README-cn.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ https://github.com/user-attachments/assets/30c265f3-e65c-47d0-8762-e9e8250d7b4d
2323

2424
## 安装
2525

26-
Vim 8.2 及以上版本,Neovim 0.6.0 及以上,支持 MacOS/Linux/FreeBSD。
26+
Vim 8.2 及以上版本,Neovim 0.7.0 及以上,支持 MacOS/Linux/FreeBSD。
2727

2828
lua 配置(基于 Packer.nvim ):
2929

@@ -48,6 +48,16 @@ vim.keymap.set('n', 'gd', ':EasyCompleteGotoDefinition<CR>')
4848
vim.keymap.set('n', 'rn', ':EasyCompleteRename<CR>')
4949
vim.keymap.set('n', 'gb', ':BackToOriginalBuffer<CR>')
5050

51+
-- 关闭 pum 菜单
52+
-- vim.keymap.set('i', '<C-M>', '<Plug>EasycompleteClosePum')
53+
54+
-- 重新定义 Tab/s-tab 建(选择上一个和下一个)
55+
-- vim.g.easycomplete_tab_trigger = "<C-J>"
56+
-- vim.g.easycomplete_shift_tab_trigger = "<C-K>"
57+
58+
-- 重新定义回车键
59+
-- vim.g.easycomplete_use_default_cr = 0
60+
-- vim.keymap.set('i', '<C-L>', '<Plug>EasycompleteCR')
5161
```
5262
执行 `:PackerInstall`
5363

@@ -74,6 +84,17 @@ noremap gr :EasyCompleteReference<CR>
7484
noremap gd :EasyCompleteGotoDefinition<CR>
7585
noremap rn :EasyCompleteRename<CR>
7686
noremap gb :BackToOriginalBuffer<CR>
87+
88+
" 关闭 pum 菜单
89+
" inoremap <C-M> <Plug>EasycompleteClosePum
90+
91+
" 选择上一个和下一个的快捷键
92+
" let g:easycomplete_tab_trigger = "<C-J>"
93+
" let g:easycomplete_shift_tab_trigger = "<C-K>"
94+
95+
" 重新定义回车键
96+
" let g:easycomplete_use_default_cr = 0
97+
" inoremap <C-L> <Plug>EasycompleteCR
7798
```
7899
执行 `:PlugInstall`.
79100

@@ -144,6 +165,7 @@ noremap gb :BackToOriginalBuffer<CR>
144165
| `g:easycomplete_pum_format` | `["abbr", "kind", "menu"]`| 匹配项格式 |
145166
| `g:easycomplete_menu_abbr` | 1 | 匹配菜单里menu字段是否显示简写,否则显示全称 |
146167
| `g:easycomplete_custom_snippet` | `""` | 自定义 snippets 路径 |
168+
| `g:easycomplete_use_default_cr` | 1 | 是否使用默认回车的事件绑定 |
147169

148170
## 语言支持
149171

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ vim.keymap.set('n', 'gd', ':EasyCompleteGotoDefinition<CR>')
4949
vim.keymap.set('n', 'rn', ':EasyCompleteRename<CR>')
5050
vim.keymap.set('n', 'gb', ':BackToOriginalBuffer<CR>')
5151

52+
-- close pum keymap
53+
-- vim.keymap.set('i', '<C-M>', '<Plug>EasycompleteClosePum')
54+
55+
-- Select next/previous pum items Keymap
56+
-- vim.g.easycomplete_tab_trigger = "<C-J>"
57+
-- vim.g.easycomplete_shift_tab_trigger = "<C-K>"
58+
59+
-- Redefine CR action
60+
-- vim.g.easycomplete_use_default_cr = 0
61+
-- vim.keymap.set('i', '<C-L>', '<Plug>EasycompleteCR')
5262
```
5363
Run `:PackerInstall`
5464

@@ -77,6 +87,17 @@ noremap gr :EasyCompleteReference<CR>
7787
noremap gd :EasyCompleteGotoDefinition<CR>
7888
noremap rn :EasyCompleteRename<CR>
7989
noremap gb :BackToOriginalBuffer<CR>
90+
91+
" Close pum keymap
92+
" inoremap <C-M> <Plug>EasycompleteClosePum
93+
94+
" Select Matched items Keymap
95+
" let g:easycomplete_tab_trigger = "<C-J>"
96+
" let g:easycomplete_shift_tab_trigger = "<C-K>"
97+
98+
" Redefine CR action
99+
" let g:easycomplete_use_default_cr = 0
100+
" inoremap <C-L> <Plug>EasycompleteCR
80101
```
81102
Run `:PlugInstall`.
82103

@@ -149,6 +170,7 @@ Global configurations:
149170
| `g:easycomplete_pum_format` | `["abbr", "kind", "menu"]`| Pmenu format |
150171
| `g:easycomplete_menu_abbr` | 1 | Show abbr(shortname) at pum `menu` position, or show fullname |
151172
| `g:easycomplete_custom_snippet` | `""` | Custom snippets path |
173+
| `g:easycomplete_use_default_cr` | 1 | enable or disable default cr action |
152174

153175
Typing `:h easycomplete` for help.
154176

autoload/easycomplete.vim

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ function! s:BindingTypingCommandOnce()
191191
call s:errlog("[ERR]", 'Diagnostic jumping map-key conflict', v:exception)
192192
endtry
193193

194+
if g:easycomplete_use_default_cr
195+
inoremap <CR> <Plug>EasycompleteCR
196+
endif
197+
194198
" TODO 不生效
195199
" inoremap <Tab> <Plug>EasycompleteTabTrigger
196200
" 重定向 Tag 的跳转按键绑定,和默认<c-]>功能一致
@@ -1516,7 +1520,7 @@ function! easycomplete#CtlE()
15161520
endfunction
15171521

15181522
function! easycomplete#close()
1519-
call easycomplete#CtlE()
1523+
return easycomplete#CtlE()
15201524
endfunction
15211525

15221526
function! s:ExpandLuaSnipManually(body)

plugin/easycomplete.vim

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ endif
123123
if !exists("g:easycomplete_lsp_checking")
124124
let g:easycomplete_lsp_checking = 1
125125
endif
126+
if !exists("g:easycomplete_use_default_cr")
127+
let g:easycomplete_use_default_cr = 1
128+
endif
126129
if !exists("g:easycomplete_lsp_type_font")
127130
let g:easycomplete_lsp_type_font = {}
128131
endif
@@ -613,19 +616,22 @@ command! EasyCompleteRename : call easycomplete#rename()
613616
command! EasyCompleteAiCoding : call easycomplete#AiCoding()
614617
command! BackToOriginalBuffer : call easycomplete#BackToOriginalBuffer()
615618

616-
inoremap <expr> <CR> easycomplete#TypeEnterWithPUM()
617619
inoremap <expr> <Up> easycomplete#Up()
618620
inoremap <expr> <Down> easycomplete#Down()
621+
" CR 行为改为可定义
622+
" inoremap <CR> <Plug>EasycompleteCR
619623
if g:env_is_nvim
620624
inoremap <expr> <C-N> easycomplete#CtlN()
621625
inoremap <expr> <C-P> easycomplete#CtlP()
622-
inoremap <expr> <C-E> easycomplete#CtlE()
623626
inoremap <expr> <Left> easycomplete#Left()
624627
inoremap <expr> <Right> easycomplete#Right()
628+
inoremap <C-E> <Plug>EasycompleteClosePum
625629
endif
626630
inoremap <silent><expr> <BS> easycomplete#BackSpace()
627631
inoremap <Plug>EasycompleteTabTrigger <c-r>=easycomplete#CleverTab()<cr>
628632
inoremap <Plug>EasycompleteShiftTabTrigger <c-r>=easycomplete#CleverShiftTab()<cr>
629633
inoremap <silent><Plug>EasycompleteRefresh <C-r>=easycomplete#refresh()<CR>
630634
inoremap <Plug>EasycompleteNill <C-r>=easycomplete#nill()<CR>
635+
inoremap <expr><Plug>EasycompleteClosePum easycomplete#close()
636+
inoremap <expr><Plug>EasycompleteCR easycomplete#TypeEnterWithPUM()
631637
inoremap <Plug>EasycompleteExpandSnippet <C-R>=UltiSnips#ExpandSnippet()<cr>

0 commit comments

Comments
 (0)