about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/User/_my_accounts14
-rw-r--r--Completion/User/_other_accounts14
-rw-r--r--Completion/User/_users_on11
3 files changed, 39 insertions, 0 deletions
diff --git a/Completion/User/_my_accounts b/Completion/User/_my_accounts
new file mode 100644
index 000000000..91ab88cc1
--- /dev/null
+++ b/Completion/User/_my_accounts
@@ -0,0 +1,14 @@
+#autoload
+
+local expl nm="$compstate[nmatches]"
+local accounts_users_hosts
+
+local varname="$words[1]_accounts"
+
+if [[ ${(P)+varname} -eq 1 ]]; then
+  accounts_users_hosts=( ${(P)varname} )
+else
+  accounts_users_hosts=( $my_accounts )
+fi
+
+_user@host
diff --git a/Completion/User/_other_accounts b/Completion/User/_other_accounts
new file mode 100644
index 000000000..b73515fcd
--- /dev/null
+++ b/Completion/User/_other_accounts
@@ -0,0 +1,14 @@
+#compdef ytalk finger
+
+local expl nm="$compstate[nmatches]"
+local accounts_users_hosts
+
+local varname="$words[1]_accounts"
+
+if [[ ${(P)+varname} -eq 1 ]]; then
+  accounts_users_hosts=( ${(P)varname} )
+else
+  accounts_users_hosts=( $other_accounts )
+fi
+
+_user@host
diff --git a/Completion/User/_users_on b/Completion/User/_users_on
new file mode 100644
index 000000000..920688089
--- /dev/null
+++ b/Completion/User/_users_on
@@ -0,0 +1,11 @@
+#autoload write
+
+local expl
+
+if which users >/dev/null; then
+  _description expl users logged on
+  compadd "$@" "$expl[@]" - $(users) && return 0
+else
+  # Other methods of finding out users logged on should be added here
+  return 1
+fi