73 lines
1.8 KiB
VimL
73 lines
1.8 KiB
VimL
" Always show the signcolumn, otherwise it would shift the text each time
|
|
" diagnostics appear/become resolved.
|
|
if has("nvim-0.5.0") || has("patch-8.1.1564")
|
|
" Recently vim can merge signcolumn and number column into one
|
|
set signcolumn=number
|
|
else
|
|
set signcolumn=yes
|
|
endif
|
|
|
|
" Use tab for trigger completion with characters ahead and navigate.
|
|
inoremap <silent><expr> <TAB>
|
|
\ pumvisible() ? "\<C-n>" :
|
|
\ <SID>check_back_space() ? "\<TAB>" :
|
|
\ coc#refresh()
|
|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
|
|
|
function! s:check_back_space() abort
|
|
let col = col('.') - 1
|
|
return !col || getline('.')[col - 1] =~# '\s'
|
|
endfunction
|
|
|
|
" Use <c-space> to trigger completion.
|
|
if has('nvim')
|
|
inoremap <silent><expr> <c-space> coc#refresh()
|
|
else
|
|
inoremap <silent><expr> <c-@> coc#refresh()
|
|
endif
|
|
|
|
" GoTo definition
|
|
nmap <silent> gd <Plug>(coc-definition)
|
|
|
|
" Use <C-l> for trigger snippet expand.
|
|
imap <C-l> <Plug>(coc-snippets-expand)
|
|
|
|
" Use F2 to rename a variable, e.g.
|
|
nmap <F2> <Plug>(coc-rename)
|
|
|
|
let g:coc_global_extensions = [
|
|
\ 'coc-tsserver',
|
|
\ 'coc-css',
|
|
\ 'coc-go',
|
|
\ 'coc-html',
|
|
\ 'coc-prettier',
|
|
\ 'coc-sh',
|
|
\ 'coc-svelte',
|
|
\ 'coc-pairs',
|
|
\ 'coc-json',
|
|
\ 'coc-snippets',
|
|
\ 'coc-emmet',
|
|
\ 'coc-highlight',
|
|
\ 'coc-python',
|
|
\ 'coc-emoji',
|
|
\ 'coc-toml',
|
|
\ 'coc-rls'
|
|
\ ]
|
|
|
|
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
|
|
" Coc only does snippet and additional edit on confirm.
|
|
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
|
|
|
|
command! -nargs=0 Prettier :CocCommand prettier.formatFile
|
|
|
|
" Use K to show documentation in preview window
|
|
nnoremap <silent> K :call <SID>show_documentation()<CR>
|
|
|
|
function! s:show_documentation()
|
|
if (index(['vim','help'], &filetype) >= 0)
|
|
execute 'h '.expand('<cword>')
|
|
else
|
|
call CocAction('doHover')
|
|
endif
|
|
endfunction
|