mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef cmp gcmp
 | |
| 
 | |
| local args variant units
 | |
| _pick_variant -r variant gnu=GNU $OSTYPE --version
 | |
| 
 | |
| case $variant in
 | |
|   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+=(
 | |
|       "-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$units" "::byte offset$units"
 |