fish-shell/share/functions/__fish_complete_tar.fish
2010-09-18 10:18:26 +08:00

36 lines
655 B
Fish

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