zsh-workers
 help / color / mirror / code / Atom feed
42d4ae70562844d6ec33687dee6c77aaf99f1348 blob 4270 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
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
 
#compdef gzip gunzip gzcat=gunzip pigz unpigz -redirect-,<,gunzip=gunzip -redirect-,>,gzip=gunzip -redirect-,<,gzip=gzip -value-,GZIP,-default-

local decompress files expl curcontext="$curcontext" state line ret=1
local -a pigz
typeset -A opt_args
local excl="--decompress --uncompress -1 -2 -3 -4 -5 -6 -7 -8 -9 -11 --best"

files=( '*:files:->files' )
case "$service" in
unpigz|pigz)
  pigz=(
    '(-K --zip)'{-K,--zip}'[compress to PKWare zip format]'
    '(-b --blocksize)'{-b+,--blocksize}'[set compression block size]:size (KiB)'
    '(-p --processes)'{-p,--processes}'[specify number of processes to use]'
    '(-z --zlib)'{-z,--zlib}'[compress to zlib (.zz) format]'
    '(-m --no-time)'{-m,--no-time}"[don't store/restore modification time in/from header]"
    '(-M --time)'{-M,--time}"[store/restore modification time in/from header]"
    '(--synchronous)-Y[force output file write to permanent storage]'
  )
;|
pigz)
  pigz+=(
    '(-i --independent)'{-i,--independent}'[compress blocks independently to allow for damage recovery]'
    "($excl)-11"
    '(--rsyncable)-R[make rsync-friendly archive]'
    "($excl)"{-F,--first}'[do iterations first, before block split]'
    "($excl)"{-I+,--iterations}'[specify number of iterations for optimization]:iterations [15]'
    "($excl)"{-J+,--maxsplits}'[specify maximum number of split blocks]:split blocks [15]'
    "($excl)"{-O,--oneblock}"[don't split into smaller blocks]"
  )
;|
*GZIP*)
  compset -q
  words=( fake "$words[@]" )
  (( CURRENT++ ))
  files=()
  ;&
gunzip|zcat|unpigz)
  decompress=yes
  ;&
gzip|pigz)
  _arguments -C -s -S \
    '(--to-stdout --stdout)-c[write on standard output]' \
    '(-c --stdout)--to-stdout[write on standard output]' \
    '(-c --to-stdout)--stdout[write on standard output]' \
    "($excl)"{-d,--decompress,--uncompress}'[decompress]' \
    '(--force)-f[force overwrite]' \
    '(-f)--force[force overwrite]' \
    '(- *)'{-h,--help}'[display help message]' \
    "(--keep)-k[don't delete input files]" \
    "(-k)--keep[don't delete input files]" \
    '(--list)-l[list compressed file contents]' \
    '(-l)--list[list compressed file contents]' \
    '(- *)'{-L,--license}'[display software license]' \
    "(--no-name)-n[don't save or restore the original name and time stamp]" \
    "(-n)--no-name[don't save or restore the original name and time stamp]" \
    '(--name)-N[save or restore the original name and time stamp]' \
    '(-N)--name[save or restore the original name and time stamp]' \
    '(--quiet --silent)-q[suppress all warnings]' \
    '(-q --silent)--quiet[suppress all warnings]' \
    '(-q --quiet)--silent[suppress all warnings]' \
    '(--recursive)-r[operate recursively on directories]' \
    '(-r)--recursive[operate recursively on directories]' \
    '(-R)--rsyncable[make rsync-friendly archive]' \
    '(--suffix)-S+[specify suffix for compressed files]:suffix:' \
    '(-S)--suffix=[specify suffix for compressed files]:suffix:' \
    '(-Y)--synchronous[force output file write to permanent storage]' \
    '(--test)-t[test compressed file integrity]' \
    '(-t)--test[test compressed file integrity]' \
    '(--verbose)-v[verbose mode]' \
    '(-v)--verbose[verbose mode]' \
    '(- *)'{-V,--version}'[display version number]' \
    "($excl)"-{-fast,1,2,3,4,5,6,7,8,9,-best} \
    "$pigz[@]" "$files[@]" && ret=0
  ;;
esac

case "$state" in
files)
  (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[--uncompress] ||
     $+opt_args[-l] || $+opt_args[--list] ||
     $+opt_args[-t] || $+opt_args[--test] )) &&
    decompress=yes
  if (( $+opt_args[-r] || $+opt_args[--recursive] )); then
    if [[ -z "$decompress" ]]; then
      _description directories expl 'directory to compress'
      _files "$expl[@]" -/ && return
    else
      _description directories expl 'compressed directory'
      _files "$expl[@]" -/ && return
    fi
  else
    if [[ -z "$decompress" ]]; then
      _description files expl 'file to compress'
      _files "$expl[@]" -g '^*.(([tT]|)[gG]|)[zZ](-.)' && return
    else
      _description files expl 'compressed file'
      if (( $+opt_args[-f] )); then
	_files "$expl[@]" && return
      else
	_files "$expl[@]" -g '*.(([tT]|)[gG]|)[zZ](-.)' && return
      fi
    fi
  fi
  ;;
esac

return ret
debug log:

solving 42d4ae705 ...
found 42d4ae705 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).