zsh-workers
 help / color / mirror / code / Atom feed
706d82f26cc1341ee9160c6eb4c7e9d72ce16c5f blob 1935 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
 
#compdef last lastb

local pattern arg args ttys
ttys=( /dev/tty*(N) /dev/pts/*(N) reboot )
ttys=( ${ttys#/dev/} )

for pattern arg in \
  '(solaris*|linux-gnu)' '-a[display hostname in last column]' \
  '((free|net|open)bsd*|darwin*|dragonfly*|linux-gnu)' '-h[limit sessions by hostname]:host:_hosts' \
  '((free|open)bsd*|linux-gnu)' '-s[report duration in seconds]' \
  '(freebsd*|openbsd*)' '-d[limit sessions to those active at snapshot time]:time ([[CC]YY][MMDD]hhmm[.SS])' \
  '((net|free|open)bsd*|darwin*|dragonfly*)' '-t[limit sessions by tty]:tty:compadd -a ttys' \
  'openbsd*' '-c[calculate total time]' \
  '^darwin*' '-f[specify account file]:file:_files' \
  '(solaris*|linux-gnu|freebsd*|openbsd*)' '-n[specify number of lines to show]:number' \
  '((open|net)bsd*|dragonfly*)' '-T[show more detailed time information including year and seconds]' \
  'netbsd*' '-x[assume file is in wtmpx(5) format]' \
  'netbsd*' '-n[show IP of remote hosts]' \
  'freebsd*' '-w[show seconds in durarion field]' \
  'freebsd*' '-y[show year in session start time]'
do
  [[ $OSTYPE = $~pattern ]] && args+=( $arg )
done

case $OSTYPE in
  netbsd*|dragonfly*)
    args+=(
      '-H[specify width for host field]:width'
      '-N[specify width for login name field]:width'
      '-L[specify width for tty field]:width'
    )
  ;;
  linux-gnu)
    args+=(
      '-R[suppress display of hostname field]'
      '-d[translate IP to hostname]'
      '-F[show full login and logout times and dates]'
      '-i[show IP of remote hosts]'
      '-o[read old-format wtmp]'
      '-t[limit sessions to those active at snapshot time]:time (YYYYMMDDhhmmss)'
      '-w[show full user and domain names]'
      '-x[display shutdown/runlevel entries]'
    )
  ;;
esac

if [[ $OSTYPE = (linux-gnu|solaris*) ]]; then
  args+=( '*:arg: _alternative "users:user:_users" "ttys:tty:compadd -a ttys"' )
else
  args+=( '*:user:_users' )
fi

_arguments -s $args
debug log:

solving 706d82f ...
found 706d82f 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).