From 258c47fe0611f3ba0ddcd7a60d1439192bbc1aa1 Mon Sep 17 00:00:00 2001 From: Mathias Gumz Date: Sat, 23 Oct 2010 19:29:52 +0200 Subject: [PATCH] Exclude bundles in g:pathogen_disabled --- autoload/pathogen.vim | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/autoload/pathogen.vim b/autoload/pathogen.vim index 8ff5699..c9d3dd3 100644 --- a/autoload/pathogen.vim +++ b/autoload/pathogen.vim @@ -81,12 +81,22 @@ function! pathogen#glob_directories(pattern) abort " {{{1 return filter(pathogen#glob(a:pattern),'isdirectory(v:val)') endfunction "}}}1 -" Prepend all subdirectories of path to the rtp, and append all after +" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if +" its 'basename()' is included in g:pathogen_disabled[]'. +function! pathogen#is_disabled(path) " {{{1 + if !exists("g:pathogen_disabled") + return 0 + endif + let sep = pathogen#separator() + return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1 +endfunction "}}}1 + +" Prepend all subdirectories of path to the rtp, and append all 'after' " directories in those subdirectories. function! pathogen#runtime_prepend_subdirectories(path) " {{{1 let sep = pathogen#separator() - let before = pathogen#glob_directories(a:path.sep."*[^~]") - let after = pathogen#glob_directories(a:path.sep."*[^~]".sep."after") + let before = filter(pathogen#glob_directories(a:path.sep."*[^~]"), '!pathogen#is_disabled(v:val)') + let after = filter(pathogen#glob_directories(a:path.sep."*[^~]".sep."after"), '!pathogen#is_disabled(v:val)') let rtp = pathogen#split(&rtp) let path = expand(a:path) call filter(rtp,'v:val[0:strlen(path)-1] !=# path') @@ -108,9 +118,9 @@ function! pathogen#runtime_append_all_bundles(...) " {{{1 let list = [] for dir in pathogen#split(&rtp) if dir =~# '\