Refactor global variables into autoload variables.

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
This commit is contained in:
Lucas Hoffmann 2015-03-03 11:10:16 +01:00
parent 5f27abb958
commit 356f245fbe
4 changed files with 37 additions and 36 deletions

View File

@ -21,7 +21,7 @@ com! -nargs=? -bang PluginClean
\ call vundle#installer#clean('!' == '<bang>') \ call vundle#installer#clean('!' == '<bang>')
com! -nargs=0 PluginDocs com! -nargs=0 PluginDocs
\ call vundle#installer#helptags(g:bundles) \ call vundle#installer#helptags(g:vundle#bundles)
" Aliases " Aliases
com! -nargs=* -complete=custom,vundle#scripts#complete PluginUpdate PluginInstall! <args> com! -nargs=* -complete=custom,vundle#scripts#complete PluginUpdate PluginInstall! <args>
@ -61,22 +61,22 @@ endif
" :Plugin command in the vimrc. It is not possible to do this automatically " :Plugin command in the vimrc. It is not possible to do this automatically
" because when loading the vimrc file no plugins where loaded yet. " because when loading the vimrc file no plugins where loaded yet.
func! vundle#rc(...) abort func! vundle#rc(...) abort
let g:bundle_dir = len(a:000) > 0 ? expand(a:1, 1) : expand('$HOME/.vim/bundle', 1) let g:vundle#bundle_dir = len(a:000) > 0 ? expand(a:1, 1) : expand('$HOME/.vim/bundle', 1)
let g:updated_bundles = [] let g:vundle#updated_bundles = []
let g:vundle_log = [] let g:vundle#log = []
call vundle#config#init() call vundle#config#init()
endf endf
" Alternative to vundle#rc, offers speed up by modifying rtp only when end() " Alternative to vundle#rc, offers speed up by modifying rtp only when end()
" called later. " called later.
func! vundle#begin(...) abort func! vundle#begin(...) abort
let g:vundle_lazy_load = 1 let g:vundle#lazy_load = 1
call call('vundle#rc', a:000) call call('vundle#rc', a:000)
endf endf
" Finishes putting plugins on the rtp. " Finishes putting plugins on the rtp.
func! vundle#end(...) abort func! vundle#end(...) abort
unlet g:vundle_lazy_load unlet g:vundle#lazy_load
call vundle#config#activate_bundles() call vundle#config#activate_bundles()
endf endf

View File

