From c3402229faf8e2817eb254b8a36314e6445b64ef Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 17 Sep 2020 12:38:02 -0400 Subject: fixed multiline comment --- init.vim | 4 ++-- vscode/settings.vim | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/init.vim b/init.vim index 18ae6f42..08c12c81 100644 --- a/init.vim +++ b/init.vim @@ -13,13 +13,13 @@ source $HOME/.config/nvim/vim-plug/plugins.vim source $HOME/.config/nvim/general/settings.vim source $HOME/.config/nvim/general/functions.vim source $HOME/.config/nvim/keys/mappings.vim -source $HOME/.config/nvim/plug-config/vim-commentary.vim source $HOME/.config/nvim/plug-config/quickscope.vim if exists('g:vscode') " VS Code extension source $HOME/.config/nvim/vscode/settings.vim source $HOME/.config/nvim/plug-config/easymotion.vim + source $HOME/.config/nvim/plug-config/highlightyank.vim else " Themes @@ -29,13 +29,13 @@ else " Plugin Configuration source $HOME/.config/nvim/keys/which-key.vim + source $HOME/.config/nvim/plug-config/vim-commentary.vim " source $HOME/.config/nvim/plug-config/rainbow.vim source $HOME/.config/nvim/plug-config/rnvimr.vim source $HOME/.config/nvim/plug-config/better-whitespace.vim source $HOME/.config/nvim/plug-config/fzf.vim source $HOME/.config/nvim/plug-config/sneak.vim source $HOME/.config/nvim/plug-config/codi.vim - source $HOME/.config/nvim/plug-config/highlightyank.vim source $HOME/.config/nvim/plug-config/vim-wiki.vim source $HOME/.config/nvim/plug-config/coc.vim source $HOME/.config/nvim/plug-config/goyo.vim diff --git a/vscode/settings.vim b/vscode/settings.vim index 3df722a1..8c988c8e 100644 --- a/vscode/settings.vim +++ b/vscode/settings.vim @@ -27,6 +27,48 @@ function! s:manageEditorSize(...) endfor endfunction +function! s:vscodeCommentary(...) abort + if !a:0 + let &operatorfunc = matchstr(expand(''), '[^. ]*$') + return 'g@' + elseif a:0 > 1 + let [line1, line2] = [a:1, a:2] + else + let [line1, line2] = [line("'["), line("']")] + endif + + call VSCodeCallRange("editor.action.commentLine", line1, line2, 0) +endfunction + +function! s:openVSCodeCommandsInVisualMode() + normal! gv + let visualmode = visualmode() + if visualmode == "V" + let startLine = line("v") + let endLine = line(".") + call VSCodeNotifyRange("workbench.action.showCommands", startLine, endLine, 1) + else + let startPos = getpos("v") + let endPos = getpos(".") + call VSCodeNotifyRangePos("workbench.action.showCommands", startPos[1], endPos[1], startPos[2], endPos[2], 1) + endif +endfunction + +function! s:openWhichKeyInVisualMode() + normal! gv + let visualmode = visualmode() + if visualmode == "V" + let startLine = line("v") + let endLine = line(".") + call VSCodeNotifyRange("whichkey.show", startLine, endLine, 1) + else + let startPos = getpos("v") + let endPos = getpos(".") + call VSCodeNotifyRangePos("whichkey.show", startPos[1], endPos[1], startPos[2], endPos[2], 1) + endif +endfunction + + command! -complete=file -nargs=? Split call split('h', ) command! -complete=file -nargs=? Vsplit call split('v', ) command! -complete=file -nargs=? New call split('h', '__vscode_new__') @@ -66,10 +108,18 @@ nnoremap :call VSCodeNotify('workbench.action.navigateRight') xnoremap :call VSCodeNotify('workbench.action.navigateRight') " Bind C-/ to vscode commentary since calling from vscode produces double comments due to multiple cursors -xnoremap :call Comment() -nnoremap :call Comment() +xnoremap vscodeCommentary() +nnoremap vscodeCommentary() . '_' nnoremap _ :call VSCodeNotify('workbench.action.toggleEditorWidths') nnoremap :call VSCodeNotify('whichkey.show') xnoremap :call VSCodeNotify('whichkey.show') + +xnoremap :call openVSCodeCommandsInVisualMode() +xnoremap :call openWhichKeyInVisualMode() + +xmap gc VSCodeCommentary +nmap gc VSCodeCommentary +omap gc VSCodeCommentary +nmap gcc VSCodeCommentaryLine -- cgit v1.2.3