mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.2c-000
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Jul 12, 2008
|
||||
" Version: 127
|
||||
" Date: Aug 01, 2008
|
||||
" Version: 131
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
|
||||
@@ -27,7 +27,7 @@ if !exists("s:NOTE")
|
||||
let s:WARNING = 1
|
||||
let s:ERROR = 2
|
||||
endif
|
||||
let g:loaded_netrw = "v127"
|
||||
let g:loaded_netrw = "v131"
|
||||
|
||||
" sanity checks
|
||||
if v:version < 700
|
||||
@@ -76,7 +76,13 @@ if !exists("g:netrw_ftp_cmd")
|
||||
let g:netrw_ftp_cmd = "ftp"
|
||||
endif
|
||||
if !exists("g:netrw_http_cmd")
|
||||
if executable("curl")
|
||||
if executable("elinks")
|
||||
let g:netrw_http_cmd = "elinks"
|
||||
let g:netrw_http_xcmd= "-dump >"
|
||||
elseif executable("links")
|
||||
let g:netrw_http_cmd = "links"
|
||||
let g:netrw_http_xcmd= "-dump >"
|
||||
elseif executable("curl")
|
||||
let g:netrw_http_cmd = "curl -o"
|
||||
elseif executable("wget")
|
||||
let g:netrw_http_cmd = "wget -q -O"
|
||||
@@ -359,6 +365,7 @@ endif
|
||||
if !exists("g:netrw_tmpfile_escape")
|
||||
let g:netrw_tmpfile_escape= ' &;'
|
||||
endif
|
||||
let s:netrw_map_escape = "<|\n\r\\\<C-V>\""
|
||||
|
||||
" BufEnter event ignored by decho when following variable is true
|
||||
" Has a side effect that doau BufReadPost doesn't work, so
|
||||
@@ -712,15 +719,16 @@ fun! netrw#NetRead(mode,...)
|
||||
" call Decho("read via ftp+.netrc (method #2)")
|
||||
let netrw_fname= b:netrw_fname
|
||||
call s:SaveBufVars()|new|call s:RestoreBufVars()
|
||||
let filtbuf= bufnr("%")
|
||||
setlocal ff=unix
|
||||
exe "put ='".g:netrw_ftpmode."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
put =g:netrw_ftpmode
|
||||
" call Decho("filter input: ".getline(line("$")))
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline(line("$")))
|
||||
endif
|
||||
exe "put ='".'get \"'.netrw_fname.'\" '.tmpfile."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
call setline(line("$")+1,'get "'.netrw_fname.'" '.tmpfile)
|
||||
" call Decho("filter input: ".getline(line("$")))
|
||||
if exists("g:netrw_port") && g:netrw_port != ""
|
||||
" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine." ".g:netrw_port,1))
|
||||
exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine." ".g:netrw_port,1)
|
||||
@@ -746,6 +754,7 @@ fun! netrw#NetRead(mode,...)
|
||||
" call Decho("read via ftp+mipf (method #3)")
|
||||
let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
|
||||
call s:SaveBufVars()|new|call s:RestoreBufVars()
|
||||
let filtbuf= bufnr("%")
|
||||
setlocal ff=unix
|
||||
if exists("g:netrw_port") && g:netrw_port != ""
|
||||
put ='open '.g:netrw_machine.' '.g:netrw_port
|
||||
@@ -770,7 +779,7 @@ fun! netrw#NetRead(mode,...)
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
endif
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
endif
|
||||
put ='get \"'.netrw_fname.'\" '.tmpfile
|
||||
@@ -820,15 +829,20 @@ fun! netrw#NetRead(mode,...)
|
||||
return
|
||||
endif
|
||||
|
||||
if match(b:netrw_fname,"#") == -1
|
||||
" using g:netrw_http_cmd (usually wget or curl)
|
||||
if match(b:netrw_fname,"#") == -1 || exists("g:netrw_http_xcmd")
|
||||
" using g:netrw_http_cmd (usually elinks, links, curl, wget, or fetch)
|
||||
" call Decho('using '.g:netrw_http_cmd.' (# not in b:netrw_fname<'.b:netrw_fname.">)")
|
||||
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile,1)." ".shellescape("http://".g:netrw_machine.netrw_fname,1))
|
||||
exe s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile,1)." ".shellescape("http://".g:netrw_machine.b:netrw_fname,1)
|
||||
if exists("g:netrw_http_xcmd")
|
||||
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape("http://".g:netrw_machine.b:netrw_fname,1)." ".g:netrw_http_xcmd." ".shellescape(tmpfile,1))
|
||||
exe s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape("http://".g:netrw_machine.b:netrw_fname,1)." ".g:netrw_http_xcmd." ".shellescape(tmpfile,1)
|
||||
else
|
||||
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile,1)." ".shellescape("http://".g:netrw_machine.b:netrw_fname,1))
|
||||
exe s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile,1)." ".shellescape("http://".g:netrw_machine.b:netrw_fname,1)
|
||||
endif
|
||||
let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
|
||||
|
||||
else
|
||||
" wget/curl plus a jump to an in-page marker (ie. http://abc/def.html#aMarker)
|
||||
" wget/curl/fetch plus a jump to an in-page marker (ie. http://abc/def.html#aMarker)
|
||||
" call Decho(("wget/curl plus jump (# in b:netrw_fname<".b:netrw_fname.">)")
|
||||
let netrw_html= substitute(b:netrw_fname,"#.*$","","")
|
||||
let netrw_tag = substitute(b:netrw_fname,"^.*#","","")
|
||||
@@ -1084,14 +1098,14 @@ fun! netrw#NetWrite(...) range
|
||||
new
|
||||
" call Decho("filter input window#".winnr())
|
||||
setlocal ff=unix
|
||||
exe "put ='".g:netrw_ftpmode."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
put =g:netrw_ftpmode
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline("$"))
|
||||
endif
|
||||
exe "put ='".'put \"'.tmpfile.'\" \"'.netrw_fname.'\"'."'"
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
call setline(line("$")+1,'put "'.tmpfile.'" "'.netrw_fname.'"')
|
||||
" call Decho("filter input: ".getline("$"))
|
||||
if exists("g:netrw_port") && g:netrw_port != ""
|
||||
" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1))
|
||||
exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1)
|
||||
@@ -1276,10 +1290,11 @@ fun! netrw#NetSource(...)
|
||||
let i= 1
|
||||
while i <= a:0
|
||||
call netrw#NetRead(3,a:{i})
|
||||
" call Decho("s:netread_tmpfile<".s:netrw_tmpfile.">")
|
||||
" call Decho("(netrw#NetSource) s:netread_tmpfile<".s:netrw_tmpfile.">")
|
||||
if s:FileReadable(s:netrw_tmpfile)
|
||||
" call Decho("exe so ".s:netrw_tmpfile)
|
||||
exe "so ".s:netrw_tmpfile
|
||||
" call Decho("(netrw#NetSource) exe so ".fnameescape(s:netrw_tmpfile))
|
||||
exe "so ".fnameescape(s:netrw_tmpfile)
|
||||
" call Decho("(netrw#NetSource) delete(".s:netrw_tmpfile.")")
|
||||
call delete(s:netrw_tmpfile)
|
||||
unlet s:netrw_tmpfile
|
||||
else
|
||||
@@ -1654,6 +1669,7 @@ endfun
|
||||
fun! s:BrowserMaps(islocal)
|
||||
" call Dfunc("s:BrowserMaps(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
|
||||
if a:islocal
|
||||
" call Decho("make local maps")
|
||||
nnoremap <buffer> <silent> <cr> :call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr>
|
||||
nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr>
|
||||
nnoremap <buffer> <silent> a :call <SID>NetrwHide(1)<cr>
|
||||
@@ -1709,23 +1725,25 @@ fun! s:BrowserMaps(islocal)
|
||||
if s:didstarstar || !mapcheck("<s-up>","n")
|
||||
nnoremap <buffer> <silent> <s-up> :Pexplore<cr>
|
||||
endif
|
||||
let mapsafecurdir = escape(b:netrw_curdir, s:netrw_map_escape)
|
||||
if g:netrw_mousemaps == 1
|
||||
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
|
||||
nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
|
||||
nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
|
||||
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
endif
|
||||
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> D :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> D :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> R :call <SID>NetrwLocalRename("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> R :call <SID>NetrwLocalRename("'.b:netrw_curdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> D :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> D :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> R :call <SID>NetrwLocalRename("'.mapsafecurdir.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> R :call <SID>NetrwLocalRename("'.mapsafecurdir.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> <Leader>m :call <SID>NetrwMakeDir("")<cr>'
|
||||
nnoremap <buffer> <F1> :he netrw-quickhelp<cr>
|
||||
|
||||
else " remote
|
||||
" call Decho("make remote maps")
|
||||
call s:RemotePathAnalysis(b:netrw_curdir)
|
||||
nnoremap <buffer> <silent> <cr> :call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr>
|
||||
nnoremap <buffer> <silent> <c-l> :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
|
||||
@@ -1774,21 +1792,25 @@ fun! s:BrowserMaps(islocal)
|
||||
if !hasmapto('<Plug>NetrwRefresh')
|
||||
nmap <buffer> <c-l> <Plug>NetrwRefresh
|
||||
endif
|
||||
|
||||
let mapsafepath = escape(s:path, s:netrw_map_escape)
|
||||
let mapsafeusermach = escape(s:user.s:machine, s:netrw_map_escape)
|
||||
|
||||
nnoremap <buffer> <silent> <Plug>NetrwRefresh :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
|
||||
if g:netrw_mousemaps == 1
|
||||
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
|
||||
nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
|
||||
nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
|
||||
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
endif
|
||||
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> d :call <SID>NetrwMakeDir("'.s:user.s:machine.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> D :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> D :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> R :call <SID>NetrwRemoteRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> R :call <SID>NetrwRemoteRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> d :call <SID>NetrwMakeDir("'.mapsafeusermach.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> D :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> D :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'nnoremap <buffer> <silent> R :call <SID>NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
exe 'vnoremap <buffer> <silent> R :call <SID>NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
|
||||
nnoremap <buffer> <F1> :he netrw-quickhelp<cr>
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,b:netrw_curdir)
|
||||
@@ -1842,7 +1864,7 @@ fun! s:NetrwBookmarkDir(chg,curdir)
|
||||
" change to the bookmarked directory
|
||||
" call Decho("(user: <B>) change to the bookmarked directory")
|
||||
if exists("g:NETRW_BOOKMARKDIR_{v:count}")
|
||||
exe "e ".g:NETRW_BOOKMARKDIR_{v:count}
|
||||
exe "e ".fnameescape(g:NETRW_BOOKMARKDIR_{v:count})
|
||||
else
|
||||
echomsg "Sorry, bookmark#".v:count." doesn't exist!"
|
||||
endif
|
||||
@@ -2340,8 +2362,8 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" let v:errmsg= "" " Decho
|
||||
let escdirname= fnameescape(dirname)
|
||||
" call Decho(" errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">")
|
||||
" call Decho(' exe silent! keepalt file '.fnameescape(escdirname))
|
||||
exe 'silent! keepalt file '.fnameescape(escdirname)
|
||||
" call Decho(' exe silent! keepalt file '.escdirname)
|
||||
exe 'silent! keepalt file '.escdirname
|
||||
" call Decho(" errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">")
|
||||
endif
|
||||
" call Decho(" named enew buffer#".bufnr("%")."<".bufname("%").">")
|
||||
@@ -3273,7 +3295,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
if starpat == 1
|
||||
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
|
||||
" call Decho("starpat=".starpat.": build *//pattern list")
|
||||
exe "vimgrep /".pattern."/gj ".b:netrw_curdir."/*"
|
||||
exe "vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*"
|
||||
let w:netrw_explore_list = map(getqflist(),'bufname(v:val.bufnr)')
|
||||
if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
|
||||
|
||||
@@ -3707,6 +3729,14 @@ endfun
|
||||
" of whatever may happen to be under the cursor at that
|
||||
" moment. When the mouse and gui are available,
|
||||
" shift-leftmouse may also be used to mark files.
|
||||
"
|
||||
" Creates two lists
|
||||
" s:netrwmarkfilelist -- holds complete paths to all marked files
|
||||
" s:netrwmarkfilelist_# -- holds list of marked files in current-buffer's directory (#==bufnr())
|
||||
"
|
||||
" Creates a marked file match string
|
||||
" s:netrwmarfilemtch_# -- used with 2match to display marked files
|
||||
"
|
||||
fun! s:NetrwMarkFile(islocal,fname)
|
||||
" call Dfunc("s:NetrwMarkFile(islocal=".a:islocal." fname<".a:fname.">)")
|
||||
let curbufnr= bufnr("%")
|
||||
@@ -3826,7 +3856,7 @@ fun! s:NetrwMarkFileCompress(islocal)
|
||||
let fname= shellescape(s:ComposePath(curdir,fname))
|
||||
endif
|
||||
else
|
||||
let fname= shellescape(b:netrw_curdir.fname)
|
||||
let fname= shellescape(b:netrw_curdir.fname,1)
|
||||
endif
|
||||
if executable(exe)
|
||||
if a:islocal
|
||||
@@ -3886,7 +3916,7 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
if a:islocal && s:netrwmftgt_islocal
|
||||
" Copy marked files, local directory to local directory
|
||||
" call Decho("copy from local to local")
|
||||
let args= join(map(copy(s:netrwmarkfilelist_{bufnr('%')}),"b:netrw_curdir.\"/\".shellescape(v:val)"))
|
||||
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)"))
|
||||
" call Decho("system(".g:netrw_localcopycmd." ".args." ".shellescape(s:netrwmftgt).")")
|
||||
call system(s:WinPath(g:netrw_localcopycmd)." ".args." ".shellescape(s:netrwmftgt))
|
||||
|
||||
@@ -3914,7 +3944,7 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
if isdirectory(tmpdir)
|
||||
exe "keepjumps lcd ".fnameescape(tmpdir)
|
||||
call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},tmpdir)
|
||||
let localfiles= map(copy(s:netrwmarkfilelist_{bufnr('%')}),'substitute(v:val,"^.*/","","")')
|
||||
let localfiles= map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),'substitute(v:val,"^.*/","","")')
|
||||
call s:NetrwUpload(localfiles,s:netrwmftgt)
|
||||
if getcwd() == tmpdir
|
||||
for fname in s:netrwmarkfilelist_{bufnr('%')}
|
||||
@@ -3957,24 +3987,21 @@ endfun
|
||||
fun! s:NetrwMarkFileDiff(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileDiff(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
|
||||
let curbufnr= bufnr("%")
|
||||
if exists("s:netrwmarkfilelist_{curbufnr}")
|
||||
|
||||
if exists("s:netrwmarkfilelist_{curbufnr}")
|
||||
let cnt = 0
|
||||
let curdir = b:netrw_curdir
|
||||
for fname in s:netrwmarkfilelist
|
||||
let cnt= cnt + 1
|
||||
if !a:islocal
|
||||
let fname= curdir.fname
|
||||
endif
|
||||
if cnt == 1
|
||||
" call Decho("diffthis: ".fname)
|
||||
exe "e ".fname
|
||||
" call Decho("diffthis: fname<".fname.">")
|
||||
exe "e ".fnameescape(fname)
|
||||
diffthis
|
||||
elseif cnt == 2 || cnt == 3
|
||||
vsplit
|
||||
wincmd l
|
||||
" call Decho("diffthis: ".fname)
|
||||
exe "e ".fname
|
||||
exe "e ".fnameescape(fname)
|
||||
diffthis
|
||||
else
|
||||
break
|
||||
@@ -3982,6 +4009,7 @@ fun! s:NetrwMarkFileDiff(islocal)
|
||||
endfor
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
endif
|
||||
|
||||
" call Dret("s:NetrwMarkFileDiff")
|
||||
endfun
|
||||
|
||||
@@ -3995,17 +4023,7 @@ fun! s:NetrwMarkFileEdit(islocal)
|
||||
let curbufnr = bufnr("%")
|
||||
if exists("s:netrwmarkfilelist_{curbufnr}")
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
if a:islocal && g:netrw_keepdir
|
||||
" use complete paths if its local and keepdir enabled
|
||||
let flist= ""
|
||||
for fname in s:netrwmarkfilelist
|
||||
" let flist= flist." ".s:ComposePath(curdir,fname)
|
||||
let flist= flist." ".fname
|
||||
endfor
|
||||
else
|
||||
" let flist= substitute(escape(join(s:netrwmarkfilelist_{curbufnr},"\t"),' '),"\t",' ','g')
|
||||
let flist= substitute(escape(join(s:netrwmarkfilelist,"\t"),' '),"\t",' ','g')
|
||||
endif
|
||||
let flist= join(map(deepcopy(s:netrwmarkfilelist), "fnameescape(v:val)"))
|
||||
" unmark markedfile list
|
||||
" call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
call s:NetrwUnmarkAll()
|
||||
@@ -4138,17 +4156,11 @@ endfun
|
||||
fun! s:NetrwMarkFileGrep(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileGrep(islocal=".a:islocal.")")
|
||||
let svpos = netrw#NetrwSavePosn()
|
||||
let curdir = b:netrw_curdir
|
||||
let curbufnr = bufnr("%")
|
||||
|
||||
if exists("s:netrwmarkfilelist")
|
||||
" call Decho("s:netrwmarkfilelist".string(s:netrwmarkfilelist).">")
|
||||
let netrwmarkfilelist= ""
|
||||
for fname in s:netrwmarkfilelist
|
||||
" call Decho("fname<".fname.">")
|
||||
let fname = escape(substitute(fname,"[\"']","","g")," ")
|
||||
let netrwmarkfilelist = netrwmarkfilelist." ".fname
|
||||
endfor
|
||||
let netrwmarkfilelist= join(map(deepcopy(s:netrwmarkfilelist), "fnameescape(v:val)"))
|
||||
call s:NetrwUnmarkAll()
|
||||
|
||||
" ask user for pattern
|
||||
@@ -4295,7 +4307,7 @@ fun! s:NetrwMarkFilePrint(islocal)
|
||||
1split
|
||||
" the autocmds will handle both local and remote files
|
||||
" call Decho("exe silent e ".escape(fname,' '))
|
||||
exe "silent e ".escape(fname,' ')
|
||||
exe "silent e ".fnameescape(fname)
|
||||
" call Decho("hardcopy")
|
||||
hardcopy
|
||||
q
|
||||
@@ -4419,21 +4431,11 @@ fun! s:NetrwMarkFileTag(islocal)
|
||||
|
||||
if exists("s:netrwmarkfilelist")
|
||||
" call Decho("s:netrwmarkfilelist".string(s:netrwmarkfilelist).">")
|
||||
if a:islocal && g:netrw_keepdir
|
||||
let netrwmarkfilelist= ""
|
||||
for fname in s:netrwmarkfilelist
|
||||
" let netrwmarkfilelist= netrwmarkfilelist." ".s:ComposePath(curdir,fname)
|
||||
let netrwmarkfilelist= netrwmarkfilelist." ".fname
|
||||
endfor
|
||||
else
|
||||
let netrwmarkfilelist= string(s:netrwmarkfilelist)
|
||||
let netrwmarkfilelist= substitute(netrwmarkfilelist,'[[\],]','','g')
|
||||
endif
|
||||
let netrwmarkfilelist= join(map(deepcopy(s:netrwmarkfilelist), "shellescape(v:val,".!a:islocal.")"))
|
||||
call s:NetrwUnmarkAll()
|
||||
|
||||
if a:islocal
|
||||
if executable(g:netrw_ctags)
|
||||
call map(netrwmarkfilelist,"shellescape(v:val)")
|
||||
" call Decho("call system(".g:netrw_ctags." ".netrwmarkfilelist.")")
|
||||
call system(g:netrw_ctags." ".netrwmarkfilelist)
|
||||
else
|
||||
@@ -4447,7 +4449,7 @@ fun! s:NetrwMarkFileTag(islocal)
|
||||
e tags
|
||||
let path= substitute(curdir,'^\(.*\)/[^/]*$','\1/','')
|
||||
" call Decho("curdir<".curdir."> path<".path.">")
|
||||
exe '%s/\t\(\S\+\)\t/\t'.escape(path,'/').'\1\t/e'
|
||||
exe '%s/\t\(\S\+\)\t/\t'.escape(path,"/\n\r\\").'\1\t/e'
|
||||
wq!
|
||||
endif
|
||||
2match none
|
||||
@@ -4771,7 +4773,7 @@ fun! netrw#NetrwObtain(islocal,fname,...)
|
||||
endfor
|
||||
else
|
||||
" transfer files with one command
|
||||
let filelist= join(map(copy(fname),"shellescape(v:val)"))
|
||||
let filelist= join(map(deepcopy(fname),"shellescape(v:val)"))
|
||||
" call Decho("system(".g:netrw_localcopycmd." ".filelist." ".shellescape(topath).")")
|
||||
call system(g:netrw_localcopycmd." ".filelist." ".shellescape(topath))
|
||||
endif
|
||||
@@ -4801,7 +4803,7 @@ fun! netrw#NetrwObtain(islocal,fname,...)
|
||||
else
|
||||
let path= ""
|
||||
endif
|
||||
let filelist= join(map(copy(fnamelist),'shellescape(g:netrw_machine.":".path.v:val,1))'))
|
||||
let filelist= join(map(deepcopy(fnamelist),'shellescape(g:netrw_machine.":".path.v:val,1)'))
|
||||
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_scp_cmd.shellescape(useport,1)." ".filelist." ".shellescape(tgtdir,1))
|
||||
exe s:netrw_silentxfer."!".g:netrw_scp_cmd.shellescape(useport,1)." ".filelist." ".shellescape(tgtdir,1)
|
||||
|
||||
@@ -4812,7 +4814,7 @@ fun! netrw#NetrwObtain(islocal,fname,...)
|
||||
let tmpbufnr= bufnr("%")
|
||||
setlocal ff=unix
|
||||
if exists("g:netrw_ftpmode") && g:netrw_ftpmode != ""
|
||||
exe "put ='".g:netrw_ftpmode."'"
|
||||
put =g:netrw_ftpmode
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
|
||||
@@ -4822,7 +4824,7 @@ fun! netrw#NetrwObtain(islocal,fname,...)
|
||||
endif
|
||||
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
for fname in fnamelist
|
||||
@@ -4880,12 +4882,12 @@ fun! netrw#NetrwObtain(islocal,fname,...)
|
||||
endif
|
||||
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
for fname in fnamelist
|
||||
@@ -5053,15 +5055,13 @@ fun! s:NetrwUpload(fname,tgt,...)
|
||||
" handle uploading a single file using NetWrite
|
||||
" call Decho("handle uploading a single file via NetWrite")
|
||||
1split
|
||||
let efname= escape(a:fname,g:netrw_fname_escape)
|
||||
" call Decho("exe e ".efname)
|
||||
exe "e ".efname
|
||||
" call Decho("exe e ".fnameescape(a:fname))
|
||||
exe "e ".fnameescape(a:fname)
|
||||
" call Decho("now locally editing<".expand("%").">, has ".line("$")." lines")
|
||||
if a:tgt =~ '/$'
|
||||
let wfname= substitute(a:fname,'^.*/','','')
|
||||
let wfname= escape(a:tgt.wfname,g:netrw_fname_escape)
|
||||
" call Decho("exe w! ".fnameescape(wfname))
|
||||
exe "w! ".fnameescape(wfname)
|
||||
exe "w! ".fnameescape(a:tgt.wfname)
|
||||
else
|
||||
" call Decho("writing local->remote: exe w ".fnameescape(a:tgt))
|
||||
exe "w ".fnameescape(a:tgt)
|
||||
@@ -5075,8 +5075,8 @@ fun! s:NetrwUpload(fname,tgt,...)
|
||||
let curdir= getcwd()
|
||||
if a:tgt =~ '^scp:'
|
||||
exe "keepjumps silent lcd ".fnameescape(fromdir)
|
||||
let filelist= copy(s:netrwmarkfilelist_{bufnr('%')})
|
||||
let args = join(map(filelist,"shellescape(v:val)"))
|
||||
let filelist= deepcopy(s:netrwmarkfilelist_{bufnr('%')})
|
||||
let args = join(map(filelist,"shellescape(v:val, 1)"))
|
||||
if exists("g:netrw_port") && g:netrw_port != ""
|
||||
let useport= " ".g:netrw_scpport." ".g:netrw_port
|
||||
else
|
||||
@@ -5097,11 +5097,11 @@ fun! s:NetrwUpload(fname,tgt,...)
|
||||
silent keepjumps new
|
||||
" call Decho("filter input window#".winnr())
|
||||
|
||||
exe "put ='".g:netrw_ftpmode."'"
|
||||
put =g:netrw_ftpmode
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
|
||||
@@ -5166,7 +5166,7 @@ fun! s:NetrwUpload(fname,tgt,...)
|
||||
endif
|
||||
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('$'))
|
||||
endif
|
||||
|
||||
@@ -5210,7 +5210,7 @@ fun! s:NetrwPreview(path) range
|
||||
call s:NetrwSafeOptions()
|
||||
if has("quickfix")
|
||||
if !isdirectory(a:path)
|
||||
exe (g:netrw_preview? "vert " : "")."pedit ".escape(a:path,g:netrw_fname_escape)
|
||||
exe (g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path)
|
||||
elseif !exists("g:netrw_quiet")
|
||||
call netrw#ErrorMsg(s:WARNING,"sorry, cannot preview a directory such as <".a:path.">",38)
|
||||
endif
|
||||
@@ -6027,8 +6027,8 @@ fun! s:NetrwRemoteListing()
|
||||
let listcmd= s:MakeSshCmd(g:netrw_list_cmd)
|
||||
" call Decho("listcmd<".listcmd."> (using g:netrw_list_cmd)")
|
||||
if g:netrw_scp_cmd =~ '^pscp'
|
||||
" call Decho("1: exe silent r! ".listcmd.s:path)
|
||||
exe "silent r! ".listcmd.s:path
|
||||
" call Decho("1: exe silent r! ".shellescape(listcmd.s:path, 1))
|
||||
exe "silent r! ".listcmd.shellescape(s:path, 1)
|
||||
" remove rubbish and adjust listing format of 'pscp' to 'ssh ls -FLa' like
|
||||
g/^Listing directory/d
|
||||
g/^d[-rwx][-rwx][-rwx]/s+$+/+e
|
||||
@@ -6286,7 +6286,7 @@ fun! s:NetrwRemoteFtpCmd(path,listcmd)
|
||||
put ='cd \"'.a:path.'\"'
|
||||
endif
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
endif
|
||||
call setline(line("$")+1,a:listcmd)
|
||||
@@ -6320,7 +6320,7 @@ fun! s:NetrwRemoteFtpCmd(path,listcmd)
|
||||
put ='cd \"'.a:path.'\"'
|
||||
endif
|
||||
if exists("g:netrw_ftpextracmd")
|
||||
exe "put ='".g:netrw_ftpextracmd."'"
|
||||
put =g:netrw_ftpextracmd
|
||||
" call Decho("filter input: ".getline('.'))
|
||||
endif
|
||||
call setline(line("$")+1,a:listcmd)
|
||||
@@ -6669,7 +6669,7 @@ fun! s:LocalBrowseShellCmdRefresh()
|
||||
if bufwinnr(ibuf) == -1 && index(buftablist,ibuf) == -1
|
||||
" wipe out any non-displaying netrw buffer
|
||||
" call Decho("wiping buf#".ibuf,"<".bufname(ibuf).">")
|
||||
exe "silent! bd ".ibuf
|
||||
exe "silent! bd ".fnameescape(ibuf)
|
||||
call remove(s:netrw_browselist,ibl)
|
||||
" call Decho("browselist=".string(s:netrw_browselist))
|
||||
continue
|
||||
@@ -6860,7 +6860,7 @@ fun! s:NetrwLocalRename(path) range
|
||||
let newname = substitute(oldname,subfrom,subto,'')
|
||||
endif
|
||||
endif
|
||||
let ret= rename(oldname,newname)
|
||||
call rename(oldname,newname)
|
||||
endfor
|
||||
2match none
|
||||
unlet s:netrwmarkfilelist_{bufnr("%")}
|
||||
@@ -6891,7 +6891,7 @@ fun! s:NetrwLocalRename(path) range
|
||||
let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e'))
|
||||
call inputrestore()
|
||||
|
||||
let ret= rename(oldname,newname)
|
||||
call rename(oldname,newname)
|
||||
" call Decho("renaming <".oldname."> to <".newname.">")
|
||||
|
||||
let ctr= ctr + 1
|
||||
@@ -7570,22 +7570,24 @@ fun! s:SetRexDir(islocal,dirname)
|
||||
" call Dfunc("s:SetRexDir(islocal=".a:islocal." dirname<".a:dirname.">)")
|
||||
" set up Rex and leftmouse-double-click
|
||||
if a:islocal
|
||||
exe 'com! Rexplore call s:NetrwRexplore(1,"'.a:dirname.'")'
|
||||
exe 'com! Rexplore call s:NetrwRexplore(1,"'.escape(a:dirname,'"\').'")'
|
||||
if g:netrw_retmap
|
||||
silent! unmap <2-leftmouse>
|
||||
if !hasmapto("<Plug>NetrwReturn")
|
||||
nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
|
||||
endif
|
||||
exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(1,"'.a:dirname.'")<cr>'
|
||||
let dir = escape(a:dirname, s:netrw_map_escape)
|
||||
exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(1,"'.dir.'")<cr>'
|
||||
endif
|
||||
else
|
||||
exe 'com! Rexplore call s:NetrwRexplore(0,"'.a:dirname.'")'
|
||||
exe 'com! Rexplore call s:NetrwRexplore(0,"'.escape(a:dirname,'"\').'")'
|
||||
if g:netrw_retmap
|
||||
silent! unmap <2-leftmouse>
|
||||
if !hasmapto("<Plug>NetrwReturn")
|
||||
nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
|
||||
endif
|
||||
exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(0,"'.a:dirname.'")<cr>'
|
||||
let dir = escape(a:dirname, s:netrw_map_escape)
|
||||
exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(0,"'.dir.'")<cr>'
|
||||
endif
|
||||
endif
|
||||
" call Dret("s:SetRexDir")
|
||||
|
@@ -1,7 +1,7 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jul 12, 2008
|
||||
" Version: 19 + changes by Bram
|
||||
" Date: Jul 30, 2008
|
||||
" Version: 20
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
@@ -24,7 +24,7 @@ set cpo&vim
|
||||
if &cp || exists("g:loaded_tar") || v:version < 700
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v19+b"
|
||||
let g:loaded_tar= "v20"
|
||||
"call Decho("loading autoload/tar.vim")
|
||||
if v:version < 701 || (v:version == 701 && !has("patch299"))
|
||||
echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
" vimball.vim : construct a file containing both paths and files
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Jun 05, 2008
|
||||
" Version: 27
|
||||
" Date: Jul 30, 2008
|
||||
" Version: 29
|
||||
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
|
||||
" Copyright: (c) 2004-2008 by Charles E. Campbell, Jr.
|
||||
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
|
||||
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball") || v:version < 700
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
let g:loaded_vimball = "v27"
|
||||
let g:loaded_vimball = "v29"
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
|
||||
@@ -169,9 +169,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
|
||||
call setline(lastline+1,0)
|
||||
|
||||
" write the file from the tab
|
||||
let svfilepath= s:Path(svfile,'')
|
||||
" call Decho("exe $r ".fnameescape(svfilepath))
|
||||
exe "$r ".fnameescape(svfilepath)
|
||||
" call Decho("exe $r ".fnameescape(svfile))
|
||||
exe "$r ".fnameescape(svfile)
|
||||
|
||||
call setline(lastline+1,line("$") - lastline - 1)
|
||||
" call Decho("lastline=".lastline." line$=".line("$"))
|
||||
@@ -186,13 +185,11 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
|
||||
call s:ChgDir(curdir)
|
||||
setlocal ff=unix
|
||||
if a:writelevel
|
||||
let vbnamepath= s:Path(vbname,'')
|
||||
" call Decho("exe w! ".fnameescape(vbnamepath))
|
||||
exe "w! ".fnameescape(vbnamepath)
|
||||
" call Decho("exe w! ".fnameescape(vbname))
|
||||
exe "w! ".fnameescape(vbname)
|
||||
else
|
||||
let vbnamepath= s:Path(vbname,'')
|
||||
" call Decho("exe w ".fnameescape(vbnamepath))
|
||||
exe "w ".fnameescape(vbnamepath)
|
||||
" call Decho("exe w ".fnameescape(vbname))
|
||||
exe "w ".fnameescape(vbname)
|
||||
endif
|
||||
" call Decho("Vimball<".vbname."> created")
|
||||
echo "Vimball<".vbname."> created"
|
||||
@@ -215,8 +212,8 @@ endfun
|
||||
fun! vimball#Vimball(really,...)
|
||||
" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
|
||||
|
||||
if v:version < 701 || (v:version == 701 && !has("patch299"))
|
||||
echoerr "This version of vimball requires vim 7.1 with patch 299"
|
||||
if v:version < 701 || (v:version == 701 && !exists('*fnameescape'))
|
||||
echoerr "your vim is missing the fnameescape() function"
|
||||
" call Dret("vimball#Vimball : needs 7.1 with patch 299")
|
||||
return
|
||||
endif
|
||||
@@ -338,7 +335,7 @@ fun! vimball#Vimball(really,...)
|
||||
|
||||
" write tab to file
|
||||
if a:really
|
||||
let fnamepath= s:Path(home."/".fname,'')
|
||||
let fnamepath= home."/".fname
|
||||
" call Decho("exe w! ".fnameescape(fnamepath))
|
||||
exe "silent w! ".fnameescape(fnamepath)
|
||||
echo "wrote ".fnamepath
|
||||
@@ -364,9 +361,9 @@ fun! vimball#Vimball(really,...)
|
||||
" set up help
|
||||
" call Decho("about to set up help: didhelp<".didhelp.">")
|
||||
if didhelp != ""
|
||||
let htpath= s:Path(home."/".didhelp,"")
|
||||
let htpath= home."/".didhelp
|
||||
" call Decho("exe helptags ".htpath)
|
||||
exe "helptags ".htpath
|
||||
exe "helptags ".fnameescape(htpath)
|
||||
echo "did helptags"
|
||||
endif
|
||||
|
||||
@@ -577,27 +574,6 @@ fun! s:ChgDir(newdir)
|
||||
" call Dret("ChgDir : curdir<".getcwd().">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Path: prepend and append quotes and do escaping {{{2
|
||||
fun! s:Path(cmd,quote)
|
||||
" call Dfunc("Path(cmd<".a:cmd."> quote<".a:quote.">) vimball_path_escape<".g:vimball_path_escape.">")
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" let cmdpath= a:quote.substitute(a:cmd,'/','\\','g').a:quote
|
||||
let cmdpath= a:quote.substitute(a:cmd,'\\','/','g').a:quote
|
||||
" call Decho("cmdpath<".cmdpath."> (win32 mod)")
|
||||
else
|
||||
let cmdpath= a:quote.a:cmd.a:quote
|
||||
" call Decho("cmdpath<".cmdpath."> (not-win32 mod)")
|
||||
endif
|
||||
if a:quote == "" && g:vimball_path_escape !~ ' '
|
||||
let cmdpath= escape(cmdpath,' ')
|
||||
" call Decho("cmdpath<".cmdpath."> (empty quote case)")
|
||||
endif
|
||||
let cmdpath= escape(cmdpath,g:vimball_path_escape)
|
||||
" call Dret("Path <".cmdpath.">")
|
||||
return cmdpath
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:RecordInVar: record a un-vimball command in the .VimballRecord file {{{2
|
||||
fun! s:RecordInVar(home,cmd)
|
||||
@@ -719,14 +695,14 @@ fun! vimball#SaveSettings()
|
||||
let s:acdkeep = &acd
|
||||
endif
|
||||
let s:eikeep = &ei
|
||||
let s:fenkeep = &fen
|
||||
let s:fenkeep = &l:fen
|
||||
let s:hidkeep = &hidden
|
||||
let s:ickeep = &ic
|
||||
let s:lzkeep = &lz
|
||||
let s:pmkeep = &pm
|
||||
let s:repkeep = &report
|
||||
let s:vekeep = &ve
|
||||
let s:ffkeep = &ff
|
||||
let s:ffkeep = &l:ff
|
||||
if exists("&acd")
|
||||
setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix
|
||||
else
|
||||
@@ -745,7 +721,7 @@ fun! vimball#RestoreSettings()
|
||||
if exists("&acd")
|
||||
let &acd = s:acdkeep
|
||||
endif
|
||||
let &fen = s:fenkeep
|
||||
let &l:fen = s:fenkeep
|
||||
let &hidden = s:hidkeep
|
||||
let &ic = s:ickeep
|
||||
let &lz = s:lzkeep
|
||||
@@ -753,7 +729,7 @@ fun! vimball#RestoreSettings()
|
||||
let &report = s:repkeep
|
||||
let &ve = s:vekeep
|
||||
let &ei = s:eikeep
|
||||
let &ff = s:ffkeep
|
||||
let &l:ff = s:ffkeep
|
||||
if s:makeep[0] != 0
|
||||
" restore mark a
|
||||
" call Decho("restore mark-a: makeep=".string(makeep))
|
||||
|
@@ -1,7 +1,7 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jul 12, 2008
|
||||
" Version: 21 (modified by Bram)
|
||||
" Date: Jul 30, 2008
|
||||
" Version: 22
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
|
||||
@@ -22,7 +22,7 @@ if &cp || exists("g:loaded_zip") || v:version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_zip = "v21+b"
|
||||
let g:loaded_zip = "v22"
|
||||
let s:zipfile_escape = ' ?&;\'
|
||||
let s:ERROR = 2
|
||||
let s:WARNING = 1
|
||||
@@ -58,6 +58,12 @@ fun! zip#Browse(zipfile)
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !exists("*fnameescape")
|
||||
if &verbose > 1
|
||||
echoerr "the zip plugin is not available (your vim doens't support fnameescape())"
|
||||
endif
|
||||
return
|
||||
endif
|
||||
if !executable(g:zip_unzipcmd)
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
|
||||
@@ -99,8 +105,8 @@ fun! zip#Browse(zipfile)
|
||||
0d
|
||||
$
|
||||
|
||||
" call Decho("exe silent r! ".g:zip_unzipcmd." -l ".s:Escape(a:zipfile,1))
|
||||
exe "silent r! ".g:zip_unzipcmd." -l ".s:Escape(a:zipfile,1)
|
||||
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
|
||||
exe "silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1)
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
|
||||
@@ -193,8 +199,8 @@ fun! zip#Read(fname,mode)
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
|
||||
" call Decho("exe r! ".g:zip_unzipcmd." -p ".s:Escape(zipfile,1)." ".s:Escape(fname,1))
|
||||
exe "silent r! ".g:zip_unzipcmd." -p ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
|
||||
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1))
|
||||
exe "silent r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
|
||||
|
||||
" cleanup
|
||||
0d
|
||||
@@ -286,8 +292,8 @@ fun! zip#Write(fname)
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
endif
|
||||
|
||||
" call Decho(g:zip_zipcmd." -u ".s:Escape(zipfile,0)." ".s:Escape(fname,0))
|
||||
call system(g:zip_zipcmd." -u ".s:Escape(zipfile,0)." ".s:Escape(fname,0))
|
||||
" call Decho(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
|
||||
call system(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
|
||||
@@ -342,9 +348,8 @@ endfun
|
||||
fun! s:ChgDir(newdir,errlvl,errmsg)
|
||||
" call Dfunc("ChgDir(newdir<".a:newdir."> errlvl=".a:errlvl." errmsg<".a:errmsg.">)")
|
||||
|
||||
|
||||
try
|
||||
exe "cd ".fnameescape(newdir)
|
||||
exe "cd ".fnameescape(a:newdir)
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
redraw!
|
||||
if a:errlvl == s:NOTE
|
||||
|
Reference in New Issue
Block a user