From 36dd5b2d00a37ee118d877791b88d4ef29269d22 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 15 Nov 2022 21:00:19 +0530 Subject: [PATCH] More minor loop API additions --- tools/tui/loop/api.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/tools/tui/loop/api.go b/tools/tui/loop/api.go index a62580439..7a333d0a4 100644 --- a/tools/tui/loop/api.go +++ b/tools/tui/loop/api.go @@ -117,6 +117,15 @@ func MouseTrackingMode(self *Loop, mt MouseTracking) { self.terminal_options.mouse_tracking = mt } +func NoMouseTracking(self *Loop) { + self.terminal_options.mouse_tracking = NO_MOUSE_TRACKING +} + +func (self *Loop) NoMouseTracking() *Loop { + self.terminal_options.mouse_tracking = NO_MOUSE_TRACKING + return self +} + func (self *Loop) NoRestoreColors() *Loop { self.terminal_options.restore_colors = false return self @@ -167,8 +176,13 @@ func (self *Loop) Run() (err error) { return self.run() } -func (self *Loop) WakeupMainThread() { - self.wakeup_channel <- 1 +func (self *Loop) WakeupMainThread() bool { + select { + case self.wakeup_channel <- 1: + return true + default: + return false + } } func (self *Loop) QueueWriteString(data string) IdType { @@ -239,6 +253,10 @@ func (self *Loop) ClearToEndOfScreen() { self.QueueWriteString("\x1b[J") } +func (self *Loop) ClearToEndOfLine() { + self.QueueWriteString("\x1b[K") +} + func (self *Loop) StartBracketedPaste() { self.QueueWriteString(BRACKETED_PASTE.EscapeCodeToSet()) }