about summary refs log tree commit diff
path: root/Src/Zle/zle_tricky.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-08-15 16:59:21 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-08-15 16:59:21 +0000
commit2237f7376e4259eb068399a2baa56d246d038dae (patch)
tree5c41edb551238d03dd793906216209d02f14fae6 /Src/Zle/zle_tricky.c
parentc2ff7a83dab4eda61308079b2d72daee0b83ff6f (diff)
downloadzsh-2237f7376e4259eb068399a2baa56d246d038dae.tar.gz
zsh-2237f7376e4259eb068399a2baa56d246d038dae.tar.xz
zsh-2237f7376e4259eb068399a2baa56d246d038dae.zip
users/14307: end of command line in completion with variant zsh syntax
Diffstat (limited to 'Src/Zle/zle_tricky.c')
-rw-r--r--Src/Zle/zle_tricky.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 1fcb4dee6..1856911dc 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1211,7 +1211,15 @@ get_comp_string(void)
 	    (ins == 2 && i == 2) || (ins == 3 && i == 3) ||
 	    tok == BAR    || tok == AMPER     ||
 	    tok == BARAMP || tok == AMPERBANG ||
-	    ((tok == DBAR || tok == DAMPER) && !incond)) {
+	    ((tok == DBAR || tok == DAMPER) && !incond) ||
+	    /*
+	     * Special case: we might reach a new command (incmdpos set)
+	     * if we've already found the string we're completing (tt set)
+	     * without hitting one of the above if we're using one of
+	     * the special zsh forms of delimiting for conditions and
+	     * loops that I really loathe having to support.
+	     */
+	    (tt && incmdpos)) {
 	    /* This is one of the things that separate commands.  If we  *
 	     * already have the things we need (e.g. the token strings), *
 	     * leave the loop.                                           */