summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Completion/User/_zcat20
1 files changed, 20 insertions, 0 deletions
diff --git a/Completion/User/_zcat b/Completion/User/_zcat
new file mode 100644
index 000000000..378844511
--- /dev/null
+++ b/Completion/User/_zcat
@@ -0,0 +1,20 @@
+#compdef zcat
+
+(( $+_is_gnu )) || typeset -gA _is_gnu
+
+if (( ! $+_is_gnu[$words[1]] )); then
+ if [[ $(_call version $words[1] --license </dev/null 2>&1) = *GNU* ]]
+ then
+ _is_gnu[$words[1]]=yes
+ else
+ _is_gnu[$words[1]]=
+ fi
+fi
+
+if [[ -n "$_is_gnu[$words[1]]" ]]
+then
+ _gzip "$@"
+else
+ _description files expl 'compressed file'
+ _files "$expl[@]" -g '*.Z'
+fi