Update plug.vim
This commit is contained in:
		
							parent
							
								
									1290798f92
								
							
						
					
					
						commit
						e51a1038e1
					
				
					 1 changed files with 30 additions and 8 deletions
				
			
		|  | @ -96,7 +96,7 @@ let s:plug_src = 'https://github.com/junegunn/vim-plug.git' | ||||||
| let s:plug_tab = get(s:, 'plug_tab', -1) | let s:plug_tab = get(s:, 'plug_tab', -1) | ||||||
| let s:plug_buf = get(s:, 'plug_buf', -1) | let s:plug_buf = get(s:, 'plug_buf', -1) | ||||||
| let s:mac_gui = has('gui_macvim') && has('gui_running') | let s:mac_gui = has('gui_macvim') && has('gui_running') | ||||||
| let s:is_win = has('win32') || has('win64') | let s:is_win = has('win32') | ||||||
| let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) | let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) | ||||||
| let s:vim8 = has('patch-8.0.0039') && exists('*job_start') | let s:vim8 = has('patch-8.0.0039') && exists('*job_start') | ||||||
| let s:me = resolve(expand('<sfile>:p')) | let s:me = resolve(expand('<sfile>:p')) | ||||||
|  | @ -193,6 +193,14 @@ function! s:ask_no_interrupt(...) | ||||||
|   endtry |   endtry | ||||||
| endfunction | endfunction | ||||||
| 
 | 
 | ||||||
|  | function! s:lazy(plug, opt) | ||||||
|  |   return has_key(a:plug, a:opt) && | ||||||
|  |         \ (empty(s:to_a(a:plug[a:opt]))         || | ||||||
|  |         \  !isdirectory(a:plug.dir)             || | ||||||
|  |         \  len(s:glob(s:rtp(a:plug), 'plugin')) || | ||||||
|  |         \  len(s:glob(s:rtp(a:plug), 'after/plugin'))) | ||||||
|  | endfunction | ||||||
|  | 
 | ||||||
| function! plug#end() | function! plug#end() | ||||||
|   if !exists('g:plugs') |   if !exists('g:plugs') | ||||||
|     return s:err('Call plug#begin() first') |     return s:err('Call plug#begin() first') | ||||||
|  | @ -214,7 +222,7 @@ function! plug#end() | ||||||
|       continue |       continue | ||||||
|     endif |     endif | ||||||
|     let plug = g:plugs[name] |     let plug = g:plugs[name] | ||||||
|     if get(s:loaded, name, 0) || !has_key(plug, 'on') && !has_key(plug, 'for') |     if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') | ||||||
|       let s:loaded[name] = 1 |       let s:loaded[name] = 1 | ||||||
|       continue |       continue | ||||||
|     endif |     endif | ||||||
|  | @ -763,6 +771,9 @@ function! s:prepare(...) | ||||||
|     execute 'silent! unmap <buffer>' k |     execute 'silent! unmap <buffer>' k | ||||||
|   endfor |   endfor | ||||||
|   setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell |   setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell | ||||||
|  |   if exists('+colorcolumn') | ||||||
|  |     setlocal colorcolumn= | ||||||
|  |   endif | ||||||
|   setf vim-plug |   setf vim-plug | ||||||
|   if exists('g:syntax_on') |   if exists('g:syntax_on') | ||||||
|     call s:syntax() |     call s:syntax() | ||||||
|  | @ -1008,6 +1019,8 @@ function! s:update_impl(pull, force, args) abort | ||||||
|     let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input' |     let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input' | ||||||
|   endif |   endif | ||||||
| 
 | 
 | ||||||
|  |   let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' | ||||||
|  | 
 | ||||||
