Add do#show_documentation() using coc.nvim
Change the `K` normal mode overrides to use the example given in the coc.nvim README file which uses Vim's builtin help when in `vim` or `help` files, or checks if coc.nvim is ready and invokes `CocActionAsync('doHover')`, otherwise fallback to using `keywordprg`.
This commit is contained in:
parent
ecd8659df7
commit
3a2337cd63
@ -15,5 +15,3 @@ nnoremap K :YcmCompleter GetDoc<CR>
|
|||||||
let b:surround_{char2nr("t")} = "TODO(\r):"
|
let b:surround_{char2nr("t")} = "TODO(\r):"
|
||||||
" "ys{motion}/" turns "text" into "/*text*/"
|
" "ys{motion}/" turns "text" into "/*text*/"
|
||||||
let b:surround_{char2nr("/")} = "/*\r*/"
|
let b:surround_{char2nr("/")} = "/*\r*/"
|
||||||
" Map K to get YouCompleteMe documentation.
|
|
||||||
nnoremap K :YcmCompleter GetDoc<CR>
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
" Add Doxygen documentation generation plugin.
|
" Add Doxygen documentation generation plugin.
|
||||||
packadd DoxygenToolkit.vim
|
packadd DoxygenToolkit.vim
|
||||||
nnoremap <leader>d :Dox<CR>
|
nnoremap <leader>d :Dox<CR>
|
||||||
" Map K to get YouCompleteMe documentation
|
|
||||||
nnoremap K :YcmCompleter GetDoc<CR>
|
|
||||||
|
@ -25,6 +25,3 @@ setlocal encoding=utf-8
|
|||||||
" Set up file format
|
" Set up file format
|
||||||
setlocal fileformat=unix
|
setlocal fileformat=unix
|
||||||
let g:python_highlight_all=1
|
let g:python_highlight_all=1
|
||||||
|
|
||||||
" Mappings
|
|
||||||
nnoremap K :YcmCompleter GetDoc<CR>
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
" Add omnifunc completion package.
|
" Add omnifunc completion package.
|
||||||
packadd vimomni
|
packadd vimomni
|
||||||
|
|
||||||
" Mapping for Vim help of the word under cursor.
|
|
||||||
nnoremap K :help <C-r><C-w><CR>
|
|
||||||
|
|
||||||
" Set custom fold expression
|
" Set custom fold expression
|
||||||
setlocal foldmethod=expr
|
setlocal foldmethod=expr
|
||||||
setlocal foldexpr=VimFold(v:lnum)
|
setlocal foldexpr=VimFold(v:lnum)
|
||||||
|
@ -100,3 +100,14 @@ endfunction
|
|||||||
" A sink for mappings to do nothing
|
" A sink for mappings to do nothing
|
||||||
function! do#sink() abort
|
function! do#sink() abort
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" Used by normal mode K mapping to show documentation
|
||||||
|
function! do#show_documentation()
|
||||||
|
if index(['vim','help'], &filetype) >= 0
|
||||||
|
execute 'help '.expand('<cword>')
|
||||||
|
elseif coc#rpc#ready() " TODO: Check if the LS supports doHover
|
||||||
|
call CocActionAsync('doHover')
|
||||||
|
else
|
||||||
|
execute '!'.&keywordprg.' '.expand('<cword>')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
" coc.nvim
|
" coc.nvim
|
||||||
nmap <leader>fi <Plug>(coc-fix-current)
|
nnoremap <silent> <leader>fi <Plug>(coc-fix-current)
|
||||||
nmap <leader>gd <Plug>(coc-definition)
|
nnoremap <silent> <leader>gd <Plug>(coc-definition)
|
||||||
nmap <leader>gt <Plug>(coc-type-definition)
|
nnoremap <silent> <leader>gt <Plug>(coc-type-definition)
|
||||||
nmap <leader>sd <Plug>(coc-diagnostic-info)
|
nnoremap <silent> <leader>sd <Plug>(coc-diagnostic-info)
|
||||||
nmap <leader>gr <Plug>(coc-references)
|
nnoremap <silent> <leader>gr <Plug>(coc-references)
|
||||||
|
nnoremap <silent> K :call do#show_documentation()<CR>
|
||||||
|
|
||||||
if has('nvim')
|
if has('nvim')
|
||||||
" Make nvim :terminal more like vim :terminal
|
" Make nvim :terminal more like vim :terminal
|
||||||
@ -110,8 +111,6 @@ nnoremap <C-s> i<C-g>u<C-X>s
|
|||||||
|
|
||||||
" Disable 'Q' from opening Ex mode
|
" Disable 'Q' from opening Ex mode
|
||||||
nnoremap Q <nop>
|
nnoremap Q <nop>
|
||||||
" Disable 'K' from loading man pages
|
|
||||||
noremap K <nop>
|
|
||||||
|
|
||||||
" Split line at the cursor
|
" Split line at the cursor
|
||||||
nnoremap [j i<CR><Esc>
|
nnoremap [j i<CR><Esc>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user