summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_cmp
diff options
context:
space:
mode:
authorJoe Rayhawk <jrayhawk@fairlystable.org>2025-04-30 02:07:56 -0700
committerJoe Rayhawk <jrayhawk@fairlystable.org>2025-04-30 02:07:56 -0700
commit26e09889646be3ea65b4a3dfeda26213e4bb6a27 (patch)
tree4f3c73a9416bf47ad7e125383d23cf42879e38d7 /Completion/Unix/Command/_cmp
parent841bce705a58b04220b1f257abcc00ae71cbdbdc (diff)
parent001cba48ce3b964cf01fb3e2af54b20eacbc9bf5 (diff)
downloadzsh-26e09889646be3ea65b4a3dfeda26213e4bb6a27.tar.gz
zsh-26e09889646be3ea65b4a3dfeda26213e4bb6a27.zip
Merge branch 'upstream' into debian
Diffstat (limited to 'Completion/Unix/Command/_cmp')
-rw-r--r--Completion/Unix/Command/_cmp14
1 files changed, 10 insertions, 4 deletions
diff --git a/Completion/Unix/Command/_cmp b/Completion/Unix/Command/_cmp
index 6d7bfb1b7..d0a4caa41 100644
--- a/Completion/Unix/Command/_cmp
+++ b/Completion/Unix/Command/_cmp
@@ -1,23 +1,29 @@
#compdef cmp gcmp
-local args variant
+local args variant units
_pick_variant -r variant gnu=GNU $OSTYPE --version
case $variant in
- gnu)
+ freebsd*|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]'
+ )
+ units=":_numbers -u bytes offset K M G T P E Z Y"
+ ;|
+ gnu)
+ args+=(
'(- *)'{-v,--version}'[display version information]'
'(- *)--help[display help information]'
)
+ units+=" kB MB GB TB PB EB ZB YB"
;;
netbsd*) args+=( "-c[don't use mmap]" ) ;|
freebsd*|openbsd*)
- args=(
+ args+=(
"-h[don't follow symbolic links]"
'-x[hexadecimal output and zero based offset index]'
'-z[compare file sizes first]'
@@ -31,4 +37,4 @@ case $variant in
;;
esac
-_arguments -s $args '1:file 1:_files' '2:file 2:_files' '::byte offset' '::byte offset'
+_arguments -s $args '1:file 1:_files' '2:file 2:_files' "::byte offset$units" "::byte offset$units"