mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
21 lines
333 B
Plaintext
21 lines
333 B
Plaintext
#compdef su
|
|
|
|
local shell comp name usr base
|
|
|
|
[[ $words[2] != - ]]
|
|
(( base=$?+2 ))
|
|
|
|
if [[ CURRENT -eq base ]]; then
|
|
_users && return
|
|
usr=root
|
|
elif [[ CURRENT -ge base+1 ]]; then
|
|
usr=$words[base]
|
|
else
|
|
return
|
|
fi
|
|
|
|
shell="${${(M@)${(@f)$(</etc/passwd)}:#$usr*}##*:}"
|
|
compset -n $base
|
|
|
|
_dispatch $shell:t $shell $shell:t -default-
|