summaryrefslogtreecommitdiff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Commands/_history_complete_word5
-rw-r--r--Completion/Core/_expand2
-rw-r--r--Completion/Core/_history5
3 files changed, 12 insertions, 0 deletions
diff --git a/Completion/Commands/_history_complete_word b/Completion/Commands/_history_complete_word
index 00d7ba369..300100f59 100644
--- a/Completion/Commands/_history_complete_word
+++ b/Completion/Commands/_history_complete_word
@@ -85,6 +85,11 @@ _history_complete_word_gen_matches () {
opt="${opt}V"
fi
+ PREFIX="$IPREFIX$PREFIX"
+ IPREFIX=
+ SUFFIX="$SUFFIX$ISUFFIX"
+ ISUFFIX=
+
h_words=( "${(@)historywords[2,-1]}" )
_wanted "$opt" history-words expl 'history word' \
compadd -Q -a h_words
diff --git a/Completion/Core/_expand b/Completion/Core/_expand
index 8b0bae95f..6ebbfa042 100644
--- a/Completion/Core/_expand
+++ b/Completion/Core/_expand
@@ -33,6 +33,8 @@ else
word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX"
fi
+[[ "$word" = *\$\{[^\}]# ]] && return 1
+
zstyle -T ":completion:${curcontext}:" suffix &&
[[ "$word" = (\~*/*|\$[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]*|\$\{*\}?*) ]] &&
return 1
diff --git a/Completion/Core/_history b/Completion/Core/_history
index 86fd9efc5..109bda91f 100644
--- a/Completion/Core/_history
+++ b/Completion/Core/_history
@@ -30,6 +30,11 @@ else
opt="${opt}V"
fi
+PREFIX="$IPREFIX$PREFIX"
+IPREFIX=
+SUFFIX="$SUFFIX$ISUFFIX"
+ISUFFIX=
+
# We skip the first element of historywords so the current word doesn't
# interfere with the completion
h_words=( "${(@)historywords[2,-1]}" )