summaryrefslogtreecommitdiff
path: root/lib/completion.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2015-08-22 21:21:41 +0200
committerMarc Cornellà <marc.cornella@live.com>2015-09-05 22:47:50 +0200
commitb42efeb87ebdcb89510b8ffbcf210494f194109e (patch)
treed226f749c0c2cb9500b46f54cb852c714977fe10 /lib/completion.zsh
parent6a8d406eaa715814dc5a6df08960d1fe62e5c066 (diff)
downloadzsh-b42efeb87ebdcb89510b8ffbcf210494f194109e.tar.gz
zsh-b42efeb87ebdcb89510b8ffbcf210494f194109e.tar.bz2
zsh-b42efeb87ebdcb89510b8ffbcf210494f194109e.zip
Switch off line wrapping in case dots occupy extra line
This commit uses the (hopefully) standard rmam and smam escape sequences which toggle off and on line wrapping respectively. This is so that extra dots that don't fit the current line won't be displayed in the next line, which would in turn make the shell display a new prompt on the next line after the dots are hidden. I've added a check for $terminfo rmam and smam values to be sure we have them before printing them out. If this commit breaks something post an issue with your terminal emulator and $TERM value and we'll figure out what went wrong.
Diffstat (limited to 'lib/completion.zsh')
-rw-r--r--lib/completion.zsh4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
index 81250d9e1..f5b292471 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -60,7 +60,11 @@ zstyle '*' single-ignored show
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
expand-or-complete-with-dots() {
+ # toggle line-wrapping off and back on again
+ [[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
print -Pn "%{%F{red}......%f%}"
+ [[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
+
zle expand-or-complete
zle redisplay
}