mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-08-07 01:30:59 +02:00
73 lines
2.5 KiB
Text
73 lines
2.5 KiB
Text
#compdef script scriptreplay
|
|
|
|
local args hlp="-h --help -V --version"
|
|
|
|
if [[ $service = scriptreplay ]]; then
|
|
_arguments -S -s \
|
|
"(1 -t --timing $hlp)"{-t+,--timing=}'[specify file containing timing output]:timing file:_files' \
|
|
"(2 -s --typescript $hlp)"{-s+,--typescript=}'[specify file containing terminal output]:typescript file:_files' \
|
|
"(3 -d --divisor $hlp)"{-d+,--divisor=}'[speed up replay]:factor' \
|
|
"(-m --maxdelay $hlp)"{-m+,--maxdelay=}'[set maximum delay between updates]:delay (seconds)' \
|
|
'(- *)'{-h,--help}'[display help information]' \
|
|
'(- *)'{-V,--version}'[display version information]' \
|
|
"(-t --timing $hlp):timing file:_files" \
|
|
"(-s --typescript $hlp):typescript file:_files" \
|
|
"(-d --divisor $hlp): :_guard '[0-9.]#' 'timing divisor'"
|
|
return
|
|
fi
|
|
|
|
case $OSTYPE in
|
|
linux*)
|
|
args=( -S
|
|
"(-a --append $hlp)"{-a,--append}'[append output]'
|
|
"(-c --command $hlp)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring'
|
|
"(-e --return $hlp)"{-e,--return}'[return exit status of the child process]'
|
|
"(-f --flush $hlp)"{-f,--flush}'[flush output after each write]'
|
|
"($hlp)--force[use output file even when it is a link]"
|
|
'(-o --output-limit)'{-o+,--output-limit=}'[terminate if output files exceed specified size]:size (bytes)'
|
|
"(-q --quiet $hlp)"{-q,--quiet}'[be quiet]'
|
|
"(-t --timing $hlp)"{-t-,--timing=-}'[output timing data]::timing file:_files'
|
|
'(- 1)'{-h,--help}'[display help information]'
|
|
'(- 1)'{-V,--version}'[display version information]'
|
|
)
|
|
;;
|
|
darwin*|dragonfly*|netbsd*|freebsd*)
|
|
args=(
|
|
'-q[be quiet: suppress display of starting and ending lines]'
|
|
'(-a -r -k)-d[suppress sleeps when playing back a session]'
|
|
'(-a -r -k -t)-p[play back a recorded session]'
|
|
'(-d -p)-r[record a session with input, output and timing data]'
|
|
)
|
|
;|
|
|
netbsd*|openbsd*)
|
|
args+=(
|
|
'-c[run specified command instead of a shell]:command:_cmdstring'
|
|
)
|
|
;|
|
|
netbsd*)
|
|
args+=( '-f[flush output after each write]' )
|
|
;|
|
|
freebsd*)
|
|
args+=(
|
|
'-f[use filemon(4)]'
|
|
)
|
|
;|
|
|
darwin*|dragonfly*|freebsd*)
|
|
args+=(
|
|
'-F[send output to specified named pipe]:fifo:_files -g "*(p)"'
|
|
'-t+[specify interval of data flushing]:interval (seconds)'
|
|
'-k[log keys sent to the program as well as output]'
|
|
'*:::arguments: _normal'
|
|
)
|
|
;|
|
|
darwin*|freebsd*)
|
|
;|
|
|
*)
|
|
args+=(
|
|
'(-p -d)-a[append output]'
|
|
)
|
|
;;
|
|
esac
|
|
|
|
_arguments -s $args \
|
|
"($hlp):typescript file:_files"
|