|
|
|
@ -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>") |
|
|
|
|