More refactoring, leveraging after/ftplugin

This commit is contained in:
Vasili Sviridov
2020-08-10 15:29:04 -07:00
parent e12d093365
commit 4a9f7be2ef
6 changed files with 72 additions and 125 deletions

14
after/ftplugin/cs.vim Normal file
View File

@@ -0,0 +1,14 @@
let g:OmniSharp_selector_ui = 'ctrlp'
let g:OmniSharp_highlight_groups = {
\ 'csUserIdentifier': [
\ 'constant name', 'enum member name', 'field name', 'identifier',
\ 'local name', 'parameter name', 'property name', 'static symbol'],
\ 'csUserInterface': ['interface name'],
\ 'csUserMethod': ['extension method name', 'method name'],
\ 'csUserType': ['class name', 'enum name', 'namespace name', 'struct name']
\}
let g:OmniSharp_highlight_types = 2
nnoremap <buffer> <leader>D :OmniSharpGotoDefinition<CR>
nnoremap <buffer> <leader>cc :OmniSharpGlobalCodeCheck<CR>
nnoremap <buffer> <F12> :OmniSharpGetCodeActions<CR>

View File

@@ -0,0 +1,2 @@
setlocal suffixesadd='.js'
setlocal ai sw=2 sts=2 et

View File

@@ -0,0 +1,2 @@
setlocal suffixesadd='.ts'
setlocal suffixesadd='/index.ts'

View File

@@ -2,16 +2,16 @@ set encoding=utf-8
scriptencoding utf-8 scriptencoding utf-8
let s:plug_path=expand($MYVIM . '/autoload/plug.vim') let s:plug_path=expand($MYVIM . '/autoload/plug.vim')
let g:have_plug=filereadable(s:plug_path) let s:have_plug=filereadable(s:plug_path)
if(!g:have_plug && executable('curl')) if(!s:have_plug && executable('curl'))
echo 'Installing Plug' echo 'Installing Plug'
execute '!curl -fLo "' . s:plug_path . '" --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' execute '!curl -fLo "' . s:plug_path . '" --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
execute 'source ' . s:plug_path execute 'source ' . s:plug_path
let g:have_plug = 1 let s:have_plug = 1
endif endif
if(g:have_plug) if(s:have_plug)
let s:plugged=resolve($MYVIM . '/.cache/plugged') let s:plugged=resolve($MYVIM . '/.cache/plugged')
call plug#begin(s:plugged) call plug#begin(s:plugged)
@@ -39,10 +39,9 @@ if(g:have_plug)
Plug 'mattn/emmet-vim' " ZenCoding Plug 'mattn/emmet-vim' " ZenCoding
Plug 'sheerun/vim-polyglot' " Language Support Bundle Plug 'sheerun/vim-polyglot' " Language Support Bundle
Plug 'ianks/vim-tsx' Plug 'ianks/vim-tsx'
Plug 'OrangeT/vim-csharp' " C# Support " Plug 'OrangeT/vim-csharp' " C# Support
Plug 'mhinz/vim-signify' " Gutter signs, git, et al.
" Plug 'mhinz/vim-signify' " Gutter signs, git, et al.
" Plug 'sotte/presenting.vim' " Slides " Plug 'sotte/presenting.vim' " Slides
if v:version >= 800 if v:version >= 800
@@ -51,8 +50,11 @@ if(g:have_plug)
Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'Shougo/deoplete.nvim' " Autocomplete Support Plug 'Shougo/deoplete.nvim' " Autocomplete Support
Plug 'ruanyl/coverage.vim' " Code Coverage Support Plug 'ruanyl/coverage.vim' " Code Coverage Support
if executable('ctags')
Plug 'liuchengxu/vista.vim' " LSP Tagbar Plug 'liuchengxu/vista.vim' " LSP Tagbar
endif
Plug 'OmniSharp/omnisharp-vim' " .Net completion Plug 'OmniSharp/omnisharp-vim' " .Net completion
Plug 'nickspoons/vim-sharpenup' " OmniSharp Helpers
endif endif
if stridx($SHELL, 'fish') >= 0 if stridx($SHELL, 'fish') >= 0
@@ -83,40 +85,3 @@ let g:signify_vcs_list = [ 'git' ]
let g:neoformat_enabled_html = ['prettier'] let g:neoformat_enabled_html = ['prettier']
let g:neoformat_enabled_nginx = ['nginxbeautifier'] let g:neoformat_enabled_nginx = ['nginxbeautifier']
let g:OmniSharp_server_stdio = 1
let g:OmniSharp_selector_ui = 'ctrlp'
let g:OmniSharp_highlight_groups = {
\ 'csUserIdentifier': [
\ 'constant name', 'enum member name', 'field name', 'identifier',
\ 'local name', 'parameter name', 'property name', 'static symbol'],
\ 'csUserInterface': ['interface name'],
\ 'csUserMethod': ['extension method name', 'method name'],
\ 'csUserType': ['class name', 'enum name', 'namespace name', 'struct name']
\}
let g:OmniSharp_highlight_types = 2
sign define OmniSharpCodeActions text=💡
augroup OSCountCodeActions
autocmd!
autocmd FileType cs set signcolumn=yes
autocmd CursorHold *.cs call OSCountCodeActions()
augroup END
function! OSCountCodeActions() abort
if bufname('%') ==# '' || OmniSharp#FugitiveCheck() | return | endif
if !OmniSharp#IsServerRunning() | return | endif
let l:opts = {
\ 'CallbackCount': function('s:CBReturnCount'),
\ 'CallbackCleanup': {-> execute('sign unplace 99')}
\}
call OmniSharp#CountCodeActions(l:opts)
endfunction
function! s:CBReturnCount(count) abort
if a:count
let l:l = getpos('.')[1]
let l:f = expand('%:p')
execute ':sign place 99 line='.l:l.' name=OmniSharpCodeActions file='.l:f
endif
endfunction

