mirror of
https://github.com/neovim/neovim.git
synced 2025-11-05 18:24:22 +00:00
vim-patch:470317f: runtime(tar): remove dependency on netrw#WinPath, include mapping doc
related: vim/vim#17124
470317f78b
Co-authored-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
" 2025 Mar 02 by Vim Project: escape the filename before using :read
|
" 2025 Mar 02 by Vim Project: escape the filename before using :read
|
||||||
" 2025 Mar 02 by Vim Project: determine the compression using readblob()
|
" 2025 Mar 02 by Vim Project: determine the compression using readblob()
|
||||||
" instead of shelling out to file(1)
|
" instead of shelling out to file(1)
|
||||||
|
" 2025 Apr 16 by Vim Project: decouple from netrw by adding s:WinPath()
|
||||||
"
|
"
|
||||||
" Contains many ideas from Michael Toren's <tar.vim>
|
" Contains many ideas from Michael Toren's <tar.vim>
|
||||||
"
|
"
|
||||||
@@ -146,7 +147,7 @@ fun! tar#Browse(tarfile)
|
|||||||
let lastline= line("$")
|
let lastline= line("$")
|
||||||
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
|
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
|
||||||
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
|
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
|
||||||
call setline(lastline+3,'" Select a file with cursor and press ENTER')
|
call setline(lastline+3,'" Select a file with cursor and press ENTER, "x" to extract a file')
|
||||||
keepj $put =''
|
keepj $put =''
|
||||||
keepj sil! 0d
|
keepj sil! 0d
|
||||||
keepj $
|
keepj $
|
||||||
@@ -617,7 +618,7 @@ fun! tar#Extract()
|
|||||||
let tarball = expand("%")
|
let tarball = expand("%")
|
||||||
let tarbase = substitute(tarball,'\..*$','','')
|
let tarbase = substitute(tarball,'\..*$','','')
|
||||||
|
|
||||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
let extractcmd= s:WinPath(g:tar_extractcmd)
|
||||||
if filereadable(tarbase.".tar")
|
if filereadable(tarbase.".tar")
|
||||||
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
@@ -768,6 +769,25 @@ fun! s:Header(fname)
|
|||||||
return "unknown"
|
return "unknown"
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" s:WinPath: {{{2
|
||||||
|
fun! s:WinPath(path)
|
||||||
|
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && has("win32")
|
||||||
|
" remove cygdrive prefix, if present
|
||||||
|
let path = substitute(a:path, '/cygdrive/\(.\)', '\1:', '')
|
||||||
|
" remove trailing slash (Win95)
|
||||||
|
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||||
|
" remove escaped spaces
|
||||||
|
let path = substitute(path, '\ ', ' ', 'g')
|
||||||
|
" convert slashes to backslashes
|
||||||
|
let path = substitute(path, '/', '\', 'g')
|
||||||
|
else
|
||||||
|
let path = a:path
|
||||||
|
endif
|
||||||
|
|
||||||
|
return path
|
||||||
|
endfun
|
||||||
|
|
||||||
" =====================================================================
|
" =====================================================================
|
||||||
" Modelines And Restoration: {{{1
|
" Modelines And Restoration: {{{1
|
||||||
let &cpo= s:keepcpo
|
let &cpo= s:keepcpo
|
||||||
|
|||||||
@@ -57,6 +57,15 @@ Copyright 2005-2017: *tar-copyright*
|
|||||||
let g:loaded_tarPlugin= 1
|
let g:loaded_tarPlugin= 1
|
||||||
let g:loaded_tar = 1
|
let g:loaded_tar = 1
|
||||||
<
|
<
|
||||||
|
*tar-mappings*
|
||||||
|
MAPPINGS~
|
||||||
|
|
||||||
|
The following (buffer-local) mappings are available in a tar buffer:
|
||||||
|
|
||||||
|
<CR> Open selected file for editing, any changes will be
|
||||||
|
written back to the archive.
|
||||||
|
<LeftMouse> same as <CR>
|
||||||
|
x Extract selected file.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. Options *tar-options*
|
3. Options *tar-options*
|
||||||
|
|||||||
Reference in New Issue
Block a user