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.
This commit is contained in:
parent
6a8d406eaa
commit
b42efeb87e
@ -60,7 +60,11 @@ zstyle '*' single-ignored show
|
|||||||
|
|
||||||
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
|
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
|
||||||
expand-or-complete-with-dots() {
|
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%}"
|
print -Pn "%{%F{red}......%f%}"
|
||||||
|
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
|
||||||
|
|
||||||
zle expand-or-complete
|
zle expand-or-complete
|
||||||
zle redisplay
|
zle redisplay
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user