Update 'coc' configuration
							parent
							
								
									904fa53db0
								
							
						
					
					
						commit
						9fc83c8ec7
					
				
							
								
								
									
										66
									
								
								.vimrc
								
								
								
								
							
							
						
						
									
										66
									
								
								.vimrc
								
								
								
								
							| 
						 | 
				
			
			@ -135,29 +135,72 @@ call plug#end()
 | 
			
		|||
"""""""""""""""
 | 
			
		||||
 | 
			
		||||
" Coc
 | 
			
		||||
 | 
			
		||||
" `neoclide/coc.nvim` {{{
 | 
			
		||||
let g:coc_global_extensions = [
 | 
			
		||||
  \'coc-dictionary',
 | 
			
		||||
  \'coc-syntax',
 | 
			
		||||
  \'coc-eslint',
 | 
			
		||||
  \'coc-prettier',
 | 
			
		||||
  \'coc-tsserver',
 | 
			
		||||
  \'coc-python',
 | 
			
		||||
  \'coc-html',
 | 
			
		||||
  \'coc-emmet',
 | 
			
		||||
  \'coc-css',
 | 
			
		||||
  \'coc-svg',
 | 
			
		||||
  \'coc-svelte',
 | 
			
		||||
  \'coc-jedi',
 | 
			
		||||
  \'coc-json',
 | 
			
		||||
  \'coc-markdownlint',
 | 
			
		||||
  \'coc-yaml',
 | 
			
		||||
  \'coc-snippets',
 | 
			
		||||
  \'coc-clangd'
 | 
			
		||||
  \'coc-clangd',
 | 
			
		||||
  \'coc-bibtex' 
 | 
			
		||||
  \]
 | 
			
		||||
" Autocomplete
 | 
			
		||||
imap <tab> <Plug>(coc-snippets-expand)
 | 
			
		||||
nn <leader>es :CocCommand snippets.editSnippets<cr>
 | 
			
		||||
ino <silent><expr><c-j> pumvisible() ? "\<c-n>" :
 | 
			
		||||
  \ coc#refresh()
 | 
			
		||||
ino <expr><c-k> pumvisible() ? "\<C-p>" : "k"
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
" `coc-snippets`
 | 
			
		||||
 | 
			
		||||
" TODO: is this block even necessary anymore?
 | 
			
		||||
"
 | 
			
		||||
" I use `coc-snippets-exand-jump` here as it is more flexible afaics
 | 
			
		||||
" As stated in the docs:
 | 
			
		||||
" `coc-snippets-expand`      Expand snippet w/ current inserted text
 | 
			
		||||
" `coc-snippets-expand-jump` Expand snippet or jump to next placeholder of current snippet if possible
 | 
			
		||||
 | 
			
		||||
" Use tab for expansion in every context Don't use it for jumping as
 | 
			
		||||
" expansions have priority over jumping (which is not always what you want)
 | 
			
		||||
"
 | 
			
		||||
" E.g. You don't want to expand `time` to say `12:05` upon `<tab>`bing to go
 | 
			
		||||
" from arguments to body in a function snippet
 | 
			
		||||
 | 
			
		||||
inor <silent><expr> <TAB> 
 | 
			
		||||
  \ coc#pum#visible() ? coc#_select_confirm() :
 | 
			
		||||
  \ coc#expandable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
 | 
			
		||||
  \ "\<TAB>"
 | 
			
		||||
 | 
			
		||||
" Use <c-j> and <c-k> to move through suggestions
 | 
			
		||||
" Open suggestions if not yet open
 | 
			
		||||
 | 
			
		||||
inor <silent><expr> <c-j> coc#pum#visible() ? coc#pum#next(1) : coc#refresh()
 | 
			
		||||
 | 
			
		||||
" NOTE: As the followning interfered with digraphs, I replaced `coc#refresh`
 | 
			
		||||
" with `"\<C-g>u\<c-k>"` which afaik just does c-k when no completion menu is
 | 
			
		||||
" shown
 | 
			
		||||
" ```
 | 
			
		||||
" inor <silent><expr> <c-k> coc#pum#visible() ? coc#pum#prev(1) : coc#refresh()
 | 
			
		||||
" ```
 | 
			
		||||
 | 
			
		||||
inor <silent><expr> <c-k> coc#pum#visible() ? coc#pum#prev(1) : "\<C-g>u\<c-k>"
 | 
			
		||||
 | 
			
		||||
" NOTE: this is cutting text in visual mode, it is replaces `$VISUAL` on next
 | 
			
		||||
" expansion
 | 
			
		||||
"
 | 
			
		||||
" although I mapped it, I have yet to test this feature
 | 
			
		||||
 | 
			
		||||
vmap <tab> <Plug>(coc-snippets-select)
 | 
			
		||||
 | 
			
		||||
ino <expr><cr> complete_info()["selected"] != "-1" ? "\<c-y>" : "\<c-g>u\<CR>"
 | 
			
		||||
 | 
			
		||||
" Show doccumentation
 | 
			
		||||
fu! s:show_documentation()
 | 
			
		||||
  if (index(['vim','help'], &filetype) >= 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -166,13 +209,12 @@ fu! s:show_documentation()
 | 
			
		|||
    call CocAction('doHover')
 | 
			
		||||
  endif
 | 
			
		||||
endfunction
 | 
			
		||||
nnoremap K :call show_documentation()
 | 
			
		||||
nn <leader>es :CocCommand snippets.editSnippets<cr>
 | 
			
		||||
" Code action on cursor position
 | 
			
		||||
nm <leader>do <Plug>(coc-codeaction)
 | 
			
		||||
" Coc statusline
 | 
			
		||||
se statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
 | 
			
		||||
" Prettier command
 | 
			
		||||
" Commands
 | 
			
		||||
com! -nargs=0 Prettier :CocCommand prettier.formatFile
 | 
			
		||||
" }}}
 | 
			
		||||
 | 
			
		||||
" `.../copilot` {{{
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue