about summary refs log tree commit diff
path: root/Completion/Unix/Command/_script
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2016-07-08 23:09:18 +0200
committerOliver Kiddle <opk@zsh.org>2016-07-08 23:10:41 +0200
commit304aa25184f927ccc034bb98f6ac744d29006bb4 (patch)
treedf1810ccaf5e223913493bce2e2e3528a3667820 /Completion/Unix/Command/_script
parent13f4bb29363e2a4c6a6e2971a929bd677043d866 (diff)
downloadzsh-304aa25184f927ccc034bb98f6ac744d29006bb4.tar.gz
zsh-304aa25184f927ccc034bb98f6ac744d29006bb4.tar.xz
zsh-304aa25184f927ccc034bb98f6ac744d29006bb4.zip
38812: a few new completions and update some command options
Diffstat (limited to 'Completion/Unix/Command/_script')
-rw-r--r--Completion/Unix/Command/_script71
1 files changed, 71 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script
new file mode 100644
index 000000000..7f682eaa2
--- /dev/null
+++ b/Completion/Unix/Command/_script
@@ -0,0 +1,71 @@
+#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]"
+      "(-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]'
+    )
+  ;|
+  netbsd*|freebsd*)
+    args+=(
+      '(-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*)
+    args+=(
+      '-f[flush output after each write]'
+      '-c[run specified command instead of a shell]:command:_cmdstring'
+    )
+  ;|
+  freebsd*)
+    args+=(
+      '-f[use filemon(4)]'
+    )
+  ;|
+  darwin*|dragonfly*|freebsd*)
+    args+=(
+      '-t+[specify interval of data flushing]:interval (seconds)'
+      '-k[log keys sent to the program as well as output]'
+      '*:::arguments: _normal'
+    )
+  ;|
+  *)
+    args+=(
+      '(-p -d)-a[append output]'
+    )
+  ;;
+esac
+
+_arguments -s $args \
+  "($hlp):typescript file:_files"