diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2009-03-16 18:29:38 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2009-03-16 18:29:38 +0000 |
commit | b0fde52d53c039af943336268e9e2b2d485fac0f (patch) | |
tree | ff8b9affa5a9347bc63e55c41a168533f96369e9 /Completion/Base | |
parent | 14e7096982b27fddd3c098dc09444b44bbed9cef (diff) | |
download | zsh-b0fde52d53c039af943336268e9e2b2d485fac0f.tar.gz zsh-b0fde52d53c039af943336268e9e2b2d485fac0f.tar.xz zsh-b0fde52d53c039af943336268e9e2b2d485fac0f.zip |
26744: completion of history modifiers in normal command line arguments
Diffstat (limited to 'Completion/Base')
-rw-r--r-- | Completion/Base/Core/_normal | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Completion/Base/Core/_normal b/Completion/Base/Core/_normal index 36ecb225d..6bdb8f09b 100644 --- a/Completion/Base/Core/_normal +++ b/Completion/Base/Core/_normal @@ -9,6 +9,19 @@ else _compskip='' fi +# Check for a history reference to complete modifiers. +# $PREFIX has a quoted form of the !, so we can't test that +# (it might the start of a real argument), but words has the +# raw McCoy. +if [[ -o BANG_HIST && $words[CURRENT] = \!*: && -z $compstate[quote] ]]; then + # This looks like a real history expansion; in that case + # we'd better put the !'s back the way pfalstad intended. + PREFIX=${PREFIX//\\!/!} + compset -P '*:' + _history_modifiers h + return +fi + # Completing in command position? if [[ CURRENT -eq 1 ]]; then |