From 5437faa28c0cf86c7241f523909ce33ad4839672 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Tue, 16 Oct 2001 17:19:18 +0000 Subject: Merge assorted patches from the dev. version, as approved by PWS. Read ChangeLog for details. --- Completion/Zsh/Context/_tilde | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Completion/Zsh/Context/_tilde (limited to 'Completion') diff --git a/Completion/Zsh/Context/_tilde b/Completion/Zsh/Context/_tilde new file mode 100644 index 000000000..5fad92da3 --- /dev/null +++ b/Completion/Zsh/Context/_tilde @@ -0,0 +1,32 @@ +#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=1 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 + +return ret -- cgit 1.4.1