vimspector: Activate pretty printing
[vimconf.git] / plugins.vim
index 05d93fd6c62deff49f9c40b51ad13bcc7546c8f4..538322ad82f1908bf79b9d1db099eddc961a3a95 100644 (file)
@@ -31,10 +31,74 @@ Plug 'tpope/vim-repeat'
 
 Plug 'flwyd/vim-conjoin'
 
-if $USER != "root"
-    source ~/.vim/plugins-noroot.vim
-endif
 
-if filereadable($HOME . '/.vim/plugins-local.vim')
-    source ~/.vim/plugins-local.vim
-endif
+function PluginsConfig()
+
+    " Some preferences for indent detection
+    let g:detectindent_min_indent = 2
+    let g:detectindent_max_indent = 4
+    let g:detectindent_preferred_indent = 4
+
+    " Minimum indenting for source code
+    au FileType c,cpp,objc,java,cs let g:detectindent_min_indent = 4
+    " Consider using localvimrc config file or editorconfig instead
+    "au BufReadPost *.java :DetectIndent
+
+    let g:airline_powerline_fonts=1
+    let g:airline#extensions#tabline#enabled=1
+    let g:airline#extensions#branch#enabled=1
+
+    let g:gruvbox_contrast_light='hard'
+    let g:gruvbox_contrast_dark='hard'
+    set bg=dark
+
+    if &term =~ 'linux'
+        let g:gruvbox_termcolors=16
+    else
+        " Setting termguicolors has two implications:
+        " - Breaks colors for some versions of mosh, but not if tmux is used on top of
+        "   mosh. See https://github.com/mobile-shell/mosh/issues/928
+        set termguicolors
+        let g:gruvbox_italic = 1
+    endif
+    colorscheme gruvbox
+
+    " let NERDTreeWinPos="right"
+    let NERDTreeHijackNetrw=0
+    let NERDTreeWinSize=22
+    let NERDTreeQuitOnOpen=1
+    "au VimEnter * if !argc() | Startify | NERDTree | wincmd w
+
+    let g:startify_files_number = 5
+    let g:startify_session_persistence = 1
+    let g:startify_lists = [
+                \ { 'type': 'dir',       'header': ['   Recent files'] },
+                \ { 'type': 'sessions',  'header': ['   Saved sessions'] },
+                \ ]
+
+    if has('nvim')
+        let verstr = matchstr(execute('version'), 'NVIM v\zs[^\n]*')
+        let g:startify_custom_header = [
+                    \ '',
+                    \ '        ╻ ╻   ╻   ┏┳┓',
+                    \ '   NEO  ┃┏┛   ┃   ┃┃┃',
+                    \ '        ┗┛    ╹   ╹ ╹  ' . verstr,
+                    \ '',
+                    \ ]
+    else
+        let verstr = matchstr(execute('version'), 'IMproved \zs[^\n ]*')
+        let g:startify_custom_header = [
+                    \ '',
+                    \ '   ╻ ╻   ╻   ┏┳┓',
+                    \ '   ┃┏┛   ┃   ┃┃┃',
+                    \ '   ┗┛    ╹   ╹ ╹  ' . verstr,
+                    \ '',
+                    \ ]
+    endif
+
+    au BufEnter *.c* let b:fswitchlocs='reg:/lib/include/,rel:.'
+    au BufEnter *.h* let b:fswitchlocs='reg:/include/lib/,rel:.'
+    au BufEnter *.cpp,*.cc,*.cxx let b:fswitchdst='h,hxx,hpp,hh'
+    au BufEnter *.h,*.hh,*.hxx let b:fswitchdst='cc,c,cxx,cpp'
+endfunction
+