diff options
Diffstat (limited to 'autoload/tar.vim')
-rw-r--r-- | autoload/tar.vim | 630 |
1 files changed, 0 insertions, 630 deletions
diff --git a/autoload/tar.vim b/autoload/tar.vim deleted file mode 100644 index 2289c697..00000000 --- a/autoload/tar.vim +++ /dev/null @@ -1,630 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" tar.vim: Handles browsing tarfiles -" AUTOLOAD PORTION -" Date: Apr 17, 2013 -" Version: 29 -" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> -" License: Vim License (see vim's :help license) -" -" Contains many ideas from Michael Toren's <tar.vim> -" -" Copyright: Copyright (C) 2005-2011 Charles E. Campbell {{{1 -" Permission is hereby granted to use and distribute this code, -" with or without modifications, provided that this copyright -" notice is copied with it. Like anything else that's free, -" tar.vim and tarPlugin.vim are provided *as is* and comes -" with no warranty of any kind, either expressed or implied. -" By using this plugin, you agree that in no event will the -" copyright holder be liable for any damages resulting from -" the use of this software. -" call inputsave()|call input("Press <cr> to continue")|call inputrestore() -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("g:loaded_tar") - finish -endif -let g:loaded_tar= "v29" -if v:version < 702 - echohl WarningMsg - echo "***warning*** this version of tar needs vim 7.2" - echohl Normal - finish -endif -let s:keepcpo= &cpo -set cpo&vim -"DechoTabOn -"call Decho("loading autoload/tar.vim") - -" --------------------------------------------------------------------- -" Default Settings: {{{1 -if !exists("g:tar_browseoptions") - let g:tar_browseoptions= "Ptf" -endif -if !exists("g:tar_readoptions") - let g:tar_readoptions= "OPxf" -endif -if !exists("g:tar_cmd") - let g:tar_cmd= "tar" -endif -if !exists("g:tar_writeoptions") - let g:tar_writeoptions= "uf" -endif -if !exists("g:netrw_cygwin") - if has("win32") || has("win95") || has("win64") || has("win16") - if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$' - let g:netrw_cygwin= 1 - else - let g:netrw_cygwin= 0 - endif - else - let g:netrw_cygwin= 0 - endif -endif -if !exists("g:tar_copycmd") - if !exists("g:netrw_localcopycmd") - if has("win32") || has("win95") || has("win64") || has("win16") - if g:netrw_cygwin - let g:netrw_localcopycmd= "cp" - else - let g:netrw_localcopycmd= "copy" - endif - elseif has("unix") || has("macunix") - let g:netrw_localcopycmd= "cp" - else - let g:netrw_localcopycmd= "" - endif - endif - let g:tar_copycmd= g:netrw_localcopycmd -endif -if !exists("g:tar_extractcmd") - let g:tar_extractcmd= "tar -xf" -endif - -" set up shell quoting character -if !exists("g:tar_shq") - if exists("+shq") && exists("&shq") && &shq != "" - let g:tar_shq= &shq - elseif has("win32") || has("win95") || has("win64") || has("win16") - if exists("g:netrw_cygwin") && g:netrw_cygwin - let g:tar_shq= "'" - else - let g:tar_shq= '"' - endif - else - let g:tar_shq= "'" - endif -" call Decho("g:tar_shq<".g:tar_shq.">") -endif - -" ---------------- -" Functions: {{{1 -" ---------------- - -" --------------------------------------------------------------------- -" tar#Browse: {{{2 -fun! tar#Browse(tarfile) -" call Dfunc("tar#Browse(tarfile<".a:tarfile.">)") - let repkeep= &report - set report=10 - - " sanity checks - if !executable(g:tar_cmd) - redraw! - echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' - let &report= repkeep -" call Dret("tar#Browse") - return - endif - if !filereadable(a:tarfile) -" call Decho('a:tarfile<'.a:tarfile.'> not filereadable') - if a:tarfile !~# '^\a\+://' - " if it's an url, don't complain, let url-handlers such as vim do its thing - redraw! - echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None - endif - let &report= repkeep -" call Dret("tar#Browse : file<".a:tarfile."> not readable") - return - endif - if &ma != 1 - set ma - endif - let b:tarfile= a:tarfile - - setlocal noswapfile - setlocal buftype=nofile - setlocal bufhidden=hide - setlocal nobuflisted - setlocal nowrap - set ft=tar - - " give header -" call Decho("printing header") - let lastline= line("$") - call setline(lastline+1,'" tar.vim version '.g:loaded_tar) - call setline(lastline+2,'" Browsing tarfile '.a:tarfile) - call setline(lastline+3,'" Select a file with cursor and press ENTER') - keepj $put ='' - keepj sil! 0d - keepj $ - - let tarfile= a:tarfile - if has("win32unix") && executable("cygpath") - " assuming cygwin - let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif - let curlast= line("$") - if tarfile =~# '\.\(gz\|tgz\)$' -" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.lrp' -" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$' -" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.\(lzma\|tlz\)$' -" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.\(xz\|txz\)$' -" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - else - if tarfile =~ '^\s*-' - " A file name starting with a dash is taken as an option. Prepend ./ to avoid that. - let tarfile = substitute(tarfile, '-', './-', '') - endif -" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0)) - exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1) - endif - if v:shell_error != 0 - redraw! - echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">" -" call Dret("tar#Browse : a:tarfile<".a:tarfile.">") - return - endif - if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)') - redraw! - echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None - keepj sil! %d - let eikeep= &ei - set ei=BufReadCmd,FileReadCmd - exe "r ".fnameescape(a:tarfile) - let &ei= eikeep - keepj sil! 1d -" call Dret("tar#Browse : a:tarfile<".a:tarfile.">") - return - endif - - setlocal noma nomod ro - noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr> - - let &report= repkeep -" call Dret("tar#Browse : b:tarfile<".b:tarfile.">") -endfun - -" --------------------------------------------------------------------- -" TarBrowseSelect: {{{2 -fun! s:TarBrowseSelect() -" call Dfunc("TarBrowseSelect() b:tarfile<".b:tarfile."> curfile<".expand("%").">") - let repkeep= &report - set report=10 - let fname= getline(".") -" call Decho("fname<".fname.">") - - if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-' - redraw! - echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"' -" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"') - return - endif - - " sanity check - if fname =~ '^"' - let &report= repkeep -" call Dret("TarBrowseSelect") - return - endif - - " about to make a new window, need to use b:tarfile - let tarfile= b:tarfile - let curfile= expand("%") - if has("win32unix") && executable("cygpath") - " assuming cygwin - let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif - - new - if !exists("g:tar_nomax") || g:tar_nomax == 0 - wincmd _ - endif - let s:tblfile_{winnr()}= curfile - call tar#Read("tarfile:".tarfile.'::'.fname,1) - filetype detect - set nomod - exe 'com! -buffer -nargs=? -complete=file TarDiff :call tar#Diff(<q-args>,"'.fnameescape(fname).'")' - - let &report= repkeep -" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">") -endfun - -" --------------------------------------------------------------------- -" tar#Read: {{{2 -fun! tar#Read(fname,mode) -" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")") - let repkeep= &report - set report=10 - let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','') - let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','') - if has("win32unix") && executable("cygpath") - " assuming cygwin - let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif -" call Decho("tarfile<".tarfile.">") -" call Decho("fname<".fname.">") - - if fname =~ '\.bz2$' && executable("bzcat") - let decmp= "|bzcat" - let doro = 1 - elseif fname =~ '\.gz$' && executable("zcat") - let decmp= "|zcat" - let doro = 1 - elseif fname =~ '\.lzma$' && executable("lzcat") - let decmp= "|lzcat" - let doro = 1 - elseif fname =~ '\.xz$' && executable("xzcat") - let decmp= "|xzcat" - let doro = 1 - else - let decmp="" - let doro = 0 - if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$' - setlocal bin - endif - endif - - if exists("g:tar_secure") - let tar_secure= " -- " - else - let tar_secure= " " - endif - if tarfile =~# '\.bz2$' -" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) - exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - elseif tarfile =~# '\.\(gz\|tgz\)$' -" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1)) - exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - elseif tarfile =~# '\.lrp$' -" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) - exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - elseif tarfile =~# '\.lzma$' -" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) - exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - elseif tarfile =~# '\.\(xz\|txz\)$' -" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) - exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - else - if tarfile =~ '^\s*-' - " A file name starting with a dash is taken as an option. Prepend ./ to avoid that. - let tarfile = substitute(tarfile, '-', './-', '') - endif -" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp) - exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp - endif - - if doro - " because the reverse process of compressing changed files back into the tarball is not currently supported - setlocal ro - endif - - let b:tarfile= a:fname - exe "file tarfile::".fnameescape(fname) - - " cleanup - keepj sil! 0d - set nomod - - let &report= repkeep -" call Dret("tar#Read : b:tarfile<".b:tarfile.">") -endfun - -" --------------------------------------------------------------------- -" tar#Write: {{{2 -fun! tar#Write(fname) -" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">") - let repkeep= &report - set report=10 - - if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-' - redraw! - echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"' -" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"') - return - endif - - " sanity checks - if !executable(g:tar_cmd) - redraw! - echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' - let &report= repkeep -" call Dret("tar#Write") - return - endif - if !exists("*mkdir") - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None - let &report= repkeep -" call Dret("tar#Write") - return - endif - - let curdir= getcwd() - let tmpdir= tempname() -" call Decho("orig tempname<".tmpdir.">") - if tmpdir =~ '\.' - let tmpdir= substitute(tmpdir,'\.[^.]*$','','e') - endif -" call Decho("tmpdir<".tmpdir.">") - call mkdir(tmpdir,"p") - - " attempt to change to the indicated directory - try - exe "cd ".fnameescape(tmpdir) - catch /^Vim\%((\a\+)\)\=:E344/ - redraw! - echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None - let &report= repkeep -" call Dret("tar#Write") - return - endtry -" call Decho("current directory now: ".getcwd()) - - " place temporary files under .../_ZIPVIM_/ - if isdirectory("_ZIPVIM_") - call s:Rmdir("_ZIPVIM_") - endif - call mkdir("_ZIPVIM_") - cd _ZIPVIM_ -" call Decho("current directory now: ".getcwd()) - - let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','') - let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') - - " handle compressed archives - if tarfile =~# '\.bz2' - call system("bzip2 -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.bz2','','e') - let compress= "bzip2 -- ".shellescape(tarfile,0) -" call Decho("compress<".compress.">") - elseif tarfile =~# '\.gz' - call system("gzip -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.gz','','e') - let compress= "gzip -- ".shellescape(tarfile,0) -" call Decho("compress<".compress.">") - elseif tarfile =~# '\.tgz' - call system("gzip -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.tgz','.tar','e') - let compress= "gzip -- ".shellescape(tarfile,0) - let tgz = 1 -" call Decho("compress<".compress.">") - elseif tarfile =~# '\.xz' - call system("xz -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.xz','','e') - let compress= "xz -- ".shellescape(tarfile,0) -" call Decho("compress<".compress.">") - elseif tarfile =~# '\.lzma' - call system("lzma -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.lzma','','e') - let compress= "lzma -- ".shellescape(tarfile,0) -" call Decho("compress<".compress.">") - endif -" call Decho("tarfile<".tarfile.">") - - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None - else - -" call Decho("tarfile<".tarfile."> fname<".fname.">") - - if fname =~ '/' - let dirpath = substitute(fname,'/[^/]\+$','','e') - if has("win32unix") && executable("cygpath") - let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e') - endif - call mkdir(dirpath,"p") - endif - if tarfile !~ '/' - let tarfile= curdir.'/'.tarfile - endif - if tarfile =~ '^\s*-' - " A file name starting with a dash may be taken as an option. Prepend ./ to avoid that. - let tarfile = substitute(tarfile, '-', './-', '') - endif -" call Decho("tarfile<".tarfile."> fname<".fname.">") - - if exists("g:tar_secure") - let tar_secure= " -- " - else - let tar_secure= " " - endif - exe "w! ".fnameescape(fname) - if has("win32unix") && executable("cygpath") - let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e') - endif - - " delete old file from tarfile -" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")") - call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None - else - - " update tarfile with new file -" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) - call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None - elseif exists("compress") -" call Decho("call system(".compress.")") - call system(compress) - if exists("tgz") -" call Decho("rename(".tarfile.".gz,".substitute(tarfile,'\.tar$','.tgz','e').")") - call rename(tarfile.".gz",substitute(tarfile,'\.tar$','.tgz','e')) - endif - endif - endif - - " support writing tarfiles across a network - if s:tblfile_{winnr()} =~ '^\a\+://' -" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">") - let tblfile= s:tblfile_{winnr()} - 1split|enew - let binkeep= &l:binary - let eikeep = &ei - set binary ei=all - exe "e! ".fnameescape(tarfile) - call netrw#NetWrite(tblfile) - let &ei = eikeep - let &l:binary = binkeep - q! - unlet s:tblfile_{winnr()} - endif - endif - - " cleanup and restore current directory - cd .. - call s:Rmdir("_ZIPVIM_") - exe "cd ".fnameescape(curdir) - setlocal nomod - - let &report= repkeep -" call Dret("tar#Write") -endfun - -" --------------------------------------------------------------------- -" tar#Diff: {{{2 -fun! tar#Diff(userfname,fname) -" call Dfunc("tar#Diff(userfname<".a:userfname."> fname<".a:fname.")") - let fname= a:fname - if a:userfname != "" - let fname= a:userfname - endif - if filereadable(fname) - " sets current file (from tarball) for diff'ing - " splits window vertically - " opens original file, sets it for diff'ing - " sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes) - diffthis - wincmd v - exe "e ".fnameescape(fname) - diffthis - else - redraw! - echo "***warning*** unable to read file<".fname.">" - endif -" call Dret("tar#Diff") -endfun - -" --------------------------------------------------------------------- -" s:Rmdir: {{{2 -fun! s:Rmdir(fname) -" call Dfunc("Rmdir(fname<".a:fname.">)") - if has("unix") - call system("/bin/rm -rf -- ".shellescape(a:fname,0)) - elseif has("win32") || has("win95") || has("win64") || has("win16") - if &shell =~? "sh$" - call system("/bin/rm -rf -- ".shellescape(a:fname,0)) - else - call system("del /S ".shellescape(a:fname,0)) - endif - endif -" call Dret("Rmdir") -endfun - -" --------------------------------------------------------------------- -" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2 -fun! tar#Vimuntar(...) -" call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">") - let tarball = expand("%") -" call Decho("tarball<".tarball.">") - let tarbase = substitute(tarball,'\..*$','','') -" call Decho("tarbase<".tarbase.">") - let tarhome = expand("%:p") - if has("win32") || has("win95") || has("win64") || has("win16") - let tarhome= substitute(tarhome,'\\','/','g') - endif - let tarhome= substitute(tarhome,'/[^/]*$','','') -" call Decho("tarhome<".tarhome.">") - let tartail = expand("%:t") -" call Decho("tartail<".tartail.">") - let curdir = getcwd() -" call Decho("curdir <".curdir.">") - " set up vimhome - if a:0 > 0 && a:1 != "" - let vimhome= a:1 - else - let vimhome= vimball#VimballHome() - endif -" call Decho("vimhome<".vimhome.">") - -" call Decho("curdir<".curdir."> vimhome<".vimhome.">") - if simplify(curdir) != simplify(vimhome) - " copy (possibly compressed) tarball to .vim/vimfiles -" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome)) - call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome)) -" call Decho("exe cd ".fnameescape(vimhome)) - exe "cd ".fnameescape(vimhome) - endif -" call Decho("getcwd<".getcwd().">") - - " if necessary, decompress the tarball; then, extract it - if tartail =~ '\.tgz' - if executable("gunzip") - silent exe "!gunzip ".shellescape(tartail) - elseif executable("gzip") - silent exe "!gzip -d ".shellescape(tartail) - else - echoerr "unable to decompress<".tartail."> on this sytem" - if simplify(curdir) != simplify(tarhome) - " remove decompressed tarball, restore directory -" call Decho("delete(".tartail.".tar)") - call delete(tartail.".tar") -" call Decho("exe cd ".fnameescape(curdir)) - exe "cd ".fnameescape(curdir) - endif -" call Dret("tar#Vimuntar") - return - endif - else - call vimball#Decompress(tartail,0) - endif - let extractcmd= netrw#WinPath(g:tar_extractcmd) -" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")") - call system(extractcmd." ".shellescape(tarbase.".tar")) - - " set up help - if filereadable("doc/".tarbase.".txt") -" call Decho("exe helptags ".getcwd()."/doc") - exe "helptags ".getcwd()."/doc" - endif - - if simplify(tarhome) != simplify(vimhome) - " remove decompressed tarball, restore directory - call delete(vimhome."/".tarbase.".tar") - exe "cd ".fnameescape(curdir) - endif - -" call Dret("tar#Vimuntar") -endfun - -" ===================================================================== -" Modelines And Restoration: {{{1 -let &cpo= s:keepcpo -unlet s:keepcpo -" vim:ts=8 fdm=marker - -endif |