diff --git a/after/ftplugin/cs.vim b/after/ftplugin/cs.vim new file mode 100644 index 0000000..9603933 --- /dev/null +++ b/after/ftplugin/cs.vim @@ -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 D :OmniSharpGotoDefinition +nnoremap cc :OmniSharpGlobalCodeCheck +nnoremap :OmniSharpGetCodeActions diff --git a/after/ftplugin/javascript.vim b/after/ftplugin/javascript.vim new file mode 100644 index 0000000..dba1646 --- /dev/null +++ b/after/ftplugin/javascript.vim @@ -0,0 +1,2 @@ +setlocal suffixesadd='.js' +setlocal ai sw=2 sts=2 et diff --git a/after/ftplugin/typescript.vim b/after/ftplugin/typescript.vim new file mode 100644 index 0000000..fa24ca8 --- /dev/null +++ b/after/ftplugin/typescript.vim @@ -0,0 +1,2 @@ +setlocal suffixesadd='.ts' +setlocal suffixesadd='/index.ts' diff --git a/config/01-plugins.vim b/config/01-plugins.vim index f6169af..ee70163 100644 --- a/config/01-plugins.vim +++ b/config/01-plugins.vim @@ -2,16 +2,16 @@ set encoding=utf-8 scriptencoding utf-8 let s:plug_path=expand($MYVIM . '/autoload/plug.vim') -let g:have_plug=filereadable(s:plug_path) -if(!g:have_plug && executable('curl')) +let s:have_plug=filereadable(s:plug_path) +if(!s:have_plug && executable('curl')) echo 'Installing Plug' execute '!curl -fLo "' . s:plug_path . '" --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' execute 'source ' . s:plug_path - let g:have_plug = 1 + let s:have_plug = 1 endif -if(g:have_plug) +if(s:have_plug) let s:plugged=resolve($MYVIM . '/.cache/plugged') call plug#begin(s:plugged) @@ -39,10 +39,9 @@ if(g:have_plug) Plug 'mattn/emmet-vim' " ZenCoding Plug 'sheerun/vim-polyglot' " Language Support Bundle 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 if v:version >= 800 @@ -51,8 +50,11 @@ if(g:have_plug) Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'Shougo/deoplete.nvim' " Autocomplete Support Plug 'ruanyl/coverage.vim' " Code Coverage Support - Plug 'liuchengxu/vista.vim' " LSP Tagbar + if executable('ctags') + Plug 'liuchengxu/vista.vim' " LSP Tagbar + endif Plug 'OmniSharp/omnisharp-vim' " .Net completion + Plug 'nickspoons/vim-sharpenup' " OmniSharp Helpers endif 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_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 diff --git a/config/03-mappings.vim b/config/03-mappings.vim index 98f0209..f209839 100644 --- a/config/03-mappings.vim +++ b/config/03-mappings.vim @@ -4,7 +4,7 @@ noremap w :update inoremap w :updatea cmap w!! w !sudo tee % >/dev/null -cnoremap %% getcmdtype() == ':' ? expand('%:p:h') . '/' : '%%' +cnoremap %% getcmdtype() == ':' ? expand('%:p:h') . '\' : '%%' cnoremap %b getcmdtype() == ':' ? expand('%:p:r') : '%b' "Remove search highlight when is pressed diff --git a/config/04-autocmds.vim b/config/04-autocmds.vim index ae338e0..0afcce6 100644 --- a/config/04-autocmds.vim +++ b/config/04-autocmds.vim @@ -1,88 +1,52 @@ - if has('autocmd') - filetype plugin indent on +if !has('autocmd') + finish +endif - augroup InvisibleCharsHighlight - au! +filetype plugin indent on - autocmd ColorScheme * :call ResetColors() +augroup InvisibleCharsHighlight + au! - function! ResetColors() - "Invisible character colors - highlight NonText guifg=#4a4a59 - highlight SpecialKey guifg=#4a4a59 - endfun - augroup END + autocmd ColorScheme * :call ResetColors() - augroup InsertTimer - au! - "Autoexit to normal mode after 15 seconds of inactivity - autocmd CursorHoldI * stopinsert - autocmd InsertEnter * let updaterestore=&updatetime | set updatetime=15000 - autocmd InsertLeave * let &updatetime=updaterestore - augroup END + function! ResetColors() + "Invisible character colors + highlight NonText guifg=#4a4a59 + highlight SpecialKey guifg=#4a4a59 + endfun +augroup END - augroup vimrc - "Automatically reload VIMRC file after saving - au! - autocmd bufwritepost $MYVIMRC source $MYVIMRC - if (exists('g:loaded_airline') && g:loaded_airline) - autocmd bufwritepost $MYVIMRC AirlineRefresh - endif - augroup END +augroup InsertTimer + au! + "Autoexit to normal mode after 15 seconds of inactivity + autocmd CursorHoldI * stopinsert + autocmd InsertEnter * let updaterestore=&updatetime | set updatetime=15000 + autocmd InsertLeave * let &updatetime=updaterestore +augroup END - augroup diffmode - au! - " Mappings for diff mode - autocmd filterwritepre * if &diff | map { :diffget LOCAL| endif - autocmd filterwritepre * if &diff | map \| :diffget BASE| endif - autocmd filterwritepre * if &diff | map } :diffget REMOTE| endif - augroup END +augroup vimrc + "Automatically reload VIMRC file after saving + au! + autocmd bufwritepost $MYVIMRC source $MYVIMRC + if (exists('g:loaded_airline') && g:loaded_airline) + autocmd bufwritepost $MYVIMRC AirlineRefresh + endif +augroup END - augroup javascript - "Custom mappings - au! - autocmd FileType javascript set ai sw=2 sts=2 et +augroup diffmode + au! + " Mappings for diff mode + autocmd filterwritepre * if &diff | map { :diffget LOCAL| endif + autocmd filterwritepre * if &diff | map \| :diffget BASE| endif + autocmd filterwritepre * if &diff | map } :diffget REMOTE| endif +augroup END - augroup END +augroup Dockerfile + au! + au BufNewFile,BufRead *.dockerfile setf dockerfile +augroup END - augroup typescript - au! - augroup END - - augroup Dockerfile - au! - au BufNewFile,BufRead *.dockerfile setf dockerfile - augroup END - - augroup suffixes - 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 D :OmniSharpGotoDefinition - autocmd FileType cs nnoremap cc :OmniSharpGlobalCodeCheck - autocmd FileType cs nnoremap :OmniSharpGetCodeActions - - augroup END - - augroup Signs - autocmd BufEnter * sign define dummy - autocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('') - augroup end - endif +augroup Signs + autocmd BufEnter * sign define dummy + autocmd BufEnter * execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('') +augroup end