From 1891c775353907ae3ceb4d8e42243b508b450dab Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 18 Aug 2020 10:09:54 -0400 Subject: Preserve colon from previous tab-complete This fixes the case when pinging multiple nicks and one of them needs to be cycled through. --- edit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'edit.c') diff --git a/edit.c b/edit.c index d63678d..34b89fe 100644 --- a/edit.c +++ b/edit.c @@ -163,11 +163,13 @@ static void tabComplete(uint id) { return; } + bool colon = (tab.len >= 2 && buf[tab.pos + tab.len - 2] == L':'); + delete(false, tab.pos, tab.len); tab.len = n; if (wcs[0] == L'\\' || wcschr(wcs, L' ')) { reserve(tab.pos, tab.len); - } else if (wcs[0] != L'/' && !tab.pos) { + } else if (wcs[0] != L'/' && (!tab.pos || colon)) { tab.len += 2; reserve(tab.pos, tab.len); buf[tab.pos + n + 0] = L':'; -- cgit 1.4.1