changeset 424:d8086f81b9c8

Pathogen config files.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 27 Mar 2018 21:34:25 -0700
parents f2b1eae0432b
children 350f7a55ff33
files vim/autoload/ludo.vim vim/bundle.pathogenrc vim/local.pathogenrc vim/vimrc
diffstat 4 files changed, 68 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/autoload/ludo.vim	Tue Mar 27 21:34:25 2018 -0700
@@ -0,0 +1,49 @@
+
+" Loads `pathogenrc` files in each bundle directory and, if found,
+" builds an exclude list based on the glob patterns found in them.
+"
+function! ludo#setup_pathogen(bundle_dirs) abort
+    for bundle_dir in a:bundle_dirs
+        let l:rcfile = bundle_dir.'/pathogenrc'
+        if !filereadable(l:rcfile)
+            continue
+        endif
+
+        let l:included = []
+        let l:excluded = []
+        let l:rclines = readfile(l:rcfile)
+        for line in l:rclines
+            if line[0] == '#'
+                continue
+            endif
+            
+            if line[0] == '-'
+                let l:excls = glob(bundle_dir.'/'.line[1:], 1, 1)
+                for excl in l:excls
+                    let l:idx = index(l:included, excl)
+                    if l:idx >= 0
+                        call remove(l:included, l:idx)
+                    endif
+                    call add(l:excluded, excl)
+                endfor
+            else
+                let l:incls = glob(bundle_dir.'/'.line, 1, 1)
+                for incl in l:incls
+                    let l:idx = index(l:excluded, incl)
+                    if l:idx >= 0
+                        call remove(l:excluded, l:idx)
+                    endif
+                    call add(l:included, incl)
+                endfor
+            endif
+        endfor
+
+        for excl in l:excluded
+            if isdirectory(excl)
+                let l:excl_name = fnamemodify(excl, ':t')
+                call add(g:pathogen_disabled, l:excl_name)
+            endif
+        endfor
+    endfor
+endfunction
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle.pathogenrc	Tue Mar 27 21:34:25 2018 -0700
@@ -0,0 +1,10 @@
+-ag
+-autotags
+-ctrlp
+-ctrlp-py-matcher
+-haml
+-interestingwords
+-powerline
+-ragtag
+-twig
+-vimroom
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/local.pathogenrc	Tue Mar 27 21:34:25 2018 -0700
@@ -0,0 +1,5 @@
+-omnisharp-vim
+-rtags
+-vim-perforce
+-vim-rtags
+-vsremote
--- a/vim/vimrc	Tue Feb 20 22:11:58 2018 -0800
+++ b/vim/vimrc	Tue Mar 27 21:34:25 2018 -0700
@@ -43,10 +43,7 @@
 
 " Disable some plugins.
 let g:pathogen_disabled = get(g:, 'pathogen_disabled', [])
-call add(g:pathogen_disabled, 'vimroom')
-call add(g:pathogen_disabled, 'minibufexpl')
-call add(g:pathogen_disabled, 'ragtag')
-call add(g:pathogen_disabled, 'interestingwords')
+call ludo#setup_pathogen([s:vim_home.'/bundle', s:vim_home.'/local'])
 
 " Load pathogen.
 runtime bundle/pathogen/autoload/pathogen.vim
@@ -703,8 +700,9 @@
 
 " FZF mappings.
 if s:HasPlugin('fzf')
-  nnoremap <silent> <C-p> :Files
-  nnoremap <silent> <C-o> :Buffers
+  nnoremap <silent> <C-p> :Files<cr>
+  nnoremap <silent> <C-o> :Buffers<cr>
+  nnoremap <Tab> :History<cr>
 endif
 
 " }}}