More minor loop API additions

This commit is contained in:
Kovid Goyal
2022-11-15 21:00:19 +05:30
parent 87108a18ef
commit 36dd5b2d00

View File

@@ -117,6 +117,15 @@ func MouseTrackingMode(self *Loop, mt MouseTracking) {
self.terminal_options.mouse_tracking = mt 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 { func (self *Loop) NoRestoreColors() *Loop {
self.terminal_options.restore_colors = false self.terminal_options.restore_colors = false
return self return self
@@ -167,8 +176,13 @@ func (self *Loop) Run() (err error) {
return self.run() return self.run()
} }
func (self *Loop) WakeupMainThread() { func (self *Loop) WakeupMainThread() bool {
self.wakeup_channel <- 1 select {
case self.wakeup_channel <- 1:
return true
default:
return false
}
} }
func (self *Loop) QueueWriteString(data string) IdType { func (self *Loop) QueueWriteString(data string) IdType {
@@ -239,6 +253,10 @@ func (self *Loop) ClearToEndOfScreen() {
self.QueueWriteString("\x1b[J") self.QueueWriteString("\x1b[J")
} }
func (self *Loop) ClearToEndOfLine() {
self.QueueWriteString("\x1b[K")
}
func (self *Loop) StartBracketedPaste() { func (self *Loop) StartBracketedPaste() {
self.QueueWriteString(BRACKETED_PASTE.EscapeCodeToSet()) self.QueueWriteString(BRACKETED_PASTE.EscapeCodeToSet())
} }