diff options
author | Barton E. Schaefer <schaefer@zsh.org> | 2015-03-21 09:29:52 -0700 |
---|---|---|
committer | Barton E. Schaefer <schaefer@zsh.org> | 2015-03-21 09:29:52 -0700 |
commit | 8254c9c071bff087c3d52a5ac2811b5b7fc367ce (patch) | |
tree | 85174c547acb451c3b876a8218d5e7ad0a36201e /Completion/Base | |
parent | a74fe69d0550a37625f73f3008f8f468207536f4 (diff) | |
download | zsh-8254c9c071bff087c3d52a5ac2811b5b7fc367ce.tar.gz zsh-8254c9c071bff087c3d52a5ac2811b5b7fc367ce.tar.xz zsh-8254c9c071bff087c3d52a5ac2811b5b7fc367ce.zip |
users/20034: adjust PREFIX and SUFFIX for unambiguous_cursor on second completion attempt with GLOB_COMPLETE
Diffstat (limited to 'Completion/Base')
-rw-r--r-- | Completion/Base/Core/_main_complete | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Completion/Base/Core/_main_complete b/Completion/Base/Core/_main_complete index d6a100777..977ab49ee 100644 --- a/Completion/Base/Core/_main_complete +++ b/Completion/Base/Core/_main_complete @@ -68,6 +68,16 @@ if [[ "$compstate[insert]" = tab* ]]; then compstate[insert]="${compstate[insert]//tab /}" fi +# Second attempt at GLOB_COMPLETE + +if [[ "$compstate[pattern_match]" = "*" && + "$_lastcomp[unambiguous]" = "$PREFIX" && + -n "$_lastcomp[unambiguous_cursor]" ]]; then + integer upos="$_lastcomp[unambiguous_cursor]" + SUFFIX="$PREFIX[upos,-1]$SUFFIX" + PREFIX="$PREFIX[1,upos-1]" +fi + # Special completion contexts after `~' and `='. if [[ -z "$compstate[quote]" ]]; then |