diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:24:09 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:24:09 +0000 |
commit | 6c1fb551ba0973c9a86e1ea479d553d66c6bf6b7 (patch) | |
tree | ec80a986c49f2da21eed83b7097f0f4e99f57e3f /Completion/Core/_complete | |
parent | 640a840d2e94f0fc245ef8632050c37af23c6b94 (diff) | |
download | zsh-6c1fb551ba0973c9a86e1ea479d553d66c6bf6b7.tar.gz zsh-6c1fb551ba0973c9a86e1ea479d553d66c6bf6b7.tar.xz zsh-6c1fb551ba0973c9a86e1ea479d553d66c6bf6b7.zip |
zsh-3.1.5-pws-14 zsh-3.1.5-pws-14
Diffstat (limited to 'Completion/Core/_complete')
-rw-r--r-- | Completion/Core/_complete | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Completion/Core/_complete b/Completion/Core/_complete new file mode 100644 index 000000000..0f4d5ff4b --- /dev/null +++ b/Completion/Core/_complete @@ -0,0 +1,52 @@ +#autoload + +# Generate all possible completions. Note that this is not intended as +# a normal completion function, but as one possible value for the +# compconfig[completer] parameter. + +local comp name + +# An entry for `-first-' is the replacement for `compctl -T' +# Completion functions may set `_compskip' to any value to make the +# main loops stop calling other completion functions. + +comp="$_comps[-first-]" +if [[ ! -z "$comp" ]]; then + "$comp" + if (( $+_compskip )); then + unset _compskip + (( compstate[nmatches] )) + return + fi +fi + +# For arguments and command names we use the `_normal' function. + +if [[ "$compstate[context]" = command ]]; then + _normal +else + # Let's see if we have a special completion definition for the other + # possible contexts. + + comp='' + + case $compstate[context] in + equal) comp="$_comps[-equal-]";; + tilde) comp="$_comps[-tilde-]";; + redirect) comp="$_comps[-redirect-]";; + math) comp="$_comps[-math-]";; + subscript) comp="$_comps[-subscript-]";; + value) comp="$_comps[-value-]";; + array_value) comp="$_comps[-array-value-]";; + condition) comp="$_comps[-condition-]";; + parameter) comp="$_comps[-parameter-]";; + brace_parameter) comp="$_comps[-brace-parameter-]";; + esac + + # If not, we use default completion, if any. + + [[ -z "$comp" ]] && comp="$_comps[-default-]" + [[ -z "$comp" ]] || "$comp" +fi + +(( compstate[nmatches] )) |