zsh-workers
 help / color / mirror / code / Atom feed
60f59a589b1abb150b06206c49e8db82cc04e5ae blob 5469 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
#compdef lsof

local curcontext="$curcontext" ret=1
local -a state line expl args vals fields alts suf hsuf pref

case $OSTYPE in
  linux*)
    args=(
      '-E[display endpoint info for pipes, sockets and pseudoterminal files but not files of the endpoints]'
      '+E[display endpoint info for pipes, sockets and pseudoterminal files including files of the endpoints]'
      '-X[skip reporting of info on network connections]'
      '*-Z[display or filter by SELinux security context]::context pattern:_selinux_contexts -a domain'
    )
  ;;
  solaris*)
    args=(
      '-X[include deleted files]'
      '-z[zone information]::zone:_zones'
    )
  ;;
esac

_arguments -C -s -S $args \
  '(-)'{-\?,-h}'[list help]' \
  '-a[AND selections]' \
  '-b[avoid kernel blocks]' \
  '+c[truncate command name to specified characters]:characters' \
  '-c[list files with specified command name beginning]:command name' \
  '+d[search for open instances for contents of specified dir]:search directory:_files -/' \
  '-d[specify list of file descriptors to exclude/include]:file descriptors:->filedes' \
  '+D[recursively search from specified dir]:search directory:_files -/' \
  '-D[direct use of device cache file]:function:((\?\:report\ device\ cache\ file\ paths b\:build\ the\ device\ cache\ file i\:ignore\ the\ device\ cache\ file r\:read\ the\ device\ cache\ file u\:read\ and\ update\ the\ device\ cache\ file))' \
  '*-+e[exempt filesystem from blocking kernel calls]:file system:_directories' \
  '-+E[show endpoint information for pipes, sockets, ptys, mqueues and eventfds; with -E, omit endpoint files]' \
  '-f[inhibit listing of kernel file structure info]::info type:->file-structures' \
  '+f[enable listing of kernel file structure info]::info type:->file-structures' \
  '-F[select output fields]:fields:->fields' \
  '-g[select by process group id]::process group id:_sequence -s , _pgids' \
  '-H[print human readable sizes]' \
  '(*)*-i[select internet files]::address:->addresses' \
  '-K+[select listing of tasks of processes]::value:((i\:ignore\ tasks))' \
  '-k[specify kernel name list file]:kernel file:_files' \
  '-l[inhibit conversion of UIDs to user names]' \
  '-L[list no link counts]' \
  '+L[list all link counts]::max link count for listed files' \
  '+m[specify or write a mount supplement file]::mount supplement file:_files' \
  '-m[specify kernel memory file]:kernel memory file:_files' \
  '-M[disable reporting of portmapper registrations]' \
  '+M[enable reporting of portmapper registrations]' \
  '-n[inhibit conversion of network numbers to hostnames]' \
  '-N[select listing of NFS files]' \
  '(-s)-o[list file offset]::digits for file offset' \
  '-O[avoid overheads of bypassing potential blocking]' \
  '-P[inhibit conversion of port numbers to port names]' \
  '-Q[ignore failed search terms]' \
  '-p[list files for specified processes]:process ID:_sequence -s , _pids' \
  '-r[repeat listing endlessly]::delay (seconds)' \
  '+r[repeat listing until no files listed]::delay (seconds)' \
  '-R[list parent PID]' \
  '(-o)-s+[list file size or exclude TCP/UDP files by state]::state:->states' \
  '-S[specify timeout for kernel functions that might deadlock]:timeout (seconds)' \
  '-T[select reporting of TCP/TPI info]::info type:((q\:queue\ length\ reporting s\:state\ reporting w\:window\ size\ reporting))' \
  '(+w -w)-t[terse output]' \
  '-u[list files owned by specified users]:user:_users -S,' \
  '-U[list Unix domain socket files]' \
  '(-)-v[list version info]' \
  '-V[indicate unsuccessfully searched for items]' \
  '(-t)+w[suppress warnings]' \
  '(-t)-w[enable warnings]' \
  '-x[cross filesystems/traverse symlinks with +d/+D]::type:((f\:filesystems s\:symlinks))' \
  '*:file:_files' && ret=0

case $state in
  addresses)
    if compset -P 1 '*:'; then
      _ports && ret=0
    else
      if compset -P 1 '*@'; then
        pref=()
      else
        pref=( -P @ )
        suf=( -qS @ )
        [[ $PREFIX = (#i)(4|6|tcp|udp)* ]] || alts=( 'ip-versions:IP version:(4 6)' )
        compset -P '[46]'
        alts+=( 'protocols:protocol:compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP' )
      fi
      if compset -S '@*'; then
        suf=()
      else
        hsuf=( -qS : )
        compset -S ':*' && hsuf=()
        alts+=( "hosts:host:_hosts $pref $hsuf" )
      fi

      _alternative $alts && ret=0
    fi
  ;;
  fields)
    fields=( ${${${${(f)"$($words[1] -F \? 2>&1)"}[2,-1]#??}//  ##/:}:#(#s)[${PREFIX:-:}]:*} )
    compset -P '*'
    _describe -t fields "field" fields -S '' && ret=0
  ;;
  filedes)
    _sequence -s , _wanted -x file-descriptors expl "file descriptor" compadd - \
        cwd err jld ltz mem mmap pd rtd tr txt v86 && ret=0
  ;;
  file-structures)
    vals=(
      'g[file flag abbreviations]'
      'G[file flags in hexadecimal]'
    )
    [[ $OSTYPE != linux* ]] && vals+=(
      'c[file structure use count]'
      'f[file structure address]'
      'n[file structure node address]'
    )
    _values 'kernel file structures' $vals && ret=0
  ;;
  states)
    if compset -P 1 '*:'; then
      _sequence _wanted states expl state compadd - -M 'm:{a-z}={A-Z}' \
          CLOSED IDLE BOUND LISTEN ESTABLISHED SYN_SENT SYN_RCDV ESTABLISHED \
          CLOSE_WAIT FIN_WAIT1 CLOSING LAST_ACK FIN_WAIT_2 TIME_WAIT && ret=0
    else
      compset -S ':*' || suf=( -qS : )
      _wanted protocols expl protocol compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP && ret=0
    fi
  ;;
esac

return ret
debug log:

solving 60f59a589 ...
found 60f59a589 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).