zsh-workers
 help / color / mirror / code / Atom feed
f700ca683dc8ccdbf83cda14787ba00a1fc852e9 blob 1329 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#compdef hexdump hd

local -a args fmts optpar
fmts=(
 {--one-byte-octal,-b}'[one-byte octal display]'
 {--one-byte-char,-c}'[one-byte character display]'
 {--two-bytes-decimal,-d}'[two-byte decimal display]'
 {--two-bytes-octal,-o}'[two-byte octal display]'
 {--two-bytes-hex,-x}'[two-byte hexadecimal display]'
 {--format=,-e+}'[specify format string to be used for displaying data]:format'
 {--format-file=,-f+}'[specify file that contains format strings]:file:_files'
)
args=(
 '(H -n --length)'{--length=,-n+}'[interpret only specified amount of input]:length (bytes)'
 '(H -s --skip)'{--skip=,-s+}'[skip specified bytes at the beginning]:offset (bytes)'
 '(H -v --no-squeezing)'{--no-squeezing,-v}'[output identical lines]'
)

[[ $service = hexdump ]] && fmts+=( {--canonical,-C}'[canonical hex+ASCII display]' )

if [[ $OSTYPE = linux* ]]; then
  args+=(
    '(-L --color)'{-L+,--color=}'[interpret color formatting specifiers colors are enabled by default]:mode'
    + H
    '(- *)'{-h,--help}'[display usage information]'
    '(- *)'{-V,--version}'[display version information]'
  )
else
  # strip long options by taking every second element
  print -v fmts -f '%2$s' -- "$fmts[@]"
  print -v args -f '%2$s' -- "$args[@]"
  optpar=( -A "-*" )
fi

_arguments -s -S $optpar '*:file:_files' $args + '(formats)' '(H)'$^fmts
debug log:

solving f700ca683 ...
found f700ca683 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).