zsh-workers
 help / color / mirror / code / Atom feed
* [PATCH] complist: Turn off colors before clearing to end of line
@ 2021-08-17  8:57 Marlon Richert
  2021-08-18  4:07 ` Bart Schaefer
  0 siblings, 1 reply; 5+ messages in thread
From: Marlon Richert @ 2021-08-17  8:57 UTC (permalink / raw)
  To: Zsh hackers list

[-- Attachment #1: Type: text/plain, Size: 464 bytes --]

Try the following without and with the patch, to see what this fixes:

% zmodload zsh/complist
% autoload compinit
% compinit
% bindkey '^I' menu-select
% ping -<TAB><TAB>
<Default selection highlight (reverse video) stops at the end of the match.>
% zstyle '*' list-colors 'ma=97;44'
% ping -<TAB><TAB>
<Without the patch, when changing selection, highlight continues until
end of line.>
<With the patch, it stops at the end of the match, just like the default.>

[-- Attachment #2: 0001-complist-Turn-off-colors-before-clearing-to-end-of-l.txt --]
[-- Type: text/plain, Size: 1174 bytes --]

From 555dbb68a30bef5e224a5e01b9c3210884fd4a61 Mon Sep 17 00:00:00 2001
From: Marlon Richert <marlonrichert@users.noreply.github.com>
Date: Tue, 17 Aug 2021 11:43:06 +0300
Subject: [PATCH] complist: Turn off colors before clearing to end of line

---
 Src/Zle/complist.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 353cb3562..4d015991f 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -1306,6 +1306,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
     if (dopr) {
         if (!(cc % zterm_columns))
             fputs(" \010", shout);
+        zcoff();
         if (mlbeg >= 0 && tccan(TCCLEAREOL))
             tcout(TCCLEAREOL);
     }
@@ -1785,14 +1786,14 @@ clprintm(Cmgroup g, Cmatch *mp, int mc, int ml, int lastc, int width)
 	    zcputs(g->name, COL_DU);
 	else
 	    subcols = putmatchcol(g->name, m->disp);
-	if (subcols)
+	if (subcols) {
 	    ret = clprintfmt(m->disp, ml);
-	else {
+	    zcoff();
+	} else {
 	    compprintfmt(m->disp, 0, 1, 0, ml, &stop);
 	    if (stop)
 		ret = 1;
 	}
-	zcoff();
     } else {
 	int mx, modec;
 
-- 
2.32.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-20 23:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-17  8:57 [PATCH] complist: Turn off colors before clearing to end of line Marlon Richert
2021-08-18  4:07 ` Bart Schaefer
2021-08-19 19:28   ` Marlon Richert
2021-08-20  6:39     ` Marlon Richert
2021-08-20 23:42       ` Bart Schaefer

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).