" pathogen.vim - path option manipulation " Maintainer: Tim Pope " Version: 2.4 " Install in ~/.vim/autoload (or ~\vimfiles\autoload). " " For management of individually installed plugins in ~/.vim/bundle (or " ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your " .vimrc is the only other setup necessary. " " The API is documented inline below. if exists("g:loaded_pathogen") || &cp finish endif let g:loaded_pathogen = 1 " Point of entry for basic default usage. Give a relative path to invoke " pathogen#interpose() or an absolute path to invoke pathogen#surround(). " Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all " subdirectories inside "bundle" inside all directories in the runtime path. " If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" " on versions of Vim without native package support. function! pathogen#infect(...) abort if a:0 let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') else let paths = ['bundle/{}', 'pack/{}/start/{}'] endif if has('packages') call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') endif let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' for path in filter(copy(paths), 'v:val =~# static') call pathogen#surround(path) endfor for path in filter(copy(paths), 'v:val !~# static') if path =~# '^\%([$~\\/]\|\w:[\\/]\)' call pathogen#surround(path) else call pathogen#interpose(path) endif endfor call pathogen#cycle_filetype() if pathogen#is_disabled($MYVIMRC) return 'finish' endif return '' endfunction " Split a path into a list. function! pathogen#split(path) abort if type(a:path) == type([]) | return a:path | endif if empty(a:path) | return [] | endif let split = split(a:path,'\\\@]','\\&','') endif endfunction " Like findfile(), but hardcoded to use the runtimepath. function! pathogen#runtime_findfile(file,count) abort let rtp = pathogen#join(1,pathogen#split(&rtp)) let file = findfile(a:file,rtp,a:count) if file ==# '' return '' else return fnamemodify(file,':p') endif endfunction " vim:set et sw=2: