diff options
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/User/_my_accounts | 2 | ||||
-rw-r--r-- | Completion/User/_other_accounts | 2 | ||||
-rw-r--r-- | Completion/User/_user_at_host | 15 |
3 files changed, 17 insertions, 2 deletions
diff --git a/Completion/User/_my_accounts b/Completion/User/_my_accounts index 72aec5d2f..34d6269d4 100644 --- a/Completion/User/_my_accounts +++ b/Completion/User/_my_accounts @@ -10,4 +10,4 @@ else accounts_users_hosts=( $my_accounts ) fi -_user@host "$@" +_user_at_host "$@" diff --git a/Completion/User/_other_accounts b/Completion/User/_other_accounts index f5165dc6f..9e3545e98 100644 --- a/Completion/User/_other_accounts +++ b/Completion/User/_other_accounts @@ -10,4 +10,4 @@ else accounts_users_hosts=( $other_accounts ) fi -_user@host "$@" +_user_at_host "$@" diff --git a/Completion/User/_user_at_host b/Completion/User/_user_at_host new file mode 100644 index 000000000..6006ef63b --- /dev/null +++ b/Completion/User/_user_at_host @@ -0,0 +1,15 @@ +#autoload + +local expl nm="$compstate[nmatches]" + +if [[ -prefix 1 *@ ]]; then + local user=${PREFIX/@} + compset -P 1 '*@' + _description expl "hostnames for $user" + _combination accounts_users_hosts users="$user" hosts "$expl[@]" "$@" +else + _description expl "usernames" + _combination accounts_users_hosts users -S@ -q "$expl[@]" "$@" +fi + +[[ nm -ne compstate[nmatches] ]] |