From 134b17eb0f05e10de957c6a5053515e929eb31fb Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 2 Apr 2001 11:24:49 +0000 Subject: moved from Completion/Base/_tilde --- Completion/Zsh/Context/_tilde | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Completion/Zsh/Context/_tilde (limited to 'Completion/Zsh/Context') diff --git a/Completion/Zsh/Context/_tilde b/Completion/Zsh/Context/_tilde new file mode 100644 index 000000000..7d7bf5aea --- /dev/null +++ b/Completion/Zsh/Context/_tilde @@ -0,0 +1,30 @@ +#compdef -tilde- + +# We use all named directories and user names here. If this is too slow +# for you or if there are too many of them, you may want to use +# `compadd -qS/ -a friends' or something like that. + +[[ -n "$compstate[quote]" ]] && return 1 + +local expl suf dirs list lines revlines i ret disp nm="$compstate[nmatches]" + +if [[ "$SUFFIX" = */* ]]; then + ISUFFIX="/${SUFFIX#*/}$ISUFFIX" + SUFFIX="${SUFFIX%%/*}" + suf=(-S '') +else + suf=(-qS/) +fi + +_tags users named-directories directory-stack + +while _tags; do + _requested users && _users "$suf[@]" "$@" && ret=0 + + _requested named-directories expl 'named directory' \ + compadd "$suf[@]" "$@" -k nameddirs + + _requested directory-stack && _directory_stack "$suf[@]" && ret=0 + + (( ret )) || return 0 +done -- cgit 1.4.1