diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-03 13:16:46 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-03 13:16:46 +0000 |
commit | 7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (patch) | |
tree | 9bb85bcd27410e1b752c8550f487165d71dc8aca /Completion/Base/_subscript | |
parent | b09922bb063ddf44c7850b182fec4795fbe1ae90 (diff) | |
download | zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.gz zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.xz zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.zip |
zsh-3.1.5-pws-25 dot-zsh-199907031715
Diffstat (limited to 'Completion/Base/_subscript')
-rw-r--r-- | Completion/Base/_subscript | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Completion/Base/_subscript b/Completion/Base/_subscript index 00b2b6506..be5f08f62 100644 --- a/Completion/Base/_subscript +++ b/Completion/Base/_subscript @@ -1,6 +1,9 @@ #compdef -subscript- -if [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then +if [[ "$PREFIX" = :* ]]; then + compadd -p: -S ':]' alnum alpha blank cntrl digit graph lower print punct \ + space upper xdigit +elif [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then if [[ "$RBUFFER" = \]* ]]; then compadd -S '' - "${(@kP)${compstate[parameter]}}" else @@ -13,15 +16,15 @@ elif [[ ${(Pt)${compstate[parameter]}} = array* ]]; then list=() for i in "$ind[@]"; do [[ "$i" = ${PREFIX}*${SUFFIX} ]] && - list=( "$list[@]" "${(r:4:: ::):)i} ${(P)${compstate[parameter]}[$i]} -) + list=( "$list[@]" + "${(r:4:: ::):)i} $(print -D ${(P)${compstate[parameter]}[$i]})" ) done - if [[ "$RBUFFER" = \]* ]]; then - compadd -S '' -y list - "$ind[@]" - else - compadd -S ']' -y list - "$ind[@]" - fi + if [[ "$RBUFFER" = \]* ]]; then + compadd -S '' -V default -y list - "$ind[@]" + else + compadd -S ']' -V default -y list - "$ind[@]" + fi else _compalso -math- fi |