Browse Source

vim: coc settings

Maxim Likhachev 3 years ago
parent
commit
5bb5f13403
  1. 84
      etc/soft/nvim/vimrc

84
etc/soft/nvim/vimrc

@ -361,7 +361,6 @@ imap <F9> <esc>:make<cr> @@ -361,7 +361,6 @@ imap <F9> <esc>:make<cr>
nmap <S-F9> :copen<cr>
imap <S-F9> <esc>:copen<cr>
imap <S-F9> <esc>:copen<cr>
nmap <F11> :echo system("robodoc &")<CR>:echo "MAKING DOCUMENTATION"<CR>
imap <F11> :echo system("robodoc &")<CR>:echo "MAKING DOCUMENTATION"<CR>
@ -747,9 +746,63 @@ omap af <Plug>(coc-funcobj-a) @@ -747,9 +746,63 @@ omap af <Plug>(coc-funcobj-a)
" GoTo code navigation.
nmap <silent> gD :<C-u>call CocActionAsync('jumpDefinition', 'split')<CR>
nmap <silent> gy <Plug>(coc-type-definition)
" nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gI <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> <leader>rf <Plug>(coc-refactor)
nmap <silent> <leader>rn <Plug>(coc-rename)
nmap <silent> <leader>qf :CocFix<CR>
nmap <silent> <leader>f :CocOutline<CR>
" use [h and ]h to navigate between holes
nnoremap <silent> [h :<C-U>call CocActionAsync('diagnosticPrevious', 'hint')<CR>
nnoremap <silent> ]h :<C-U>call <SID>JumpToNextHole()<CR>
" <leader>d to perform a pattern match, <leader>n to fill a hole
nnoremap <silent> <leader>d :<C-u>set operatorfunc=<SID>WingmanDestruct<CR>g@l
nnoremap <silent> <leader>N :<C-u>set operatorfunc=<SID>WingmanFillHole<CR>g@l
nnoremap <silent> <leader>r :<C-u>set operatorfunc=<SID>WingmanRefine<CR>g@l
nnoremap <silent> <leader>c :<C-u>set operatorfunc=<SID>WingmanUseCtor<CR>g@l
nnoremap <silent> <leader>a :<C-u>set operatorfunc=<SID>WingmanDestructAll<CR>g@l
function! s:JumpToNextHole()
call CocActionAsync('diagnosticNext', 'hint')
endfunction
function! s:GotoNextHole()
" wait for the hole diagnostics to reload
sleep 500m
" and then jump to the next hole
normal 0
call <SID>JumpToNextHole()
endfunction
function! s:WingmanRefine(type)
call CocAction('codeAction', a:type, ['refactor.wingman.refine'])
call <SID>GotoNextHole()
endfunction
function! s:WingmanDestruct(type)
call CocAction('codeAction', a:type, ['refactor.wingman.caseSplit'])
call <SID>GotoNextHole()
endfunction
function! s:WingmanDestructAll(type)
call CocAction('codeAction', a:type, ['refactor.wingman.splitFuncArgs'])
call <SID>GotoNextHole()
endfunction
function! s:WingmanFillHole(type)
call CocAction('codeAction', a:type, ['refactor.wingman.fillHole'])
call <SID>GotoNextHole()
endfunction
function! s:WingmanUseCtor(type)
call CocAction('codeAction', a:type, ['refactor.wingman.useConstructor'])
call <SID>GotoNextHole()
endfunction
" Use tab for trigger completion with characters ahead and navigate.
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
" other plugin before putting this into your config.
@ -786,6 +839,13 @@ let g:coc_snippet_prev = '<c-k>' @@ -786,6 +839,13 @@ let g:coc_snippet_prev = '<c-k>'
" HaskellConcealPlus {{{
nnoremap <silent> <leader>. :call pointfree#suggestions()<CR>
vnoremap <silent> <leader>. :call pointfree#selection()<CR>
" }}}
" HaskellConcealPlus {{{
" [ ] 'q' option to disable concealing of scientific constants (e.g. π)
" [ ] '℘' option to disable concealing of powerset function
" [ ] '𝐒' option to disable String type to 𝐒 concealing
@ -828,31 +888,11 @@ let hscoptions="Ax*Eerl↱w-Tt" @@ -828,31 +888,11 @@ let hscoptions="Ax*Eerl↱w-Tt"
" }}}
" {{{ vista.vim
let g:vista_default_executive = 'coc'
let g:vista_cursor_delay = 0
let g:vista_echo_cursor_strategy = 'echo'
let g:vista_blink = [0, 0]
let g:vista#renderer#enable_icon = 1
let g:vista#renderer#icons = {
\ "file": "▸",
\ "function": "ℱ",
\ "module": "ℳ",
\ "variable": "𝒱",
\ "struct": "𝒮",
\ "field": "𝕗",
\ }
nmap <leader>f :Vista!!<CR>
" }}}
" {{{ goc
lua << EOF
local goc = require'nvim-goc'
goc.setup({ verticalSplit = false })
vim.api.nvim_command("command! Goc normal! :lua require('nvim-goc').Coverage()<CR>")
vim.api.nvim_command("command! Gocc normal! :lua require('nvim-goc').ClearCoverage()<CR>")
vim.api.nvim_command("command! Gocw normal! :lua cf()<CR><CR>")

Loading…
Cancel
Save