View File

@@ -4,7 +4,7 @@ noremap <silent><leader>w :update<cr>
inoremap <silent><leader>w <Esc>:update<cr>a inoremap <silent><leader>w <Esc>:update<cr>a
cmap w!! w !sudo tee % >/dev/null cmap w!! w !sudo tee % >/dev/null
cnoremap <expr> %% getcmdtype() == ':' ? expand('%:p:h') . '/' : '%%' cnoremap <expr> %% getcmdtype() == ':' ? expand('%:p:h') . '\' : '%%'
cnoremap <expr> %b getcmdtype() == ':' ? expand('%:p:r') : '%b' cnoremap <expr> %b getcmdtype() == ':' ? expand('%:p:r') : '%b'
"Remove search highlight when <Esc> is pressed "Remove search highlight when <Esc> is pressed

View File

@@ -1,7 +1,10 @@
if has('autocmd') if !has('autocmd')
filetype plugin indent on finish
endif
augroup InvisibleCharsHighlight filetype plugin indent on
augroup InvisibleCharsHighlight
au! au!
autocmd ColorScheme * :call ResetColors() autocmd ColorScheme * :call ResetColors()
@@ -11,78 +14,39 @@
highlight NonText guifg=#4a4a59 highlight NonText guifg=#4a4a59
highlight SpecialKey guifg=#4a4a59 highlight SpecialKey guifg=#4a4a59
endfun endfun
augroup END augroup END
augroup InsertTimer augroup InsertTimer
au! au!
"Autoexit to normal mode after 15 seconds of inactivity "Autoexit to normal mode after 15 seconds of inactivity
autocmd CursorHoldI * stopinsert autocmd CursorHoldI * stopinsert
autocmd InsertEnter * let updaterestore=&updatetime | set updatetime=15000 autocmd InsertEnter * let updaterestore=&updatetime | set updatetime=15000
autocmd InsertLeave * let &updatetime=updaterestore autocmd InsertLeave * let &updatetime=updaterestore
augroup END augroup END
augroup vimrc augroup vimrc
"Automatically reload VIMRC file after saving "Automatically reload VIMRC file after saving
au! au!
autocmd bufwritepost $MYVIMRC source $MYVIMRC autocmd bufwritepost $MYVIMRC source $MYVIMRC
if (exists('g:loaded_airline') && g:loaded_airline) if (exists('g:loaded_airline') && g:loaded_airline)
autocmd bufwritepost $MYVIMRC AirlineRefresh autocmd bufwritepost $MYVIMRC AirlineRefresh
endif endif
augroup END augroup END
augroup diffmode augroup diffmode
au! au!
" Mappings for diff mode " Mappings for diff mode
autocmd filterwritepre * if &diff | map <leader>{ :diffget LOCAL<cr>| endif autocmd filterwritepre * if &diff | map <leader>{ :diffget LOCAL<cr>| endif
autocmd filterwritepre * if &diff | map <leader>\| :diffget BASE<cr>| endif autocmd filterwritepre * if &diff | map <leader>\| :diffget BASE<cr>| endif
autocmd filterwritepre * if &diff | map <leader>} :diffget REMOTE<cr>| endif autocmd filterwritepre * if &diff | map <leader>} :diffget REMOTE<cr>| endif
augroup END augroup END
augroup javascript augroup Dockerfile
"Custom mappings
au!
autocmd FileType javascript set ai sw=2 sts=2 et
augroup END
augroup typescript
au!
augroup END
augroup Dockerfile
au! au!
au BufNewFile,BufRead *.dockerfile setf dockerfile au BufNewFile,BufRead *.dockerfile setf dockerfile
augroup END augroup END
augroup suffixes augroup Signs
autocmd!
let g:associations = [
\['typescript', '.ts'],
\['typescript', '/index.ts'],
\['javascript', '.js']
\]
for g:ft in g:associations
execute 'autocmd FileType ' . g:ft[0] . ' setlocal suffixesadd=' . g:ft[1]
endfor
unlet g:associations
unlet g:ft
augroup END
augroup Omnisharp
au!
autocmd CursorHold *.cs call OmniSharp#TypeLookupWithoutDocumentation()
autocmd FileType cs nnoremap <buffer> <leader>D :OmniSharpGotoDefinition<CR>
autocmd FileType cs nnoremap <buffer> <Leader>cc :OmniSharpGlobalCodeCheck<CR>
autocmd FileType cs nnoremap <F12> :OmniSharpGetCodeActions<CR>
augroup END
augroup Signs
autocmd BufEnter * sign define dummy autocmd BufEnter * sign define dummy
autocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('') autocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('')
augroup end augroup end
endif