about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Completion/Unix/Command/_zcat19
1 files changed, 19 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_zcat b/Completion/Unix/Command/_zcat
new file mode 100644
index 000000000..dac7493b2
--- /dev/null
+++ b/Completion/Unix/Command/_zcat
@@ -0,0 +1,19 @@
+#compdef zcat
+
+(( $+_is_gnu )) || typeset -gA _is_gnu
+
+if (( ! $+_is_gnu[$words[1]] )); then
+  if [[ $(_call_program 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
+  _compress "$@"
+fi