1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-08 12:01:21 +02:00
zsh/Completion/Base/_first
1999-12-10 14:47:55 +00:00

69 lines
2.3 KiB
Text

#compdef -first-
# This function is called at the very beginning before any other
# function for a specific context.
#
# This just gives some examples of things you might want to do here.
#
#
# If you use the vared builtin and want completion in there to act the
# way completion on the right hand side of assignments is done, add
# (or un-comment) this code:
#
# if [[ -n $compstate[vared] ]]; then
# if [[ $compstate[vared] = *\[* ]]; then
# # vared on an array-element
# compstate[parameter]=${compstate[vared]%%\[*}
# compstate[context]=value
# else
# # vared on a parameter, let's see if it is an array
# compstate[parameter]=$compstate[vared]
# if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then
# compstate[context]=array_value
# else
# compstate[context]=value
# fi
# fi
# return
# fi
#
#
#
# Other things you can do here is to complete different things if the
# word on the line matches a certain pattern. This example allows
# completion of words from the history by adding two commas at the end
# and hitting TAB.
#
# if [[ "$PREFIX" = *,, ]] && _tags history-words; then
# local max i=1 expl
#
# PREFIX="$PREFIX[1,-2]"
# # If a numeric prefix is given, we use it as the number of
# # lines (multiplied by ten below) in the history to search.
# if [[ ${NUMERIC:-1} -gt 1 ]]; then
# max=$NUMERIC
# unset NUMERIC
# else
# # The default is to search the last 100 lines.
# max=10
# fi
# # We first search in the last ten words, then in the last
# # twenty words, and so on...
# while [[ i -le max ]]; do
# if zstyle -t ":completion${curcontext}:history-words" sort; then
# _description history-words expl "history ($n)"
# else
# _description -V history-words expl "history ($n)"
# fi
# if compadd "$expl[@]" -Q - \
# "${(@)${(@)historywords:#[\$'\"]*}[1,i*10]}"; then
# # We have found at least one matching word, so we switch
# # on menu-completion and make sure that no other
# # completion function is called by setting _compskip.
# compstate[insert]=menu
# _compskip=all
# return
# fi
# (( i++ ))
# done
# fi