diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-06-08 09:25:39 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-06-08 09:25:39 +0000 |
commit | 805381040dd69dd02b78423d2d71913b33f3cc33 (patch) | |
tree | 1fa89ee643e8e577a2f79e76e3d6cafc93256ca2 /Functions/Misc/cdmatch | |
parent | f42e3fa8e6152e145251e8f16f4c61c23dec1f59 (diff) | |
download | zsh-805381040dd69dd02b78423d2d71913b33f3cc33.tar.gz zsh-805381040dd69dd02b78423d2d71913b33f3cc33.tar.xz zsh-805381040dd69dd02b78423d2d71913b33f3cc33.zip |
zsh-3.1.5-pws-21 zsh-3.1.5-pws-21
Diffstat (limited to 'Functions/Misc/cdmatch')
-rwxr-xr-x | Functions/Misc/cdmatch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Functions/Misc/cdmatch b/Functions/Misc/cdmatch new file mode 100755 index 000000000..7c4bb9ae7 --- /dev/null +++ b/Functions/Misc/cdmatch @@ -0,0 +1,23 @@ +# Start of cdmatch. +# Save in your functions directory and autoload, then do +# compctl -x 'S[/][~][./][../]' -g '*(-/)' - \ +# 'n[-1,/], s[]' -K cdmatch -S '/' -- cd pushd +# +# Completes directories for cd, pushd, ... anything which knows about cdpath. +# You do not have to include `.' in your cdpath. +# +# It works properly only if $ZSH_VERSION > 3.0-pre4. Remove `emulate -R zsh' +# for all other values of $ZSH_VERSION > 2.6-beta2. For earlier versions +# it still works if RC_EXPAND_PARAM is not set or when cdpath is empty. +emulate -R zsh +setopt localoptions +local narg pref cdp + +read -nc narg +read -Ac pref + +cdp=(. $cdpath) +reply=( ${^cdp}/${pref[$narg]%$2}*$2(-/DN^M:t) ) + +return +# End of cdmatch. |