More minor loop API additions

This commit is contained in:
Kovid Goyal 2022-11-15 21:00:19 +05:30
parent 87108a18ef
commit 36dd5b2d00
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -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())
}