Plugins' names which contain '../', '$HOME', '%:h:h', '..\', etc.
can be dangerous.
Use a sensible whitelist for plugin names and prevent its expansion.
The setting of the default values for the autoload variables is moved out of
any function. One reason being that these settings do not depend on the
argument of the function. The second being that Vim will source the autoload
script if an undefined autoload variable is referenced and the file is
expected to define the variable (see :help autoload).
All global variables that are not part of the public API (mentioned in the
documentation) are turned into autoload variables. This is intended to give
all global variables defined by Vundle.vim a common prefix. The variable
g:default_git_proto is part of the public API and is therefor not changed.
This is the only exception.
Changed:
g:bundle_dir -> vundle#bundle_dir
g:bundles -> vundle#bundles
g:updated_bundles -> vundle#updated_bundles
g:vundle_lazy_load -> vundle#lazy_load
g:vundle_log -> vundle#log
Unchanged:
g:default_git_proto
If it was loaded, unload the log buffer before editing it. Otherwise the
editing command can "hang" if the user has `set hidden`.
This problem was originally discovered with the VundleChangelog command and
the analogous fix was applied in 7d9b10. See github issue #468 for more.
These variables only occur in one file each. By making them script local
variables this is "documented" in the code. At the same time the global
namespace is polluted less.
Changed:
g:bundle_names -> s:bundle_names
g:vundle_last_status -> s:last_status
g:vundle_log_file -> s:log_file
g:vundle_view -> s:view
Rearranging rtp so that **all** default directories appear first has the
undesired side effect of not allowing plugins to override default syntax
files.
This changeset limits the rearrangement of the rtp to simply making sure
the first directory in the default runtimepath appears first in also in
the runtimepath after Vundle has finished manipulating it.
This should keep the original bugs fixed and should eliminate the
aforementioned undesired side effect.
Fixes#430Fixes#456
If one had this plugin:
Plugin 'foo/bar'
And now switches to another one with the same name:
Plugin 'baz/bar'
Recognise this scenario and replace the old plugin with the new one,
rather than silently assuming they are the same.
Fixes#367#48#183#400
* Add modelines to all code/doc files excluding README.md. The modeline used is: `" vim: set expandtab sts=2 ts=2 sw=2 tw=78 norl:`
* Rename links with /vundle to /Vundle.vim, seems to confuse some people with redirect.
* Remove duplicates from Quickstart, add example of `name` flag.
* Add link to Tips page by @Lucc .
* Change help maintain vundle link directly to the new one.
* README.md line number links updated.
Note: Users with bundle/vundle need to rename vundle to Vundle.vim to use test files. Vundle will continue to function otherwise.
Fixes#413.
Fixes#438.
- Complete the code documentation effort started by @lucc
- Remove some judgemental comments ✨
- Remove comments pertaining to things that should be opened as issues
- Boxed ❗
New supported option called 'pinned' for the Plugin command. When set to
1, the plugin is added to rtp but no install/upgrade operation is
performed.
It not only allows vundle to do rtp management of plugins on VCS other
than git, it also allows leaving plugins that had previously been
managed by vundle in the current state, with no further updates.
Fixes#24, #397