summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_cmp
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2015-05-03 16:53:47 +0200
committerOliver Kiddle <opk@zsh.org>2015-05-03 16:53:57 +0200
commitab7ec8d9851fea8230e1ccfba284c5bfaf457d88 (patch)
tree837b14c838b96728ebdb530eb20d35737ef8419b /Completion/Unix/Command/_cmp
parentb29278c69a67089ba225a98478069eb3f32ab4e6 (diff)
downloadzsh-ab7ec8d9851fea8230e1ccfba284c5bfaf457d88.tar.gz
zsh-ab7ec8d9851fea8230e1ccfba284c5bfaf457d88.zip
35011: update completions for some common Unix commands,
in particular improving FreeBSD support
Diffstat (limited to 'Completion/Unix/Command/_cmp')
-rw-r--r--Completion/Unix/Command/_cmp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_cmp b/Completion/Unix/Command/_cmp
new file mode 100644
index 000000000..bcede8b0b
--- /dev/null
+++ b/Completion/Unix/Command/_cmp
@@ -0,0 +1,33 @@
+#compdef cmp gcmp
+
+local args variant
+_pick_variant -r variant gnu=GNU $OSTYPE --version
+
+case $variant in
+ gnu)
+ args=(
+ '(-b --print-bytes)'{-b,--print-bytes}'[print differing bytes]'
+ '(-i --ignore-initial)'{-i+,--ignore-initial}'[skip specified number of bytes]:bytes'
+ '(-l --verbose -s --silent --quiet)'{-l,--verbose}'[output all differences]'
+ '(-n --bytes)'{-n+,--bytes=}'[specify maximum bytes to compare]:bytes'
+ '(-s --quiet --silent -l --verbose)'{-s,--quiet,--silent}'[return status alone signifies differences]'
+ '(- *)'{-v,--version}'[display version information]'
+ '(- *)--help[display help information]'
+ )
+ ;;
+ freebsd*|openbsd*)
+ args=(
+ "-h[don't follow symbolic links]"
+ '-x[hexadecimal output and zero based offset index]'
+ '-z[compare file sizes first]'
+ )
+ ;&
+ *)
+ args+=(
+ '(-s)-l[output all differences]'
+ '(-l)-s[silent: return status alone signifies differences]'
+ )
+ ;;
+esac
+
+_arguments -s $args '1:file 1:_files' '2:file 2:_files' '::byte offset' '::byte offset'