zsh-workers
 help / color / mirror / code / Atom feed
c49c09726d1a8208f49836b1c2f72aa3aeae651f blob 1626 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
 
#compdef _beep

# beep  [--verbose | --debug] [-e device | --device device] [-f N] [-l N]
#       [-r N] [-d N] [-D N] [-s] [-c]
# beep [ OPTIONS ] [-n] [--new] [ OPTIONS ]
# beep [-h] [--help]
# beep [-v] [-V] [--version]

# We support the -n/--new restart flag, when it is in its own word, by
# stripping all words from the command line that are after the first -n
# following words[CURRENT] or before the first -n preceding it.  As far as
# _arguments knows, the -n flag does not exist, and argv should specify
# a single beeping specification.

## Strip $words[2] through the first -n preceding $words[CURRENT].
integer specstart
while specstart=$words[(i)(-n|--new)]
      (( specstart < CURRENT ))
do
  words[2,specstart]=()
  (( CURRENT -= specstart - 1))
done
unset specstart

## Strip everything in $words after the first -n following $words[CURRENT].
integer specend
while specend=$words[(I)(-n|--new)]
      (( specend > CURRENT ))
do
  words[specend,$#words]=()
done
unset specend

local -a args
args=(
  "(--verbose --debug)"{--verbose,--debug}"[enable debug output]"
  "(-e --device)"{-e+,--device=}"[specify device to use]:device (default /dev/tty0, /dev/vc/0)"
  "-f+:frequency (Hz) as integer or float"
  "-l+:duration (ms)"
  "-r+:number of repetitions"
  "(-D)-d+[delay between beeps]:delay (ms)"
  "(-d)-D+[delay after each beep]:delay (ms)"
  "(-n --new)"{-n,--new}"[start a new beeping specification]"
  "-s[cat, and beep after each line]"
  "-c[cat, and beep after each character]"
  "(-)"{-h,--help}"[display usage info]"
  "(-)"{-v,-V,--version}"[display version info]"
)

_arguments -s -S -w : $args
debug log:

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