summaryrefslogtreecommitdiffstats
path: root/Completion/Base/_first
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
commit7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (patch)
tree9bb85bcd27410e1b752c8550f487165d71dc8aca /Completion/Base/_first
parentzsh-3.1.5-pws-23 (diff)
downloadzsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.gz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.bz2
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.lz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.xz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.zst
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.zip
zsh-3.1.5-pws-25dot-zsh-199907031715
Diffstat (limited to 'Completion/Base/_first')
-rw-r--r--Completion/Base/_first72
1 files changed, 62 insertions, 10 deletions
diff --git a/Completion/Base/_first b/Completion/Base/_first
index 655e3569f..8b4da019d 100644
--- a/Completion/Base/_first
+++ b/Completion/Base/_first
@@ -1,11 +1,63 @@
-#compdef -subscript-
+#compdef -first-
-if [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then
- if [[ "$RBUFFER" = \]* ]]; then
- compadd -S '' - "${(@kP)${compstate[parameter]}}"
- else
- compadd -S ']' - "${(@kP)${compstate[parameter]}}"
- fi
-else
- _compalso -math-
-fi
+# 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" = *,, ]]; then
+# local max i=1
+#
+# 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 lines, then in the last
+# # twenty lines, and so on...
+# while [[ i -le max ]]; do
+# if compgen -X "%Bhistory ($n):%b" -Q -H $(( 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 _comp_skip.
+# compstate[insert]=menu
+# _comp_skip=1
+# return
+# fi
+# (( i++ ))
+# done
+# fi