@ -10,11 +10,11 @@ func! vundle#config#bundle(arg, ...)
if !s:check_bundle_name(bundle) if !s:check_bundle_name(bundle)
return return
endif endif
if exists('g:vundle_lazy_load') && g:vundle_lazy_load if exists('g:vundle#lazy_load') && g:vundle#lazy_load
call add(g:bundles, bundle) call add(g:vundle#bundles, bundle)
else else
call s:rtp_rm_a() call s:rtp_rm_a()
call add(g:bundles, bundle) call add(g:vundle#bundles, bundle)
call s:rtp_add_a() call s:rtp_add_a()
call s:rtp_add_defaults() call s:rtp_add_defaults()
endif endif
@ -40,9 +40,9 @@ endf
" once. " once.
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! vundle#config#init() func! vundle#config#init()
if !exists('g:bundles') | let g:bundles = [] | endif if !exists('g:vundle#bundles') | let g:vundle#bundles = [] | endif
call s:rtp_rm_a() call s:rtp_rm_a()
let g:bundles = [] let g:vundle#bundles = []
let s:bundle_names = {} let s:bundle_names = {}
endf endf
@ -55,11 +55,11 @@ endf
func! vundle#config#require(bundles) abort func! vundle#config#require(bundles) abort
for b in a:bundles for b in a:bundles
call s:rtp_add(b.rtpath) call s:rtp_add(b.rtpath)
call s:rtp_add(g:bundle_dir) call s:rtp_add(g:vundle#bundle_dir)
" TODO: it has to be relative rtpath, not bundle.name " TODO: it has to be relative rtpath, not bundle.name
exec 'runtime! '.b.name.'/plugin/*.vim' exec 'runtime! '.b.name.'/plugin/*.vim'
exec 'runtime! '.b.name.'/after/*.vim' exec 'runtime! '.b.name.'/after/*.vim'
call s:rtp_rm(g:bundle_dir) call s:rtp_rm(g:vundle#bundle_dir)
endfor endfor
call s:rtp_add_defaults() call s:rtp_add_defaults()
endf endf
@ -180,7 +180,7 @@ endf
" runtimepath. " runtimepath.
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! s:rtp_rm_a() func! s:rtp_rm_a()
let paths = map(copy(g:bundles), 'v:val.rtpath') let paths = map(copy(g:vundle#bundles), 'v:val.rtpath')
let prepends = join(paths, ',') let prepends = join(paths, ',')
let appends = join(paths, '/after,').'/after' let appends = join(paths, '/after,').'/after'
exec 'set rtp-='.fnameescape(prepends) exec 'set rtp-='.fnameescape(prepends)
@ -193,7 +193,7 @@ endf
" runtimepath. " runtimepath.
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! s:rtp_add_a() func! s:rtp_add_a()
let paths = map(copy(g:bundles), 'v:val.rtpath') let paths = map(copy(g:vundle#bundles), 'v:val.rtpath')
let prepends = join(paths, ',') let prepends = join(paths, ',')
let appends = join(paths, '/after,').'/after' let appends = join(paths, '/after,').'/after'
exec 'set rtp^='.fnameescape(prepends) exec 'set rtp^='.fnameescape(prepends)
@ -262,7 +262,7 @@ let s:bundle = {}
" return -- the target location to clone this bundle to " return -- the target location to clone this bundle to
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! s:bundle.path() func! s:bundle.path()
return s:expand_path(g:bundle_dir.'/'.self.name) return s:expand_path(g:vundle#bundle_dir.'/'.self.name)
endf endf

View File

@ -1,6 +1,7 @@
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
" Try to clone all new bundles given (or all bundles in g:bundles by default) " Try to clone all new bundles given (or all bundles in g:vundle#bundles by
" to g:bundle_dir. If a:bang is 1 it will also update all plugins (git pull). " default) to g:vundle#bundle_dir. If a:bang is 1 it will also update all
" plugins (git pull).
" "
" bang -- 1 or 0 " bang -- 1 or 0
" ... -- any number of bundle specifications (separate arguments) " ... -- any number of bundle specifications (separate arguments)
@ -8,10 +9,10 @@
func! vundle#installer#new(bang, ...) abort func! vundle#installer#new(bang, ...) abort
" No specific plugins are specified. Operate on all plugins. " No specific plugins are specified. Operate on all plugins.
if a:0 == 0 if a:0 == 0
let bundles = g:bundles let bundles = g:vundle#bundles
" Specific plugins are specified for update. Update them. " Specific plugins are specified for update. Update them.
elseif (a:bang) elseif (a:bang)
let bundles = filter(copy(g:bundles), 'index(a:000, v:val.name) > -1') let bundles = filter(copy(g:vundle#bundles), 'index(a:000, v:val.name) > -1')
" Specific plugins are specified for installation. Install them. " Specific plugins are specified for installation. Install them.
else else
let bundles = map(copy(a:000), 'vundle#config#bundle(v:val, {})') let bundles = map(copy(a:000), 'vundle#config#bundle(v:val, {})')
@ -23,7 +24,7 @@ func! vundle#installer#new(bang, ...) abort
endif endif
let names = vundle#scripts#bundle_names(map(copy(bundles), 'v:val.name_spec')) let names = vundle#scripts#bundle_names(map(copy(bundles), 'v:val.name_spec'))
call vundle#scripts#view('Installer',['" Installing plugins to '.expand(g:bundle_dir, 1)], names + ['Helptags']) call vundle#scripts#view('Installer',['" Installing plugins to '.expand(g:vundle#bundle_dir, 1)], names + ['Helptags'])
" This calls 'add' as a normal mode command. This is a buffer local mapping " This calls 'add' as a normal mode command. This is a buffer local mapping
" defined in vundle#scripts#view(). The mapping will call a buffer local " defined in vundle#scripts#view(). The mapping will call a buffer local
@ -163,10 +164,10 @@ endf
" return -- the return value from s:sync() " return -- the return value from s:sync()
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! vundle#installer#install(bang, name) abort func! vundle#installer#install(bang, name) abort
if !isdirectory(g:bundle_dir) | call mkdir(g:bundle_dir, 'p') | endif if !isdirectory(g:vundle#bundle_dir) | call mkdir(g:vundle#bundle_dir, 'p') | endif
let n = substitute(a:name,"['".'"]\+','','g') let n = substitute(a:name,"['".'"]\+','','g')
let matched = filter(copy(g:bundles), 'v:val.name_spec == n') let matched = filter(copy(g:vundle#bundles), 'v:val.name_spec == n')
if len(matched) > 0 if len(matched) > 0
let b = matched[0] let b = matched[0]
@ -179,12 +180,12 @@ endf
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
" Call :helptags for all bundles in g:bundles. " Call :helptags for all bundles in g:vundle#bundles.
" "
" return -- 'error' if an error occurred, else return 'helptags' " return -- 'error' if an error occurred, else return 'helptags'
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! vundle#installer#docs() abort func! vundle#installer#docs() abort
let error_count = vundle#installer#helptags(g:bundles) let error_count = vundle#installer#helptags(g:vundle#bundles)
if error_count > 0 if error_count > 0
return 'error' return 'error'
endif endif
@ -222,10 +223,10 @@ endf
" bang -- not used " bang -- not used
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! vundle#installer#list(bang) abort func! vundle#installer#list(bang) abort
let bundles = vundle#scripts#bundle_names(map(copy(g:bundles), 'v:val.name_spec')) let bundles = vundle#scripts#bundle_names(map(copy(g:vundle#bundles), 'v:val.name_spec'))
call vundle#scripts#view('list', ['" My Plugins'], bundles) call vundle#scripts#view('list', ['" My Plugins'], bundles)
redraw redraw
echo len(g:bundles).' plugins configured' echo len(g:vundle#bundles).' plugins configured'
endf endf
@ -237,10 +238,10 @@ endf
" should be removed unconditionally " should be removed unconditionally
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! vundle#installer#clean(bang) abort func! vundle#installer#clean(bang) abort
let bundle_dirs = map(copy(g:bundles), 'v:val.path()') let bundle_dirs = map(copy(g:vundle#bundles), 'v:val.path()')
let all_dirs = (v:version > 702 || (v:version == 702 && has("patch51"))) let all_dirs = (v:version > 702 || (v:version == 702 && has("patch51")))
\ ? split(globpath(g:bundle_dir, '*', 1), "\n") \ ? split(globpath(g:vundle#bundle_dir, '*', 1), "\n")
\ : split(globpath(g:bundle_dir, '*'), "\n") \ : split(globpath(g:vundle#bundle_dir, '*'), "\n")
let x_dirs = filter(all_dirs, '0 > index(bundle_dirs, v:val)') let x_dirs = filter(all_dirs, '0 > index(bundle_dirs, v:val)')
if empty(x_dirs) if empty(x_dirs)
@ -465,7 +466,7 @@ func! s:sync(bang, bundle) abort
return 'todate' return 'todate'
endif endif
call add(g:updated_bundles, [initial_sha, updated_sha, a:bundle]) call add(g:vundle#updated_bundles, [initial_sha, updated_sha, a:bundle])
return 'updated' return 'updated'
endf endf
@ -527,7 +528,7 @@ func! s:log(str, ...) abort
let lines = split(a:str, '\n', 1) let lines = split(a:str, '\n', 1)
let time = strftime(fmt) let time = strftime(fmt)
for line in lines for line in lines
call add(g:vundle_log, '['. time .'] '. prefix . line) call add(g:vundle#log, '['. time .'] '. prefix . line)
endfor endfor
return a:str return a:str
endf endf

View File

@ -42,7 +42,7 @@ endf
func! vundle#scripts#complete(a,c,d) func! vundle#scripts#complete(a,c,d)
if match(a:c, '\v^%(Plugin|Vundle)%(Install!|Update)') == 0 if match(a:c, '\v^%(Plugin|Vundle)%(Install!|Update)') == 0
" Only installed plugins if updating " Only installed plugins if updating
return join(map(copy(g:bundles), 'v:val.name'), "\n") return join(map(copy(g:vundle#bundles), 'v:val.name'), "\n")
else else
" Or all known plugins otherwise " Or all known plugins otherwise
return join(s:load_scripts(0),"\n") return join(s:load_scripts(0),"\n")
@ -61,7 +61,7 @@ func! s:view_log()
if bufloaded(s:log_file) if bufloaded(s:log_file)
execute 'silent bdelete' s:log_file execute 'silent bdelete' s:log_file
endif endif
call writefile(g:vundle_log, s:log_file) call writefile(g:vundle#log, s:log_file)
execute 'silent pedit ' . s:log_file execute 'silent pedit ' . s:log_file
wincmd P | wincmd H wincmd P | wincmd H
@ -74,7 +74,7 @@ endf
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! s:create_changelog() abort func! s:create_changelog() abort
let changelog = ['Updated Plugins:'] let changelog = ['Updated Plugins:']
for bundle_data in g:updated_bundles for bundle_data in g:vundle#updated_bundles
let initial_sha = bundle_data[0] let initial_sha = bundle_data[0]
let updated_sha = bundle_data[1] let updated_sha = bundle_data[1]
let bundle = bundle_data[2] let bundle = bundle_data[2]
@ -258,7 +258,7 @@ endf
" specifications) of all plugins from vim-scripts.org " specifications) of all plugins from vim-scripts.org
" --------------------------------------------------------------------------- " ---------------------------------------------------------------------------
func! s:load_scripts(bang) func! s:load_scripts(bang)
let f = expand(g:bundle_dir.'/.vundle/script-names.vim-scripts.org.json', 1) let f = expand(g:vundle#bundle_dir.'/.vundle/script-names.vim-scripts.org.json', 1)
if a:bang || !filereadable(f) if a:bang || !filereadable(f)
if 0 != s:fetch_scripts(f) if 0 != s:fetch_scripts(f)
return [] return []