From e1da112f7891a1bb126f697676896aeee0029bb0 Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Mon, 29 May 2023 20:22:40 +0200 Subject: [PATCH] Update (& move) coc.nvim config --- .vim/after/plugin/coc.nvim.vim | 86 ++++++++++++++++++++++++++++++++++ .vimrc | 85 --------------------------------- 2 files changed, 86 insertions(+), 85 deletions(-) create mode 100644 .vim/after/plugin/coc.nvim.vim diff --git a/.vim/after/plugin/coc.nvim.vim b/.vim/after/plugin/coc.nvim.vim new file mode 100644 index 0000000..577ddbd --- /dev/null +++ b/.vim/after/plugin/coc.nvim.vim @@ -0,0 +1,86 @@ +if !exists("g:did_coc_loaded") | echo "`coc.nvim` not loaded (not configuring)" | finish | endif + +let g:coc_global_extensions = [ + \'coc-dictionary', + \'coc-syntax', + \'coc-eslint', + \'coc-prettier', + \'coc-tsserver', + \'coc-html', + \'coc-emmet', + \'coc-css', + \'coc-svg', + \'coc-svelte', + \'coc-jedi', + \'coc-json', + \'coc-yaml', + \'coc-snippets', + \'coc-clangd', + \'coc-bibtex', + \'coc-vimlsp', + \'coc-diagnostic', + \'coc-git' + \] + +" +" Autocomplete +" + +" `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 ``bing to go +" from arguments to body in a function snippet + +inor + \ coc#pum#visible() ? coc#_select_confirm() : + \ coc#expandable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : + \ "\" + +" Use and to move through suggestions +" Open suggestions if not yet open + +" inor coc#pum#visible() ? coc#pum#next(1) : coc#refresh() +inor coc#refresh() +inor coc#pum#visible() ? coc#pum#next(1) : coc#refresh() + +" NOTE: As the followning interfered with digraphs, I replaced `coc#refresh` +" with `"\u\"` which afaik just does c-k when no completion menu is +" shown +" ``` +" inor coc#pum#visible() ? coc#pum#prev(1) : coc#refresh() +" ``` + +inor coc#pum#visible() ? coc#pum#prev(1) : "\u\" + +" 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 (coc-snippets-select) + +ino complete_info()["selected"] != "-1" ? "\" : "\u\" + +" Show doccumentation +fu! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('') + else + call CocAction('doHover') + endif +endfunction +nn es :CocCommand snippets.editSnippets +" Code action on cursor position +nm do (coc-codeaction) +" Commands +com! -nargs=0 Prettier :CocCommand prettier.formatFile diff --git a/.vimrc b/.vimrc index 4cc3113..f4e9d0c 100644 --- a/.vimrc +++ b/.vimrc @@ -117,13 +117,11 @@ nn so :so % " }}} " Plugins {{{ -" " Plug setup {{{ call plug#begin() if !exists('g:vscode') -" Coc Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'github/copilot.vim' endif @@ -177,89 +175,6 @@ xmap s let g:sandwich#recipes = deepcopy(g:sandwich#default_recipes) " }}} -" `neoclide/coc.nvim` {{{ -let g:coc_global_extensions = [ - \'coc-dictionary', - \'coc-syntax', - \'coc-eslint', - \'coc-prettier', - \'coc-tsserver', - \'coc-html', - \'coc-emmet', - \'coc-css', - \'coc-svg', - \'coc-svelte', - \'coc-jedi', - \'coc-json', - \'coc-yaml', - \'coc-snippets', - \'coc-clangd', - \'coc-bibtex', - \'coc-git' - \] - -" -" Autocomplete -" - -" `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 ``bing to go -" from arguments to body in a function snippet - -inor - \ coc#pum#visible() ? coc#_select_confirm() : - \ coc#expandable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : - \ "\" - -" Use and to move through suggestions -" Open suggestions if not yet open - -inor coc#pum#visible() ? coc#pum#next(1) : coc#refresh() - -" NOTE: As the followning interfered with digraphs, I replaced `coc#refresh` -" with `"\u\"` which afaik just does c-k when no completion menu is -" shown -" ``` -" inor coc#pum#visible() ? coc#pum#prev(1) : coc#refresh() -" ``` - -inor coc#pum#visible() ? coc#pum#prev(1) : "\u\" - -" 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 (coc-snippets-select) - -ino complete_info()["selected"] != "-1" ? "\" : "\u\" - -" Show doccumentation -fu! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('') - else - call CocAction('doHover') - endif -endfunction -nn es :CocCommand snippets.editSnippets -" Code action on cursor position -nm do (coc-codeaction) -" Commands -com! -nargs=0 Prettier :CocCommand prettier.formatFile -" }}} - " `.../copilot` {{{ let g:copilot_node_command = "/home/h/.config/nvm/versions/node/v16.18.0/bin/node"