+function! Cond(cond, ...)
+ let opts = get(a:000, 0, {})
+ return a:cond ? opts : extend(opts, { 'on': [], 'for': [] })
+endfunction
+
Plug 'mhinz/vim-startify'
+Plug 'dstein64/vim-startuptime'
Plug 'vim-airline/vim-airline'
-Plug 'morhetz/gruvbox'
-
-Plug 'mhinz/vim-signify'
-Plug 'tpope/vim-fugitive'
-Plug 'airblade/vim-rooter'
+Plug 'gruvbox-community/gruvbox'
-Plug 'Shougo/vimproc.vim', {'do': 'make'}
-Plug 'Shougo/denite.nvim'
+Plug 'benknoble/vim-auto-origami'
Plug 'scrooloose/nerdcommenter'
-
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
-Plug 'Xuyuanp/nerdtree-git-plugin', {'on': 'NERDTreeToggle'}
-
-Plug 'neomake/neomake'
-Plug 'majutsushi/tagbar', {'on': 'TagbarToggle'}
-
-Plug 'plasticboy/vim-markdown', {'for': 'markdown'}
-Plug 'lvht/tagbar-markdown', {'for': 'markdown'}
-
-Plug 'PProvost/vim-markdown-jekyll', {'for': 'markdown'}
-Plug 'tpope/vim-liquid', {'for': ['liquid', 'html', 'xml', 'markdown']}
-
-Plug 'cakebaker/scss-syntax.vim', {'for': 'scss'}
-Plug 'hail2u/vim-css3-syntax', {'for': ['scss', 'css']}
-Plug 'ap/vim-css-color', {'for': ['scss', 'css']}
-Plug 'tpope/vim-ragtag', {'for': ['html', 'xml']}
+Plug 'roryokane/detectindent'
-Plug 'lervag/vimtex', {'for': 'tex'}
-
-if has('nvim')
- Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins' }
-else
- Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins' }
- Plug 'roxma/nvim-yarp'
- Plug 'roxma/vim-hug-neovim-rpc'
-endif
-
-Plug 'Shougo/neosnippet.vim'
-Plug 'Shougo/neosnippet-snippets'
-
-Plug 'tpope/vim-speeddating'
-Plug 'jceb/vim-orgmode', {'for': ['org']}
-
-Plug 'Konfekt/vim-DetectSpellLang', {'do': 'spell'}
-Plug 'ciaranm/detectindent'
-
-Plug 'derekwyatt/vim-fswitch', {'for': ['c', 'cpp', 'objc']}
-Plug 'ludovicchabant/vim-gutentags', {'for': ['c', 'cpp', 'objc']}
-Plug 'vim-scripts/Conque-GDB', {'for': ['c', 'cpp', 'objc']}
+" This plugin cannot be conditionally loaded, see github issue #18
+Plug 'derekwyatt/vim-fswitch' ", {'for': ['c', 'cpp', 'objc']}
Plug 'godlygeek/tabular'
Plug 'junegunn/vim-easy-align'
Plug 'thinca/vim-fontzoom'
-Plug 'vim-scripts/loremipsum', {'on': 'Loremipsum'}
-
Plug 'lambdalisue/vim-manpager', {'on': 'MANPAGER'}
-if filereadable($HOME . '/.vim/plugins-local.vim')
- source ~/.vim/plugins-local.vim
-endif
+" Make . more useful after a plugin map
+Plug 'tpope/vim-repeat'
+
+Plug 'flwyd/vim-conjoin'
+
+
+function PluginsConfig()
+ let g:localvimrc_persistent = 1
+
+ let g:fastfold_minlines = 0
+
+ au FileType markdown call RagtagInit()
+
+ let g:detectspelllang_langs = {}
+ let g:detectspelllang_langs.aspell =[ 'en_US', 'de_AT']
+ au FileType mail let g:VimMailSpellLangs=['de', 'en']
+
+ let g:org_todo_keywords = [['TODO(t)', 'WAITING(w)', '|', 'DONE(d)'],
+ \ ['|', 'OBSOLETE(o)', 'WONT(n)'],
+ \ ['CANCELED(c)']]
+
+ let g:vimwiki_list = [{'path': '~/.vimwiki/',
+ \ 'template_path': '~/.vim/vimwiki/templates',
+ \ 'template_default': 'default',
+ \ 'template_ext': '.html'}]
+ let g:vimwiki_global_ext = 0
+
+ " Java completion
+ au FileType java setlocal omnifunc=javacomplete#Complete
+ au FileType java JCEnable
+
+ let g:VimMailContactsProvider=['khard']
+ let g:VimMailContactsCommands={
+ \'khard':
+ \{ 'query' : "khard email --parsable --search-in-source-files",
+ \'sync': "/bin/true"}
+ \}
+
+ let g:vimtex_fold_enabled = 1
+ let g:vimtex_fold_levelmarker = '➜'
+
+ " termdebug split windows
+ let g:termdebug_wide = 1
+ let termdebugger = $HOME . '/.vim/gdb.sh'
+
+ 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
+endfunction
+