diff options
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/User/_my_accounts | 14 | ||||
-rw-r--r-- | Completion/User/_other_accounts | 14 | ||||
-rw-r--r-- | Completion/User/_users_on | 11 |
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 |