added vscode extensions
This commit is contained in:
parent
7cde0829be
commit
26e2a50441
316 changed files with 37301 additions and 0 deletions
3
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.gitignore
vendored
Normal file
3
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
.vim-flavor
|
||||
Gemfile.lock
|
||||
VimFlavor.lock
|
||||
4
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.travis.yml
vendored
Normal file
4
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/.travis.yml
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
language: ruby
|
||||
rvm:
|
||||
- 2.1.5
|
||||
script: rake ci
|
||||
3
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Gemfile
vendored
Normal file
3
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Gemfile
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'vim-flavor', '~> 2.0'
|
||||
11
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Rakefile
vendored
Normal file
11
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/Rakefile
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env rake
|
||||
|
||||
task :ci => [:dump, :test]
|
||||
|
||||
task :dump do
|
||||
sh 'vim --version'
|
||||
end
|
||||
|
||||
task :test do
|
||||
sh 'bundle exec vim-flavor test'
|
||||
end
|
||||
1
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/VimFlavor
vendored
Normal file
1
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/VimFlavor
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
# No dependencies.
|
||||
62
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/autoload/altercmd.vim
vendored
Normal file
62
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/autoload/altercmd.vim
vendored
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
" altercmd - Alter built-in Ex commands by your own ones
|
||||
" Version: 0.0.1
|
||||
" Copyright (C) 2009-2015 Kana Natsuno <http://whileimautomaton.net/>
|
||||
" License: MIT license {{{
|
||||
" Permission is hereby granted, free of charge, to any person obtaining
|
||||
" a copy of this software and associated documentation files (the
|
||||
" "Software"), to deal in the Software without restriction, including
|
||||
" without limitation the rights to use, copy, modify, merge, publish,
|
||||
" distribute, sublicense, and/or sell copies of the Software, and to
|
||||
" permit persons to whom the Software is furnished to do so, subject to
|
||||
" the following conditions:
|
||||
"
|
||||
" The above copyright notice and this permission notice shall be included
|
||||
" in all copies or substantial portions of the Software.
|
||||
"
|
||||
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
" }}}
|
||||
" Interface "{{{1
|
||||
function! altercmd#define(...) "{{{2
|
||||
let [buffer, original_name, alternate_name]
|
||||
\ = (a:000[0] ==? '<buffer>' ? [] : ['']) + a:000
|
||||
|
||||
if original_name =~ '\['
|
||||
let [original_name_head, original_name_tail] = split(original_name, '[')
|
||||
let original_name_tail = substitute(original_name_tail, '\]', '', '')
|
||||
else
|
||||
let original_name_head = original_name
|
||||
let original_name_tail = ''
|
||||
endif
|
||||
|
||||
let original_name_tail = ' ' . original_name_tail
|
||||
for i in range(len(original_name_tail))
|
||||
let lhs = original_name_head . original_name_tail[1:i]
|
||||
execute 'cnoreabbrev <expr>' buffer lhs
|
||||
\ '(getcmdtype() == ":" && getcmdline() ==# "' . lhs . '")'
|
||||
\ '?' ('"' . alternate_name . '"')
|
||||
\ ':' ('"' . lhs . '"')
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
|
||||
function! altercmd#load() "{{{2
|
||||
runtime plugin/altercmd.vim
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
" __END__ "{{{1
|
||||
" vim: foldmethod=marker
|
||||
134
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/doc/altercmd.txt
vendored
Normal file
134
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/doc/altercmd.txt
vendored
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
*altercmd.txt* Alter built-in Ex commands by your own ones
|
||||
|
||||
Version 0.0.1
|
||||
Script ID: 2675
|
||||
Copyright (C) 2009-2015 Kana Natsuno <http://whileimautomaton.net/>
|
||||
License: MIT license {{{
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
}}}
|
||||
|
||||
CONTENTS *altercmd-contents*
|
||||
|
||||
Introduction |altercmd-introduction|
|
||||
Interface |altercmd-interface|
|
||||
Commands |altercmd-commands|
|
||||
Functions |altercmd-functions|
|
||||
Bugs |altercmd-bugs|
|
||||
Changelog |altercmd-changelog|
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *altercmd-introduction*
|
||||
|
||||
*altercmd* is a Vim plugin to provide an easy way to alternate built-in Ex
|
||||
commands by user-defined Ex commands. This plugin provides |:AlterCommand|
|
||||
for this purpose. For example, if you define :CD, a custom version of |:cd|,
|
||||
add the following in your vimrc.
|
||||
>
|
||||
AlterCommand cd CD
|
||||
<
|
||||
With the above setting, you can use :cd as if it is :CD. It means that :CD
|
||||
will be automatically inserted if you type :cd as an Ex command, so you don't
|
||||
have to type :CD to use :cd and you'll never encounter mistyping :cd and :CD.
|
||||
|
||||
:AlterCommand also supports partial command names. For example, |:help| can
|
||||
be invoked with :h, :he, :hel or :help.
|
||||
>
|
||||
AlterCommand h[elp] HELP
|
||||
<
|
||||
With the above setting, you can use :h, :he, :hel and :help as if they are
|
||||
:HELP, your own version of :help.
|
||||
|
||||
|
||||
Requirements:
|
||||
- Vim 7.2 or later
|
||||
|
||||
Latest version:
|
||||
https://github.com/kana/vim-altercmd
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
INTERFACE *altercmd-interface*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
COMMANDS *altercmd-commands*
|
||||
|
||||
*:AlterCommand*
|
||||
:AlterCommand [<buffer>] {original} {alternative}
|
||||
Declare to use {alternative} Ex command instead of
|
||||
{original} Ex command.
|
||||
|
||||
If <buffer> is given, this declaration is only
|
||||
available for the current buffer. Otherwise, this
|
||||
declaration is available globally.
|
||||
|
||||
See also |altercmd-introduction| for examples.
|
||||
|
||||
Technically, this Ex command does just define some
|
||||
|abbreviations| in Command-line mode.
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
FUNCTIONS *altercmd-functions*
|
||||
|
||||
altercmd#define({original}, {alternative}) *altercmd#define()*
|
||||
altercmd#define('<buffer>', {original}, {alternative})
|
||||
Function version of |:AlterCommand|.
|
||||
|
||||
altercmd#load() *altercmd#load()*
|
||||
Load this plugin. You have to call this in your vimrc
|
||||
if you want to use |:AlterCommand| in your vimrc.
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
BUGS *altercmd-bugs*
|
||||
|
||||
- Not all cases are supported. For example:
|
||||
|
||||
- [range] is not supported yet. If [range] is given, altercmd doesn't work.
|
||||
|
||||
- If any argument is not given to an Ex command which has an alternative Ex
|
||||
command, altercmd doesn't work.
|
||||
|
||||
- And there may be more cases where altercmd doesn't work well.
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
CHANGELOG *altercmd-changelog*
|
||||
|
||||
0.0.1 2015-01-31T23:52:24+09:00
|
||||
- Fix a bug that buffer-local |:AlterCommand| could not be defined.
|
||||
|
||||
0.0.0 2009-06-14T03:47:25+09:00
|
||||
- Initial version.
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:fen:fdl=0:fdm=marker:
|
||||
41
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/plugin/altercmd.vim
vendored
Normal file
41
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/plugin/altercmd.vim
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
" altercmd - Alter built-in Ex commands by your own ones
|
||||
" Version: 0.0.1
|
||||
" Copyright (C) 2009-2015 Kana Natsuno <http://whileimautomaton.net/>
|
||||
" License: MIT license {{{
|
||||
" Permission is hereby granted, free of charge, to any person obtaining
|
||||
" a copy of this software and associated documentation files (the
|
||||
" "Software"), to deal in the Software without restriction, including
|
||||
" without limitation the rights to use, copy, modify, merge, publish,
|
||||
" distribute, sublicense, and/or sell copies of the Software, and to
|
||||
" permit persons to whom the Software is furnished to do so, subject to
|
||||
" the following conditions:
|
||||
"
|
||||
" The above copyright notice and this permission notice shall be included
|
||||
" in all copies or substantial portions of the Software.
|
||||
"
|
||||
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
" }}}
|
||||
|
||||
if exists('g:loaded_altercmd')
|
||||
finish
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
command! -bar -complete=command -nargs=* AlterCommand
|
||||
\ call altercmd#define(<f-args>)
|
||||
|
||||
|
||||
|
||||
|
||||
let g:loaded_altercmd = 1
|
||||
|
||||
" __END__
|
||||
" vim: foldmethod=marker
|
||||
45
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/t/basics.vim
vendored
Normal file
45
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vim-altercmd/t/basics.vim
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
call altercmd#define('full', 'F-U-L-L')
|
||||
call altercmd#define('ab[br]', 'A-B-B-R')
|
||||
|
||||
function! RecordTheCurrentCommandLine()
|
||||
let g:cmdline = getcmdline()
|
||||
return ''
|
||||
endfunction
|
||||
cnoremap <expr> {X} RecordTheCurrentCommandLine()
|
||||
|
||||
function! Test(lhs, rhs)
|
||||
let g:cmdline = ''
|
||||
silent execute 'normal' ":".a:lhs."\<C-]>{X}\<C-c>"
|
||||
Expect g:cmdline ==# a:rhs
|
||||
endfunction
|
||||
|
||||
describe 'altercmd#define'
|
||||
it 'replaces a built-in command'
|
||||
call Test('full', 'F-U-L-L')
|
||||
end
|
||||
|
||||
it 'replaces all abbreviated names of a built-in command'
|
||||
call Test('ab', 'A-B-B-R')
|
||||
call Test('abb', 'A-B-B-R')
|
||||
call Test('abbr', 'A-B-B-R')
|
||||
end
|
||||
|
||||
it 'supports <buffer>'
|
||||
silent edit 'test-A'
|
||||
call altercmd#define('<buffer>', 'ctx', 'Axe')
|
||||
silent edit 'test-B'
|
||||
call altercmd#define('<buffer>', 'ctx', 'Bow')
|
||||
silent edit 'test-C'
|
||||
call altercmd#define('<buffer>', 'ctx', 'Club')
|
||||
|
||||
silent edit 'test-A'
|
||||
call Test('full', 'F-U-L-L')
|
||||
call Test('ctx', 'Axe')
|
||||
silent edit 'test-B'
|
||||
call Test('full', 'F-U-L-L')
|
||||
call Test('ctx', 'Bow')
|
||||
silent edit 'test-C'
|
||||
call Test('full', 'F-U-L-L')
|
||||
call Test('ctx', 'Club')
|
||||
end
|
||||
end
|
||||
96
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-code-actions.vim
vendored
Normal file
96
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-code-actions.vim
vendored
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
function! s:vscodeFormat(...) abort
|
||||
if !a:0
|
||||
let &operatorfunc = matchstr(expand('<sfile>'), '[^. ]*$')
|
||||
return 'g@'
|
||||
elseif a:0 > 1
|
||||
let [line1, line2] = [a:1, a:2]
|
||||
else
|
||||
let [line1, line2] = [line("'["), line("']")]
|
||||
endif
|
||||
|
||||
call VSCodeCallRange('editor.action.formatSelection', line1, line2, 0)
|
||||
endfunction
|
||||
|
||||
function! s:vscodeCommentary(...) abort
|
||||
if !a:0
|
||||
let &operatorfunc = matchstr(expand('<sfile>'), '[^. ]*$')
|
||||
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:vscodeGoToDefinition(str)
|
||||
if exists('b:vscode_controlled') && b:vscode_controlled
|
||||
call VSCodeNotify('editor.action.reveal' . a:str)
|
||||
else
|
||||
" Allow to funcionar in help files
|
||||
exe "normal! \<C-]>"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:openVSCodeCommandsInVisualMode()
|
||||
let mode = mode()
|
||||
if mode ==# '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, 1)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
command! -range -bar VSCodeCommentary call s:vscodeCommentary(<line1>, <line2>)
|
||||
|
||||
xnoremap <expr> <Plug>VSCodeCommentary <SID>vscodeCommentary()
|
||||
nnoremap <expr> <Plug>VSCodeCommentary <SID>vscodeCommentary()
|
||||
nnoremap <expr> <Plug>VSCodeCommentaryLine <SID>vscodeCommentary() . '_'
|
||||
|
||||
" Bind format to vscode format selection
|
||||
xnoremap <expr> = <SID>vscodeFormat()
|
||||
nnoremap <expr> = <SID>vscodeFormat()
|
||||
nnoremap <expr> == <SID>vscodeFormat() . '_'
|
||||
|
||||
" gf/gF . Map to go to definition for now
|
||||
nnoremap K <Cmd>call VSCodeNotify('editor.action.showHover')<CR>
|
||||
nnoremap gh <Cmd>call VSCodeNotify('editor.action.showHover')<CR>
|
||||
nnoremap gf <Cmd>call <SID>vscodeGoToDefinition("Declaration")<CR>
|
||||
nnoremap gd <Cmd>call <SID>vscodeGoToDefinition("Definition")<CR>
|
||||
nnoremap <C-]> <Cmd>call <SID>vscodeGoToDefinition("Definition")<CR>
|
||||
nnoremap gO <Cmd>call VSCodeNotify('workbench.action.gotoSymbol')<CR>
|
||||
nnoremap gF <Cmd>call VSCodeNotify('editor.action.peekDeclaration')<CR>
|
||||
nnoremap gD <Cmd>call VSCodeNotify('editor.action.peekDefinition')<CR>
|
||||
nnoremap gH <Cmd>call VSCodeNotify('editor.action.referenceSearch.trigger')<CR>
|
||||
|
||||
xnoremap K <Cmd>call VSCodeNotify('editor.action.showHover')<CR>
|
||||
xnoremap gh <Cmd>call VSCodeNotify('editor.action.showHover')<CR>
|
||||
xnoremap gf <Cmd>call <SID>vscodeGoToDefinition("Declaration")<CR>
|
||||
xnoremap gd <Cmd>call <SID>vscodeGoToDefinition("Definition")<CR>
|
||||
xnoremap <C-]> <Cmd>call <SID>vscodeGoToDefinition("Definition")<CR>
|
||||
xnoremap gO <Cmd>call VSCodeNotify('workbench.action.gotoSymbol')<CR>
|
||||
xnoremap gF <Cmd>call VSCodeNotify('editor.action.peekDeclaration')<CR>
|
||||
xnoremap gD <Cmd>call VSCodeNotify('editor.action.peekDefinition')<CR>
|
||||
xnoremap gH <Cmd>call VSCodeNotify('editor.action.referenceSearch.trigger')<CR>
|
||||
|
||||
" <C-w> gf opens definition on the side
|
||||
nnoremap <C-w>gf <Cmd>call VSCodeNotify('editor.action.revealDefinitionAside')<CR>
|
||||
nnoremap <C-w>gd <Cmd>call VSCodeNotify('editor.action.revealDefinitionAside')<CR>
|
||||
xnoremap <C-w>gf <Cmd>call VSCodeNotify('editor.action.revealDefinitionAside')<CR>
|
||||
xnoremap <C-w>gd <Cmd>call VSCodeNotify('editor.action.revealDefinitionAside')<CR>
|
||||
|
||||
" Bind C-/ to vscode commentary since calling from vscode produces double comments due to multiple cursors
|
||||
xnoremap <expr> <C-/> <SID>vscodeCommentary()
|
||||
nnoremap <expr> <C-/> <SID>vscodeCommentary() . '_'
|
||||
|
||||
" open quickfix menu for spelling corrections and refactoring
|
||||
" only keyboard arrows can be used to navigate, for a solution, see https://github.com/asvetliakov/vscode-neovim#keyboard-quickfix
|
||||
nnoremap z= <Cmd>call VSCodeNotify('editor.action.quickFix')<CR>
|
||||
|
||||
" workaround for calling command picker in visual mode
|
||||
xnoremap <C-P> <Cmd>call <SID>openVSCodeCommandsInVisualMode()<CR>
|
||||
63
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-file-commands.vim
vendored
Normal file
63
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-file-commands.vim
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
function! s:editOrNew(...)
|
||||
let file = a:1
|
||||
let bang = a:2
|
||||
|
||||
if empty(file)
|
||||
if bang ==# '!'
|
||||
call VSCodeNotify('workbench.action.files.revert')
|
||||
else
|
||||
call VSCodeNotify('workbench.action.quickOpen')
|
||||
endif
|
||||
else
|
||||
" Last arg is to close previous file, e.g. e! ~/blah.txt will open blah.txt instead the current file
|
||||
call VSCodeExtensionNotify('open-file', expand(file), bang ==# '!' ? 1 : 0)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:saveAndClose() abort
|
||||
call VSCodeCall('workbench.action.files.save')
|
||||
call VSCodeNotify('workbench.action.closeActiveEditor')
|
||||
endfunction
|
||||
|
||||
function! s:saveAllAndClose() abort
|
||||
call VSCodeCall('workbench.action.files.saveAll')
|
||||
call VSCodeNotify('workbench.action.closeAllEditors')
|
||||
endfunction
|
||||
|
||||
" command! -bang -nargs=? Edit call VSCodeCall('workbench.action.quickOpen')
|
||||
command! -complete=file -bang -nargs=? Edit call <SID>editOrNew(<q-args>, <q-bang>)
|
||||
command! -bang -nargs=? Ex call <SID>editOrNew(<q-args>, <q-bang>)
|
||||
command! -bang Enew call <SID>editOrNew('__vscode_new__', <q-bang>)
|
||||
command! -bang Find call VSCodeNotify('workbench.action.quickOpen')
|
||||
|
||||
command! -complete=file -bang Write if <q-bang> ==# '!' | call VSCodeNotify('workbench.action.files.saveAs') | else | call VSCodeNotify('workbench.action.files.save') | endif
|
||||
command! -bang Saveas call VSCodeNotify('workbench.action.files.saveAs')
|
||||
|
||||
command! -bang Wall call VSCodeNotify('workbench.action.files.saveAll')
|
||||
command! -bang Quit if <q-bang> ==# '!' | call VSCodeNotify('workbench.action.revertAndCloseActiveEditor') | else | call VSCodeNotify('workbench.action.closeActiveEditor') | endif
|
||||
|
||||
command! -bang Wq call <SID>saveAndClose()
|
||||
command! -bang Xit call <SID>saveAndClose()
|
||||
|
||||
command! -bang Qall call VSCodeNotify('workbench.action.closeAllEditors')
|
||||
|
||||
command! -bang Wqall call <SID>saveAllAndClose()
|
||||
command! -bang Xall call <SID>saveAllAndClose()
|
||||
|
||||
AlterCommand e[dit] Edit
|
||||
AlterCommand ex Ex
|
||||
AlterCommand ene[w] Enew
|
||||
AlterCommand fin[d] Find
|
||||
AlterCommand w[rite] Write
|
||||
AlterCommand sav[eas] Saveas
|
||||
AlterCommand wa[ll] Wall
|
||||
AlterCommand q[uit] Quit
|
||||
AlterCommand wq Wq
|
||||
AlterCommand x[it] Xit
|
||||
AlterCommand qa[ll] Qall
|
||||
AlterCommand wqa[ll] Wqall
|
||||
AlterCommand xa[ll] Xall
|
||||
|
||||
nnoremap ZZ <Cmd>Wq<CR>
|
||||
nnoremap ZQ <Cmd>Quit!<CR>
|
||||
31
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-insert.vim
vendored
Normal file
31
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-insert.vim
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
function! s:vscodePrepareMultipleCursors(append, skipEmpty)
|
||||
let m = mode()
|
||||
if m ==# 'V' || m ==# "\<C-v>"
|
||||
let b:notifyMultipleCursors = 1
|
||||
let b:multipleCursorsVisualMode = m
|
||||
let b:multipleCursorsAppend = a:append
|
||||
let b:multipleCursorsSkipEmpty = a:skipEmpty
|
||||
" We need to start insert, then spawn cursors otherwise they'll be destroyed
|
||||
" using feedkeys() here because :startinsert is being delayed
|
||||
call feedkeys("\<Esc>i", 'n')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:vscodeNotifyMultipleCursors()
|
||||
if exists('b:notifyMultipleCursors') && b:notifyMultipleCursors
|
||||
let b:notifyMultipleCursors = 0
|
||||
call VSCodeExtensionNotify('visual-edit', b:multipleCursorsAppend, b:multipleCursorsVisualMode, line("'<"), line("'>"), col("'>"), b:multipleCursorsSkipEmpty)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
augroup MultipleCursors
|
||||
autocmd!
|
||||
autocmd InsertEnter * call <SID>vscodeNotifyMultipleCursors()
|
||||
augroup END
|
||||
|
||||
" Multiple cursors support for visual line/block modes
|
||||
xnoremap ma <Cmd>call <SID>vscodePrepareMultipleCursors(1, 1)<CR>
|
||||
xnoremap mi <Cmd>call <SID>vscodePrepareMultipleCursors(0, 1)<CR>
|
||||
xnoremap mA <Cmd>call <SID>vscodePrepareMultipleCursors(1, 0)<CR>
|
||||
xnoremap mI <Cmd>call <SID>vscodePrepareMultipleCursors(0, 0)<CR>
|
||||
4
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-jumplist.vim
vendored
Normal file
4
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-jumplist.vim
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
nnoremap <C-o> <Cmd>call VSCodeNotify("workbench.action.navigateBack")<CR>
|
||||
nnoremap <C-i> <Cmd>call VSCodeNotify("workbench.action.navigateForward")<CR>
|
||||
nnoremap <Tab> <Cmd>call VSCodeNotify("workbench.action.navigateForward")<CR>
|
||||
|
||||
16
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-motion.vim
vendored
Normal file
16
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-motion.vim
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
function! s:toFirstCharOfScreenLine()
|
||||
call VSCodeNotify('cursorMove', { 'to': 'wrappedLineFirstNonWhitespaceCharacter' })
|
||||
endfunction
|
||||
|
||||
function! s:toLastCharOfScreenLine()
|
||||
call VSCodeNotify('cursorMove', { 'to': 'wrappedLineLastNonWhitespaceCharacter' })
|
||||
" Offfset cursor moving to the right caused by calling VSCode command in Vim mode
|
||||
call VSCodeNotify('cursorLeft')
|
||||
endfunction
|
||||
|
||||
nnoremap g0 <Cmd>call <SID>toFirstCharOfScreenLine()<CR>
|
||||
nnoremap g$ <Cmd>call <SID>toLastCharOfScreenLine()<CR>
|
||||
|
||||
" Note: Using these in macro will break it
|
||||
nnoremap gk <Cmd>call VSCodeNotify('cursorMove', { 'to': 'up', 'by': 'wrappedLine', 'value': v:count ? v:count : 1 })<CR>
|
||||
nnoremap gj <Cmd>call VSCodeNotify('cursorMove', { 'to': 'down', 'by': 'wrappedLine', 'value': v:count ? v:count : 1 })<CR>
|
||||
153
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-neovim.vim
vendored
Normal file
153
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-neovim.vim
vendored
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
" Set global flag to allow checking in custom user config
|
||||
let g:vscode = 1
|
||||
|
||||
let s:currDir = fnamemodify(resolve(expand('<sfile>:p')), ':h')
|
||||
" Adjust rtp path
|
||||
let &runtimepath = &runtimepath . ',' . s:currDir . '/vim-altercmd'
|
||||
|
||||
" Used to execute vscode command
|
||||
let s:vscodeCommandEventName = 'vscode-command'
|
||||
" Used to execute vscode command with some range (the specified range will be selected and the command will be executed on this range)
|
||||
let s:vscodeRangeCommandEventName = 'vscode-range-command'
|
||||
" Used for externsion inter-communications
|
||||
let s:vscodePluginEventName = 'vscode-neovim'
|
||||
|
||||
" RPC and global functions
|
||||
|
||||
function! VSCodeCall(cmd, ...) abort
|
||||
call rpcrequest(g:vscode_channel, s:vscodeCommandEventName, a:cmd, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeCallRange(cmd, line1, line2, leaveSelection, ...) abort
|
||||
call rpcrequest(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, 0, 0, a:leaveSelection, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeCallRangePos(cmd, line1, line2, pos1, pos2, leaveSelection, ...) abort
|
||||
call rpcrequest(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, a:pos1, a:pos2, a:leaveSelection, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeNotify(cmd, ...)
|
||||
call rpcnotify(g:vscode_channel, s:vscodeCommandEventName, a:cmd, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeNotifyRange(cmd, line1, line2, leaveSelection, ...)
|
||||
call rpcnotify(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, 0, 0, a:leaveSelection, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeNotifyRangePos(cmd, line1, line2, pos1, pos2, leaveSelection, ...)
|
||||
call rpcnotify(g:vscode_channel, s:vscodeRangeCommandEventName, a:cmd, a:line1, a:line2, a:pos1, a:pos2, a:leaveSelection, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeExtensionCall(cmd, ...) abort
|
||||
call rpcrequest(g:vscode_channel, s:vscodePluginEventName, a:cmd, a:000)
|
||||
endfunction
|
||||
|
||||
function! VSCodeExtensionNotify(cmd, ...) abort
|
||||
call rpcnotify(g:vscode_channel, s:vscodePluginEventName, a:cmd, a:000)
|
||||
endfunction
|
||||
|
||||
" Called from extension when opening/creating new file in vscode to reset undo tree
|
||||
function! VSCodeClearUndo(bufId)
|
||||
let oldlevels = &undolevels
|
||||
call nvim_buf_set_option(a:bufId, 'undolevels', -1)
|
||||
call nvim_buf_set_lines(a:bufId, 0, 0, 0, [])
|
||||
call nvim_buf_set_option(a:bufId, 'undolevels', oldlevels)
|
||||
unlet oldlevels
|
||||
endfunction
|
||||
|
||||
" Called from extension to align screen row in neovim after scrolling
|
||||
" function! VSCodeAlignScreenRow(row)
|
||||
" let currentRow = winline()
|
||||
" let diff = abs(currentRow - a:row)
|
||||
" if diff > 0
|
||||
" if (a:row - currentRow) < 0
|
||||
" if diff > 1
|
||||
" silent! exe "normal! " . diff . "\<C-e>"
|
||||
" else
|
||||
" silent! exe "normal! \<C-e>"
|
||||
" endif
|
||||
" else
|
||||
" if diff > 1
|
||||
" silent! exe "normal! " . diff . "\<C-y>"
|
||||
" else
|
||||
" silent! exe "normal! \<C-y>"
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
" endfunction
|
||||
|
||||
" Set text decorations for given ranges. Used in easymotion
|
||||
function! VSCodeSetTextDecorations(hlName, rowsCols)
|
||||
call VSCodeExtensionNotify('text-decorations', a:hlName, a:rowsCols)
|
||||
endfunction
|
||||
|
||||
" Used for ctrl-a insert keybinding
|
||||
function! VSCodeGetLastInsertText()
|
||||
let [lineStart, colStart] = getpos("'[")[1:2]
|
||||
let [lineEnd, colEnd] = getpos("']")[1:2]
|
||||
if (lineStart == 0)
|
||||
return []
|
||||
endif
|
||||
let lines = getline(lineStart, lineEnd)
|
||||
let lines[0] = lines[0][colStart - 1:]
|
||||
let lines[-1] = lines[-1][:colEnd - 1]
|
||||
return lines
|
||||
endfunction
|
||||
|
||||
" Used for ctrl-r [reg] insert keybindings
|
||||
function! VSCodeGetRegister(reg)
|
||||
return getreg(a:reg)
|
||||
endfunction
|
||||
|
||||
" This is called by extension when created new buffer
|
||||
function! s:onBufEnter(name, id)
|
||||
if exists('b:vscode_temp') && b:vscode_temp
|
||||
return
|
||||
endif
|
||||
set conceallevel=0
|
||||
let tabstop = &tabstop
|
||||
let isJumping = 0
|
||||
if exists('g:isJumping')
|
||||
let isJumping = g:isJumping
|
||||
endif
|
||||
call VSCodeExtensionCall('external-buffer', a:name, a:id, 1, tabstop, isJumping)
|
||||
endfunction
|
||||
|
||||
function! s:runFileTypeDetection()
|
||||
doautocmd BufRead
|
||||
if exists('b:vscode_controlled') && b:vscode_controlled
|
||||
" make sure we disable syntax (global option seems doesn't take effect for 2nd+ windows)
|
||||
setlocal syntax=off
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:onInsertEnter()
|
||||
let reg = reg_recording()
|
||||
if !empty(reg)
|
||||
call VSCodeExtensionCall('notify-recording', reg)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
" Load altercmd first
|
||||
execute 'source ' . s:currDir . '/vim-altercmd/plugin/altercmd.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-insert.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-scrolling.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-jumplist.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-code-actions.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-file-commands.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-tab-commands.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-window-commands.vim'
|
||||
execute 'source ' . s:currDir . '/vscode-motion.vim'
|
||||
|
||||
augroup VscodeGeneral
|
||||
autocmd!
|
||||
" autocmd BufWinEnter,WinNew,WinEnter * :only
|
||||
autocmd BufWinEnter * call <SID>onBufEnter(expand('<afile>'), expand('<abuf>'))
|
||||
" Help and other buffer types may explicitly disable line numbers - reenable them, !important - set nowrap since it may be overriden and this option is crucial for now
|
||||
" autocmd FileType * :setlocal conceallevel=0 | :setlocal number | :setlocal numberwidth=8 | :setlocal nowrap | :setlocal nofoldenable
|
||||
autocmd InsertEnter * call <SID>onInsertEnter()
|
||||
autocmd BufAdd * call <SID>runFileTypeDetection()
|
||||
" Looks like external windows are coming with "set wrap" set automatically, disable them
|
||||
" autocmd WinNew,WinEnter * :set nowrap
|
||||
augroup END
|
||||
86
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-options.vim
vendored
Normal file
86
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-options.vim
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
" This file used to force set neovim options which may break the extension. Loaded after user config
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
set shortmess=filnxtToOFI
|
||||
set nowrap
|
||||
set mouse=a
|
||||
set cmdheight=1
|
||||
set wildmode=list
|
||||
set wildchar=<C-e>
|
||||
|
||||
set nobackup
|
||||
set nowb
|
||||
set noswapfile
|
||||
set noautoread
|
||||
set scrolloff=100
|
||||
set conceallevel=0
|
||||
set nocursorline
|
||||
|
||||
" do not hide buffers
|
||||
" set nohidden
|
||||
set hidden
|
||||
set bufhidden=hide
|
||||
" do not attempt autowrite any buffers
|
||||
set noautowrite
|
||||
" Disable shada session storing
|
||||
" set shada=
|
||||
" set nonumber
|
||||
set norelativenumber
|
||||
" Render line number as "marker" of the visible top/bottom screen row
|
||||
set nonumber
|
||||
" up to 10 000 000
|
||||
" set numberwidth=8
|
||||
" Need to know tabs for HL
|
||||
set listchars=tab:❥♥
|
||||
set list
|
||||
" Allow to use vim HL for external buffers, vscode buffers explicitly disable it
|
||||
syntax on
|
||||
set signcolumn=no
|
||||
|
||||
" Disable statusline and ruler since we don't need them anyway
|
||||
set statusline=
|
||||
set laststatus=0
|
||||
set noruler
|
||||
|
||||
" Disable modeline processing. It's being used for tab related settings usually and we don't want to override ours
|
||||
set nomodeline
|
||||
set modelines=0
|
||||
|
||||
" Turn off auto-folding
|
||||
set nofoldenable
|
||||
set foldmethod=manual
|
||||
|
||||
" Turn on auto-indenting
|
||||
set autoindent
|
||||
set smartindent
|
||||
|
||||
" split/nosplit doesn't work currently, see https://github.com/asvetliakov/vscode-neovim/issues/329
|
||||
set inccommand=
|
||||
|
||||
" lazyredraw breaks the movement
|
||||
set nolazyredraw
|
||||
|
||||
function s:forceLocalOptions()
|
||||
setlocal nowrap
|
||||
setlocal conceallevel=0
|
||||
setlocal scrolloff=100
|
||||
setlocal hidden
|
||||
setlocal bufhidden=hide
|
||||
setlocal noautowrite
|
||||
setlocal nonumber
|
||||
setlocal norelativenumber
|
||||
setlocal list
|
||||
setlocal listchars=tab:❥♥
|
||||
if exists('b:vscode_controlled') && b:vscode_controlled
|
||||
setlocal syntax=off
|
||||
endif
|
||||
setlocal nofoldenable
|
||||
setlocal foldmethod=manual
|
||||
setlocal nolazyredraw
|
||||
endfunction
|
||||
|
||||
augroup VscodeForceOptions
|
||||
autocmd!
|
||||
autocmd BufEnter,FileType * call <SID>forceLocalOptions()
|
||||
augroup END
|
||||
46
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-scrolling.vim
vendored
Normal file
46
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-scrolling.vim
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
function s:reveal(direction, resetCursor)
|
||||
call VSCodeExtensionNotify('reveal', a:direction, a:resetCursor)
|
||||
endfunction
|
||||
|
||||
nnoremap z<CR> <Cmd>call <SID>reveal('top', 1)<CR>
|
||||
xnoremap z<CR> <Cmd>call <SID>reveal('top', 1)<CR>
|
||||
nnoremap zt <Cmd>call <SID>reveal('top', 0)<CR>
|
||||
xnoremap zt <Cmd>call <SID>reveal('top', 0)<CR>
|
||||
nnoremap z. <Cmd>call <SID>reveal('center', 1)<CR>
|
||||
xnoremap z. <Cmd>call <SID>reveal('center', 1)<CR>
|
||||
nnoremap zz <Cmd>call <SID>reveal('center', 0)<CR>
|
||||
xnoremap zz <Cmd>call <SID>reveal('center', 0)<CR>
|
||||
nnoremap z- <Cmd>call <SID>reveal('bottom', 1)<CR>
|
||||
xnoremap z- <Cmd>call <SID>reveal('bottom', 1)<CR>
|
||||
nnoremap zb <Cmd>call <SID>reveal('bottom', 0)<CR>
|
||||
xnoremap zb <Cmd>call <SID>reveal('bottom', 0)<CR>
|
||||
|
||||
|
||||
function s:moveCursor(to)
|
||||
" Native VSCode commands don't register jumplist. Fix by registering jumplist in Vim e.g. for subsequent use of <C-o>
|
||||
normal! m'
|
||||
call VSCodeExtensionNotify('move-cursor', a:to)
|
||||
endfunction
|
||||
|
||||
nnoremap H <Cmd>call <SID>moveCursor('top')<CR>
|
||||
xnoremap H <Cmd>call <SID>moveCursor('top')<CR>
|
||||
nnoremap M <Cmd>call <SID>moveCursor('middle')<CR>
|
||||
xnoremap M <Cmd>call <SID>moveCursor('middle')<CR>
|
||||
nnoremap L <Cmd>call <SID>moveCursor('bottom')<CR>
|
||||
xnoremap L <Cmd>call <SID>moveCursor('bottom')<CR>
|
||||
|
||||
" Disabled due to scroll problems (the ext binds them directly)
|
||||
" nnoremap <silent> <expr> <C-d> VSCodeExtensionCall('scroll', 'halfPage', 'down')
|
||||
" xnoremap <silent> <expr> <C-d> VSCodeExtensionCall('scroll', 'halfPage', 'down')
|
||||
" nnoremap <silent> <expr> <C-u> VSCodeExtensionCall('scroll', 'halfPage', 'up')
|
||||
" xnoremap <silent> <expr> <C-u> VSCodeExtensionCall('scroll', 'halfPage', 'up')
|
||||
|
||||
" nnoremap <silent> <expr> <C-f> VSCodeExtensionCall('scroll', 'page', 'down')
|
||||
" xnoremap <silent> <expr> <C-f> VSCodeExtensionCall('scroll', 'page', 'down')
|
||||
" nnoremap <silent> <expr> <C-b> VSCodeExtensionCall('scroll', 'page', 'up')
|
||||
" xnoremap <silent> <expr> <C-b> VSCodeExtensionCall('scroll', 'page', 'up')
|
||||
|
||||
" nnoremap <silent> <expr> <C-e> VSCodeExtensionNotify('scroll-line', 'down')
|
||||
" xnoremap <silent> <expr> <C-e> VSCodeExtensionNotify('scroll-line', 'down')
|
||||
" nnoremap <silent> <expr> <C-y> VSCodeExtensionNotify('scroll-line', 'up')
|
||||
" xnoremap <silent> <expr> <C-y> VSCodeExtensionNotify('scroll-line', 'up')
|
||||
40
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-tab-commands.vim
vendored
Normal file
40
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-tab-commands.vim
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
function! s:switchEditor(...) abort
|
||||
let count = a:1
|
||||
let direction = a:2
|
||||
for i in range(1, count ? count : 1)
|
||||
call VSCodeCall(direction ==# 'next' ? 'workbench.action.nextEditorInGroup' : 'workbench.action.previousEditorInGroup')
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
command! -complete=file -nargs=? Tabedit if empty(<q-args>) | call VSCodeNotify('workbench.action.quickOpen') | else | call VSCodeExtensionNotify('open-file', expand(<q-args>), 0) | endif
|
||||
command! -complete=file Tabnew call VSCodeExtensionNotify('open-file', '__vscode_new__', 0)
|
||||
command! Tabfind call VSCodeNotify('workbench.action.quickOpen')
|
||||
command! Tab echoerr 'Not supported'
|
||||
command! Tabs echoerr 'Not supported'
|
||||
command! -bang Tabclose if <q-bang> ==# '!' | call VSCodeNotify('workbench.action.revertAndCloseActiveEditor') | else | call VSCodeNotify('workbench.action.closeActiveEditor') | endif
|
||||
command! Tabonly call VSCodeNotify('workbench.action.closeOtherEditors')
|
||||
command! -nargs=? Tabnext call <SID>switchEditor(<q-args>, 'next')
|
||||
command! -nargs=? Tabprevious call <SID>switchEditor(<q-args>, 'prev')
|
||||
command! Tabfirst call VSCodeNotify('workbench.action.firstEditorInGroup')
|
||||
command! Tablast call VSCodeNotify('workbench.action.lastEditorInGroup')
|
||||
command! Tabrewind call VSCodeNotify('workbench.action.firstEditorInGroup')
|
||||
command! -nargs=? Tabmove echoerr 'Not supported yet'
|
||||
|
||||
AlterCommand tabe[dit] Tabedit
|
||||
AlterCommand tabnew Tabnew
|
||||
AlterCommand tabf[ind] Tabfind
|
||||
AlterCommand tab Tab
|
||||
AlterCommand tabs Tabs
|
||||
AlterCommand tabc[lose] Tabclose
|
||||
AlterCommand tabo[nly] Tabonly
|
||||
AlterCommand tabn[ext] Tabnext
|
||||
AlterCommand tabp[revious] Tabprevious
|
||||
AlterCommand tabr[ewind] Tabrewind
|
||||
AlterCommand tabfir[st] Tabfirst
|
||||
AlterCommand tabl[ast] Tablast
|
||||
AlterCommand tabm[ove] Tabmove
|
||||
|
||||
nnoremap gt <Cmd>call <SID>switchEditor(v:count, 'next')<CR>
|
||||
xnoremap gt <Cmd>call <SID>switchEditor(v:count, 'next')<CR>
|
||||
nnoremap gT <Cmd>call <SID>switchEditor(v:count, 'prev')<CR>
|
||||
xnoremap gT <Cmd>call <SID>switchEditor(v:count, 'prev')<CR>
|
||||
158
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-window-commands.vim
vendored
Normal file
158
.vscode/extensions/asvetliakov.vscode-neovim-0.0.82/vim/vscode-window-commands.vim
vendored
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
|
||||
function! s:split(...) abort
|
||||
let direction = a:1
|
||||
let file = exists('a:2') ? a:2 : ''
|
||||
call VSCodeCall(direction ==# 'h' ? 'workbench.action.splitEditorDown' : 'workbench.action.splitEditorRight')
|
||||
if !empty(file)
|
||||
call VSCodeExtensionNotify('open-file', expand(file), 'all')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:splitNew(...)
|
||||
let file = a:2
|
||||
call s:split(a:1, empty(file) ? '__vscode_new__' : file)
|
||||
endfunction
|
||||
|
||||
function! s:closeOtherEditors()
|
||||
call VSCodeNotify('workbench.action.closeEditorsInOtherGroups')
|
||||
call VSCodeNotify('workbench.action.closeOtherEditors')
|
||||
endfunction
|
||||
|
||||
function! s:manageEditorHeight(...)
|
||||
let count = a:1
|
||||
let to = a:2
|
||||
for i in range(1, count ? count : 1)
|
||||
call VSCodeNotify(to ==# 'increase' ? 'workbench.action.increaseViewHeight' : 'workbench.action.decreaseViewHeight')
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:manageEditorWidth(...)
|
||||
let count = a:1
|
||||
let to = a:2
|
||||
for i in range(1, count ? count : 1)
|
||||
call VSCodeNotify(to ==# 'increase' ? 'workbench.action.increaseViewWidth' : 'workbench.action.decreaseViewWidth')
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
command! -complete=file -nargs=? Split call <SID>split('h', <q-args>)
|
||||
command! -complete=file -nargs=? Vsplit call <SID>split('v', <q-args>)
|
||||
command! -complete=file -nargs=? New call <SID>split('h', '__vscode_new__')
|
||||
command! -complete=file -nargs=? Vnew call <SID>split('v', '__vscode_new__')
|
||||
command! -bang Only if <q-bang> ==# '!' | call <SID>closeOtherEditors() | else | call VSCodeNotify('workbench.action.joinAllGroups') | endif
|
||||
|
||||
AlterCommand sp[lit] Split
|
||||
AlterCommand vs[plit] Vsplit
|
||||
AlterCommand new New
|
||||
AlterCommand vne[w] Vnew
|
||||
AlterCommand on[ly] Only
|
||||
|
||||
" buffer management
|
||||
nnoremap <C-w>n <Cmd>call <SID>splitNew('h', '__vscode_new__')<CR>
|
||||
xnoremap <C-w>n <Cmd>call <SID>splitNew('h', '__vscode_new__')<CR>
|
||||
|
||||
nnoremap <C-w>q <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
xnoremap <C-w>q <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
nnoremap <C-w>c <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
xnoremap <C-w>c <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
nnoremap <C-w><C-c> <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
xnoremap <C-w><C-c> <Cmd>call VSCodeNotify('workbench.action.closeActiveEditor')<CR>
|
||||
|
||||
" window/splits management
|
||||
nnoremap <C-w>s <Cmd>call <SID>split('h')<CR>
|
||||
xnoremap <C-w>s <Cmd>call <SID>split('h')<CR>
|
||||
nnoremap <C-w><C-s> <Cmd>call <SID>split('h')<CR>
|
||||
xnoremap <C-w><C-s> <Cmd>call <SID>split('h')<CR>
|
||||
|
||||
nnoremap <C-w>v <Cmd>call <SID>split('v')<CR>
|
||||
xnoremap <C-w>v <Cmd>call <SID>split('v')<CR>
|
||||
nnoremap <C-w><C-v> <Cmd>call <SID>split('v')<CR>
|
||||
xnoremap <C-w><C-v> <Cmd>call <SID>split('v')<CR>
|
||||
|
||||
nnoremap <C-w>= <Cmd>call VSCodeNotify('workbench.action.evenEditorWidths')<CR>
|
||||
xnoremap <C-w>= <Cmd>call VSCodeNotify('workbench.action.evenEditorWidths')<CR>
|
||||
nnoremap <C-w>_ <Cmd>call VSCodeNotify('workbench.action.toggleEditorWidths')<CR>
|
||||
xnoremap <C-w>_ <Cmd>call VSCodeNotify('workbench.action.toggleEditorWidths')<CR>
|
||||
|
||||
nnoremap <C-w>+ <Cmd>call <SID>manageEditorHeight(v:count, 'increase')<CR>
|
||||
xnoremap <C-w>+ <Cmd>call <SID>manageEditorHeight(v:count, 'increase')<CR>
|
||||
nnoremap <C-w>- <Cmd>call <SID>manageEditorHeight(v:count, 'decrease')<CR>
|
||||
xnoremap <C-w>- <Cmd>call <SID>manageEditorHeight(v:count, 'decrease')<CR>
|
||||
nnoremap <C-w>> <Cmd>call <SID>manageEditorWidth(v:count, 'increase')<CR>
|
||||
xnoremap <C-w>> <Cmd>call <SID>manageEditorWidth(v:count, 'increase')<CR>
|
||||
nnoremap <C-w>< <Cmd>call <SID>manageEditorWidth(v:count, 'decrease')<CR>
|
||||
xnoremap <C-w>< <Cmd>call <SID>manageEditorWidth(v:count, 'decrease')<CR>
|
||||
|
||||
nnoremap <C-w>o <Cmd>call VSCodeNotify('workbench.action.joinAllGroups')<CR>
|
||||
xnoremap <C-w>o <Cmd>call VSCodeNotify('workbench.action.joinAllGroups')<CR>
|
||||
nnoremap <C-w><C-o> <Cmd>call VSCodeNotify('workbench.action.joinAllGroups')<CR>
|
||||
xnoremap <C-w><C-o> <Cmd>call VSCodeNotify('workbench.action.joinAllGroups')<CR>
|
||||
|
||||
" window navigation
|
||||
nnoremap <C-w>j <Cmd>call VSCodeNotify('workbench.action.focusBelowGroup')<CR>
|
||||
xnoremap <C-w>j <Cmd>call VSCodeNotify('workbench.action.focusBelowGroup')<CR>
|
||||
nnoremap <C-w>k <Cmd>call VSCodeNotify('workbench.action.focusAboveGroup')<CR>
|
||||
xnoremap <C-w>k <Cmd>call VSCodeNotify('workbench.action.focusAboveGroup')<CR>
|
||||
nnoremap <C-w>h <Cmd>call VSCodeNotify('workbench.action.focusLeftGroup')<CR>
|
||||
xnoremap <C-w>h <Cmd>call VSCodeNotify('workbench.action.focusLeftGroup')<CR>
|
||||
nnoremap <C-w>l <Cmd>call VSCodeNotify('workbench.action.focusRightGroup')<CR>
|
||||
xnoremap <C-w>l <Cmd>call VSCodeNotify('workbench.action.focusRightGroup')<CR>
|
||||
|
||||
nnoremap <C-w><Down> <Cmd>call VSCodeNotify('workbench.action.focusBelowGroup')<CR>
|
||||
xnoremap <C-w><Down> <Cmd>call VSCodeNotify('workbench.action.focusBelowGroup')<CR>
|
||||
nnoremap <C-w><Up> <Cmd>call VSCodeNotify('workbench.action.focusAboveGroup')<CR>
|
||||
xnoremap <C-w><Up> <Cmd>call VSCodeNotify('workbench.action.focusAboveGroup')<CR>
|
||||
nnoremap <C-w><Left> <Cmd>call VSCodeNotify('workbench.action.focusLeftGroup')<CR>
|
||||
xnoremap <C-w><Left> <Cmd>call VSCodeNotify('workbench.action.focusLeftGroup')<CR>
|
||||
nnoremap <C-w><Right> <Cmd>call VSCodeNotify('workbench.action.focusRightGroup')<CR>
|
||||
xnoremap <C-w><Right> <Cmd>call VSCodeNotify('workbench.action.focusRightGroup')<CR>
|
||||
|
||||
nnoremap <C-w><C-j> <Cmd>call VSCodeNotify('workbench.action.moveEditorToBelowGroup')<CR>
|
||||
xnoremap <C-w><C-j> <Cmd>call VSCodeNotify('workbench.action.moveEditorToBelowGroup')<CR>
|
||||
nnoremap <C-w><C-i> <Cmd>call VSCodeNotify('workbench.action.moveEditorToAboveGroup')<CR>
|
||||
xnoremap <C-w><C-i> <Cmd>call VSCodeNotify('workbench.action.moveEditorToAboveGroup')<CR>
|
||||
nnoremap <C-w><C-h> <Cmd>call VSCodeNotify('workbench.action.moveEditorToLeftGroup')<CR>
|
||||
xnoremap <C-w><C-h> <Cmd>call VSCodeNotify('workbench.action.moveEditorToLeftGroup')<CR>
|
||||
nnoremap <C-w><C-l> <Cmd>call VSCodeNotify('workbench.action.moveEditorToRightGroup')<CR>
|
||||
xnoremap <C-w><C-l> <Cmd>call VSCodeNotify('workbench.action.moveEditorToRightGroup')<CR>
|
||||
|
||||
nnoremap <C-w><C-Down> <Cmd>call VSCodeNotify('workbench.action.moveEditorToBelowGroup')<CR>
|
||||
xnoremap <C-w><C-Down> <Cmd>call VSCodeNotify('workbench.action.moveEditorToBelowGroup')<CR>
|
||||
nnoremap <C-w><C-Up> <Cmd>call VSCodeNotify('workbench.action.moveEditorToAboveGroup')<CR>
|
||||
xnoremap <C-w><C-Up> <Cmd>call VSCodeNotify('workbench.action.moveEditorToAboveGroup')<CR>
|
||||
nnoremap <C-w><C-Left> <Cmd>call VSCodeNotify('workbench.action.moveEditorToLeftGroup')<CR>
|
||||
xnoremap <C-w><C-Left> <Cmd>call VSCodeNotify('workbench.action.moveEditorToLeftGroup')<CR>
|
||||
nnoremap <C-w><C-Right> <Cmd>call VSCodeNotify('workbench.action.moveEditorToRightGroup')<CR>
|
||||
xnoremap <C-w><C-Right> <Cmd>call VSCodeNotify('workbench.action.moveEditorToRightGroup')<CR>
|
||||
|
||||
nnoremap <C-w><S-j> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupDown')<CR>
|
||||
xnoremap <C-w><S-j> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupDown')<CR>
|
||||
nnoremap <C-w><S-k> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupUp')<CR>
|
||||
xnoremap <C-w><S-k> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupUp')<CR>
|
||||
nnoremap <C-w><S-h> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft')<CR>
|
||||
xnoremap <C-w><S-h> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft')<CR>
|
||||
nnoremap <C-w><S-l> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupRight')<CR>
|
||||
xnoremap <C-w><S-l> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupRight')<CR>
|
||||
|
||||
nnoremap <C-w><S-Down> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupDown')<CR>
|
||||
xnoremap <C-w><S-Down> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupDown')<CR>
|
||||
nnoremap <C-w><S-Up> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupUp')<CR>
|
||||
xnoremap <C-w><S-Up> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupUp')<CR>
|
||||
nnoremap <C-w><S-Left> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft')<CR>
|
||||
xnoremap <C-w><S-Left> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupLeft')<CR>
|
||||
nnoremap <C-w><S-Right> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupRight')<CR>
|
||||
xnoremap <C-w><S-Right> <Cmd>call VSCodeNotify('workbench.action.moveActiveEditorGroupRight')<CR>
|
||||
|
||||
nnoremap <C-w>w <Cmd>call VSCodeNotify('workbench.action.focusNextGroup')<CR>
|
||||
xnoremap <C-w>w <Cmd>call VSCodeNotify('workbench.action.focusNextGroup')<CR>
|
||||
nnoremap <C-w><C-w> <Cmd>call VSCodeNotify('workbench.action.focusNextGroup')<CR>
|
||||
xnoremap <C-w><C-w> <Cmd>call VSCodeNotify('workbench.action.focusNextGroup')<CR>
|
||||
nnoremap <C-w>W <Cmd>call VSCodeNotify('workbench.action.focusPreviousGroup')<CR>
|
||||
xnoremap <C-w>W <Cmd>call VSCodeNotify('workbench.action.focusPreviousGroup')<CR>
|
||||
nnoremap <C-w>p <Cmd>call VSCodeNotify('workbench.action.focusPreviousGroup')<CR>
|
||||
xnoremap <C-w>p <Cmd>call VSCodeNotify('workbench.action.focusPreviousGroup')<CR>
|
||||
|
||||
nnoremap <C-w>t <Cmd>call VSCodeNotify('workbench.action.focusFirstEditorGroup')<CR>
|
||||
xnoremap <C-w>t <Cmd>call VSCodeNotify('workbench.action.focusFirstEditorGroup')<CR>
|
||||
nnoremap <C-w>b <Cmd>call VSCodeNotify('workbench.action.focusLastEditorGroup')<CR>
|
||||
xnoremap <C-w>b <Cmd>call VSCodeNotify('workbench.action.focusLastEditorGroup')<CR>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue