about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Builtins/_zstyle1
-rw-r--r--Completion/Core/_main_complete6
2 files changed, 7 insertions, 0 deletions
diff --git a/Completion/Builtins/_zstyle b/Completion/Builtins/_zstyle
index 9f5bf9352..7428a3b0f 100644
--- a/Completion/Builtins/_zstyle
+++ b/Completion/Builtins/_zstyle
@@ -40,6 +40,7 @@ styles=(
   ignore-parents         c:ignorepar
   ignored-patterns	 c:
   insert-ids             c:insert-ids
+  insert-tab             c:bool
   insert-unambiguous	 c:bool
   last-prompt		 c:bool
   list			 c:listwhen
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete
index f079e38e2..aa061ec91 100644
--- a/Completion/Core/_main_complete
+++ b/Completion/Core/_main_complete
@@ -34,6 +34,12 @@ typeset -U _lastdescr _comp_ignore
 
 [[ -z "$curcontext" ]] && curcontext=:::
 
+if [[ "$compstate[insert]" = tab* ]]; then
+  zstyle -T ":completion:${curcontext}:" insert-tab && return 1
+
+  compstate[insert]="${compstate[insert]//tab /}"
+fi
+
 # Special completion contexts after `~' and `='.
 
 if compset -P 1 '='; then