mirror of
https://github.com/fish-shell/fish-shell
synced 2024-09-21 06:51:58 +00:00
Add support for completing using contents of tar archives
darcs-hash:20061102235548-ac50b-ec4a3b206c73f8fc44cc715b2a95fe6fef2d53c0.gz
This commit is contained in:
parent
d8f1c0abcd
commit
bedf8ea55e
2 changed files with 39 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
|
||||
# Peek inside of archives and list all files
|
||||
complete -c tar -a "(__fish_complete_tar)"
|
||||
|
||||
complete -c tar -s A -l catenate -d (N_ "Append archive to archive")
|
||||
complete -c tar -l concatenate -d (N_ "Append archive to archive")
|
||||
complete -c tar -s c -l create -d (N_ "Create archive")
|
||||
|
|
35
share/functions/__fish_complete_tar.fish
Normal file
35
share/functions/__fish_complete_tar.fish
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
function __fish_complete_tar -d "Peek inside of archives and list all files"
|
||||
|
||||
set -l cmd (commandline -poc)
|
||||
set -e cmd[1]
|
||||
for i in $cmd
|
||||
switch $i
|
||||
case '-*'
|
||||
continue
|
||||
|
||||
case '*.tar.bz' '*.tar.bz2' '*.tbz' '*.tbz2'
|
||||
if test -f $i
|
||||
set -l file_list (tar -jt <$i)
|
||||
printf (_ "%s\tArchived file\n") $file_list
|
||||
end
|
||||
return
|
||||
|
||||
case '*.tar.gz' '*.tgz'
|
||||
if test -f $i
|
||||
set -l file_list (tar -it <$i)
|
||||
printf (_ "%s\tArchived file\n") $file_list
|
||||
end
|
||||
return
|
||||
|
||||
case '*.tar'
|
||||
if test -f $i
|
||||
set -l file_list (tar -t <$i)
|
||||
printf (_ "%s\tArchived file\n") $file_list
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in a new issue