From f35932958fccbd464d8e8514a106fef6d9c86ff3 Mon Sep 17 00:00:00 2001 From: Clint Adams Date: Thu, 3 Dec 2009 05:33:14 +0000 Subject: 27448: mild understanding of xz-compressed tarballs. --- Completion/Unix/Command/_tar | 4 ++++ Completion/Unix/Type/_tar_archive | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'Completion') diff --git a/Completion/Unix/Command/_tar b/Completion/Unix/Command/_tar index 334605137..4f3247291 100644 --- a/Completion/Unix/Command/_tar +++ b/Completion/Unix/Command/_tar @@ -35,6 +35,8 @@ _tar_cmd="${(j::)tmp#-}" (( $words[(I)--(un|)gzip] )) && _tar_cmd="z$_tar_cmd" (( $words[(I)--(un|)compress] )) && _tar_cmd="Z$_tar_cmd" +(( $words[(I)--bzip2] )) && _tar_cmd="j$_tar_cmd" +(( $words[(I)--xz] )) && _tar_cmd="J$_tar_cmd" (( $words[(I)--list] )) && _tar_cmd="t$_tar_cmd" (( $words[(I)--(extract|get)] )) && _tar_cmd="x$_tar_cmd" (( $words[(I)--create] )) && _tar_cmd="c$_tar_cmd" @@ -141,6 +143,8 @@ elif [[ ( "$_tar_cmd" = *[xt]* || -n $del ) && -n "$tf" ]]; then largs=-tZf elif [[ $_tar_cmd = *I* ]]; then largs=-tIf + elif [[ $_tar_cmd = *J* ]]; then + largs=-tJf else # Some random compression program tmp="${words[(r)--use-comp*]}" diff --git a/Completion/Unix/Type/_tar_archive b/Completion/Unix/Type/_tar_archive index 1ac7cd0bf..a39e841f8 100644 --- a/Completion/Unix/Type/_tar_archive +++ b/Completion/Unix/Type/_tar_archive @@ -18,8 +18,10 @@ if [[ "$1" = *[urtx]* ]]; then _files "$expl[@]" -g '*.((tar|TAR).(gz|GZ|Z)|tgz)(-.)' elif [[ "$1" = *[Ijy]* ]]; then _files "$expl[@]" -g '*.(tar|TAR).bz2(-.)' + elif [[ "$1" = *J* ]]; then + _files "$expl[@]" -g '*.(tar|TAR).xz(-.)' elif [[ "$_cmd_variant[$service]" == gnu ]]; then - _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|)|tgz)(-.)' + _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|xz|)|tgz)(-.)' else _files "$expl[@]" -g '*.(tar|TAR)(-.)' fi -- cgit 1.4.1