about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-07-24 16:43:14 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-07-26 11:23:14 +0000
commitd470453d76a3ff0c4816752630bf70733cfbc8b5 (patch)
tree629c19d3ef9059a51c83a1568fe3ed1643327615
parent679d52fcca727a6b9e4dddf63386580907e28f8c (diff)
downloadzsh-d470453d76a3ff0c4816752630bf70733cfbc8b5.tar.gz
zsh-d470453d76a3ff0c4816752630bf70733cfbc8b5.tar.xz
zsh-d470453d76a3ff0c4816752630bf70733cfbc8b5.zip
35274: completion: Add FreeBSD's watch(1)
Review-by: Oliver Kiddle
-rw-r--r--ChangeLog6
-rw-r--r--Completion/BSD/Command/_watch-snoop13
-rw-r--r--Completion/Unix/Command/_watch9
3 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index dddfb2b31..5fbd907b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-26  Daniel Shahaf  <d.s@daniel.shahaf.name>
+
+	* 35274 (plus tweaks): Completion/BSD/Command/_watch-snoop
+	Completion/Unix/Command/_watch: completion: Add FreeBSD's
+	watch(1)
+
 2015-07-26  Oliver Kiddle <opk@zsh.org>
 
 	* 35901: Completion/X/Type/_x_font: complete full names as removing
diff --git a/Completion/BSD/Command/_watch-snoop b/Completion/BSD/Command/_watch-snoop
new file mode 100644
index 000000000..182b6bb34
--- /dev/null
+++ b/Completion/BSD/Command/_watch-snoop
@@ -0,0 +1,13 @@
+#autoload
+
+# watch [-cinotW] [-f snpdev] [tty]
+
+_arguments -w -S -s : \
+  "-c[reconnect on close]" \
+  "-f:snp(4) device: " \
+  "-i[force interactive mode even when stdout is not a tty]" \
+  "-n[disable the ability to switch the watched tty interactively]" \
+  "-o[reconnect on overflow]" \
+  "-t[print date and time at start]" \
+  "-W[allow write access to observed tty]" \
+  ":tty device:_ttys -D"
diff --git a/Completion/Unix/Command/_watch b/Completion/Unix/Command/_watch
new file mode 100644
index 000000000..a8d29403f
--- /dev/null
+++ b/Completion/Unix/Command/_watch
@@ -0,0 +1,9 @@
+#compdef watch
+
+# watch(1) has completely different semantics on freebsd compared to linux, hence:
+case $OSTYPE in
+  (freebsd*|dragonfly*) _watch-snoop "$@";;
+  (*)           _default;;
+esac
+
+# NOTREACHED