|   " Python version requirement (>= 2.7) |   " Python version requirement (>= 2.7) | ||||||
|   if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 |   if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 | ||||||
|     redir => pyv |     redir => pyv | ||||||
|  | @ -1099,7 +1112,7 @@ function! s:update_finish() | ||||||
|       if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && |       if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && | ||||||
|             \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) |             \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) | ||||||
|         call s:log4(name, 'Updating submodules. This may take a while.') |         call s:log4(name, 'Updating submodules. This may take a while.') | ||||||
|         let out .= s:bang('git submodule update --init --recursive 2>&1', spec.dir) |         let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) | ||||||
|       endif |       endif | ||||||
|       let msg = s:format_message(v:shell_error ? 'x': '-', name, out) |       let msg = s:format_message(v:shell_error ? 'x': '-', name, out) | ||||||
|       if v:shell_error |       if v:shell_error | ||||||
|  | @ -1318,7 +1331,7 @@ while 1 " Without TCO, Vim stack is bound to explode | ||||||
| 
 | 
 | ||||||
|   let name = keys(s:update.todo)[0] |   let name = keys(s:update.todo)[0] | ||||||
|   let spec = remove(s:update.todo, name) |   let spec = remove(s:update.todo, name) | ||||||
|   let new  = !isdirectory(spec.dir) |   let new  = empty(globpath(spec.dir, '.git', 1)) | ||||||
| 
 | 
 | ||||||
|   call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') |   call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') | ||||||
|   redraw |   redraw | ||||||
|  | @ -2211,7 +2224,7 @@ function! s:upgrade() | ||||||
|   let new = tmp . '/plug.vim' |   let new = tmp . '/plug.vim' | ||||||
| 
 | 
 | ||||||
|   try |   try | ||||||
|     let out = s:system(printf('git clone --depth 1 %s %s', s:plug_src, tmp)) |     let out = s:system(printf('git clone --depth 1 %s %s', s:shellesc(s:plug_src), s:shellesc(tmp))) | ||||||
|     if v:shell_error |     if v:shell_error | ||||||
|       return s:err('Error upgrading vim-plug: '. out) |       return s:err('Error upgrading vim-plug: '. out) | ||||||
|     endif |     endif | ||||||
|  | @ -2407,7 +2420,11 @@ function! s:diff() | ||||||
|     call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') |     call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') | ||||||
|     for [k, v] in plugs |     for [k, v] in plugs | ||||||
|       let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..' |       let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..' | ||||||
|       let diff = s:system_chomp('git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')), v.dir) |       let cmd = 'git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')) | ||||||
|  |       if has_key(v, 'rtp') | ||||||
|  |         let cmd .= ' -- '.s:shellesc(v.rtp) | ||||||
|  |       endif | ||||||
|  |       let diff = s:system_chomp(cmd, v.dir) | ||||||
|       if !empty(diff) |       if !empty(diff) | ||||||
|         let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' |         let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' | ||||||
|         call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) |         call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) | ||||||
|  | @ -2426,8 +2443,13 @@ function! s:diff() | ||||||
|         \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) |         \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) | ||||||
| 
 | 
 | ||||||
|   if cnts[0] || cnts[1] |   if cnts[0] || cnts[1] | ||||||
|     nnoremap <silent> <buffer> <cr> :silent! call <SID>preview_commit()<cr> |     nnoremap <silent> <buffer> <plug>(plug-preview) :silent! call <SID>preview_commit()<cr> | ||||||
|     nnoremap <silent> <buffer> o    :silent! call <SID>preview_commit()<cr> |     if empty(maparg("\<cr>", 'n')) | ||||||
|  |       nmap <buffer> <cr> <plug>(plug-preview) | ||||||
|  |     endif | ||||||
|  |     if empty(maparg('o', 'n')) | ||||||
|  |       nmap <buffer> o <plug>(plug-preview) | ||||||
|  |     endif | ||||||
|   endif |   endif | ||||||
|   if cnts[0] |   if cnts[0] | ||||||
|     nnoremap <silent> <buffer> X :call <SID>revert()<cr> |     nnoremap <silent> <buffer> X :call <SID>revert()<cr> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alexander Gehrke
						Alexander Gehrke