diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:26:25 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:26:25 +0000 |
commit | 80b7a7193a91e244ff0a74175cbbb98d63b64924 (patch) | |
tree | 7e8cbd034ab4106728551a0e2724307bad6ec6b7 /Completion | |
parent | d3e7021acce0cc6085534090e304581d50d5996e (diff) | |
download | zsh-80b7a7193a91e244ff0a74175cbbb98d63b64924.tar.gz zsh-80b7a7193a91e244ff0a74175cbbb98d63b64924.tar.xz zsh-80b7a7193a91e244ff0a74175cbbb98d63b64924.zip |
moved to Completion/Zsh/Command/_cd
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Builtins/_cd | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/Completion/Builtins/_cd b/Completion/Builtins/_cd deleted file mode 100644 index 05d5e6f88..000000000 --- a/Completion/Builtins/_cd +++ /dev/null @@ -1,54 +0,0 @@ -#compdef cd chdir pushd - -# Handling of cd. -# - Normally just completes directories. Uses cdpath if that's set -# and the string doesn't begin with ~, /, ./ or ../. -# - In the second argument to cd for the form `cd old new', completes -# possible `new' strings by examining `old' and $PWD. -# - After - or +, completes numbers, but the listing -# gives you the list of directories to complete. This turns on -# menu-completion and lists the possibilities automatically, otherwise -# it's not a lot of use. If you don't type the + or - it will -# complete directories as normal. - -setopt localoptions nonomatch - -local expl ret=1 - -if [[ CURRENT -eq 3 ]]; then - # cd old new: look for old in $PWD and see what can replace it - local rep - # Get possible completions using word in position 2 - rep=(${~PWD/$words[2]/*}~$PWD(-/)) - # Now remove all the common parts of $PWD and the completions from this - rep=(${${rep#${PWD%%$words[2]*}}%${PWD#*$words[2]}}) - (( $#rep )) && _wanted -C replacement strings expl replacement compadd -a rep -else - _popd && ret=0 - - if [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then - local tdir tdir2 - - # With cdablevars, we can convert foo/bar/... to ~foo/bar/... if - # there is no directory foo. In that case we could also complete - # variable names, but it hardly seems worth it. - # Note we need a tilde because cdablevars also allows user home - # directories, hence we also need nonomatch to suppress error messages. - if [[ -o cdablevars && -n "$PREFIX" && ! -d ${tdir::=${PREFIX%%/*}} && - -d ${~tdir2::="~$tdir"} ]]; then - PREFIX="~$PREFIX" - _wanted directories expl directory _path_files -/ && ret=0 - else - local tmpcdpath - - tmpcdpath=(${${(@)cdpath:#.}:#$PWD}) - _alternative \ - 'local-directories:local directories:_path_files -/' \ - "path-directories:directories in cdpath:_path_files -W tmpcdpath -/" && ret=0 - fi - else - _wanted directories expl directory _path_files -/ && ret=0 - fi - - return ret -fi |