do not select first result and handle enter smarter
This commit is contained in:
		
							
								
								
									
										4
									
								
								.config/nvim/coc-settings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.config/nvim/coc-settings.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | { | ||||||
|  | "suggest.enablePreselect": false, | ||||||
|  | "suggest.noselect": true | ||||||
|  | } | ||||||
| @@ -443,7 +443,26 @@ inoremap <silent><expr> <TAB> | |||||||
| 	\ pumvisible() ? "\<C-n>" : | 	\ pumvisible() ? "\<C-n>" : | ||||||
| 	\ "\<tab>" | 	\ "\<tab>" | ||||||
| inoremap <expr><S-tab> pumvisible() ? "\<C-p>" : "\<C-h>" | inoremap <expr><S-tab> pumvisible() ? "\<C-p>" : "\<C-h>" | ||||||
|  | let g:coc#disable_startup_autoselect = 1 | ||||||
|  |  | ||||||
|  | " confirms selection if any or just break line if none | ||||||
|  | function! EnterSelect() | ||||||
|  |     " if the popup is visible and an option is not selected | ||||||
|  |     if pumvisible() && complete_info()["selected"] == -1 | ||||||
|  |         return "\<C-y>\<CR>" | ||||||
|  |  | ||||||
|  |     " if the pum is visible and an option is selected | ||||||
|  |     elseif pumvisible() | ||||||
|  |         return coc#_select_confirm() | ||||||
|  |  | ||||||
|  |     " if the pum is not visible | ||||||
|  |     else | ||||||
|  |         return "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" | ||||||
|  |     endif | ||||||
|  | endfunction | ||||||
|  |  | ||||||
|  | " makes <CR> confirm selection if any or just break line if none | ||||||
|  | inoremap <silent><expr> <cr> EnterSelect() | ||||||
| " Use <c-space> to trigger completion. | " Use <c-space> to trigger completion. | ||||||
| if has('nvim') | if has('nvim') | ||||||
|   inoremap <silent><expr> <c-space> pumvisible() ?  coc#_select_confirm() |   inoremap <silent><expr> <c-space> pumvisible() ?  coc#_select_confirm() | ||||||
| @@ -452,11 +471,6 @@ else | |||||||
|   inoremap <silent><expr> <c-@> coc#refresh() |   inoremap <silent><expr> <c-@> coc#refresh() | ||||||
| endif | endif | ||||||
|  |  | ||||||
| " Make <CR> auto-select the first completion item and notify coc.nvim to |  | ||||||
| " format on enter, <cr> could be remapped by other vim plugin |  | ||||||
| inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() |  | ||||||
|                               \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" |  | ||||||
|  |  | ||||||
| " Use `[g` and `]g` to navigate diagnostics | " Use `[g` and `]g` to navigate diagnostics | ||||||
| " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. | " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. | ||||||
| nmap <silent> [g <Plug>(coc-diagnostic-prev) | nmap <silent> [g <Plug>(coc-diagnostic-prev) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user