about summary refs log tree commit diff
path: root/Completion/Core/_menu
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_menu')
-rw-r--r--Completion/Core/_menu21
1 files changed, 21 insertions, 0 deletions
diff --git a/Completion/Core/_menu b/Completion/Core/_menu
new file mode 100644
index 000000000..4cbda4e14
--- /dev/null
+++ b/Completion/Core/_menu
@@ -0,0 +1,21 @@
+#autoload
+
+# This completer is an example showing how menucompletion can be
+# implemented with the new completion system.
+# Use this one before the normal _complete completer, as in:
+#
+#   compconf completer=_menu:_complete
+
+if [[ -n "$compstate[old_list]" ]]; then
+
+  # We have an old list, keep it and insert the next match.
+
+  compstate[old_list]=keep
+  compstate[insert]=$((compstate[old_insert]+1))
+else
+  # No old list, make completion insert the first match.
+
+  compstate[insert]=1
+fi
+
+return 1