diff --git a/autoload/vundle/config.vim b/autoload/vundle/config.vim index 3ed0cf8..d5d29ea 100644 --- a/autoload/vundle/config.vim +++ b/autoload/vundle/config.vim @@ -23,7 +23,7 @@ func! vundle#config#require(bundles) abort endf func! vundle#config#init_bundle(name, opts) - let opts = extend(s:parse_options(a:opts), s:parse_name(substitute(a:name,"['".'"]\+','','g'))) + let opts = extend(s:parse_name(substitute(a:name,"['".'"]\+','','g')), s:parse_options(a:opts)) let b = extend(opts, copy(s:bundle)) let b.rtpath = s:rtpath(opts) return b diff --git a/autoload/vundle/installer.vim b/autoload/vundle/installer.vim index f7e4375..397961e 100644 --- a/autoload/vundle/installer.vim +++ b/autoload/vundle/installer.vim @@ -100,7 +100,15 @@ endf func! vundle#installer#install(bang, name) abort if !isdirectory(g:bundle_dir) | call mkdir(g:bundle_dir, 'p') | endif - let b = vundle#config#init_bundle(a:name, {}) + "let b = vundle#config#init_bundle(a:name, {}) + "we've already initialized all these bundles. + "we just need to find the one we that corresponds to a:name + for bb in g:bundles + if ( bb.name_spec == substitute(a:name,"['".'"]\+','','g') ) + let b = bb + break + endif + endfor return s:sync(a:bang, b) endf diff --git a/doc/vundle.txt b/doc/vundle.txt index 57e7260..0d09349 100644 --- a/doc/vundle.txt +++ b/doc/vundle.txt @@ -79,6 +79,18 @@ in order to install/search [all available vim scripts] " or " filetype plugin on " to not use the indentation settings set by plugins + Options + + Options can specified by passing a dictionary to the second argument of the Bundle command. In the + example above, the 'rtp' option, which specifies the directory that a bundles runtime files are located + in relative to the bundle's top directory, is passed to the 'rstacruz/sparkup' bundle. Options can be + used to override the default parameters that are extracted from the bundle name. Note, multiple options + are passed through a *single* dictionary. Options that can be set: + + rtp : The directory (relative to the bundle's main directory) that contains the plugin's runtime files. + uri : The bundle's uri for a 'git clone'. This can be used to specify a ssh:// uri, which vundle does not support directly + name : The bundle's name, the bundle will be cloned into a subdirectory of the bundle directory with this name + 3) Install configured bundles: Launch `vim`, run >