From 7223fdaa38af2f970cd886ef4cbb981c3f1f22e2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 15 Feb 2023 10:16:25 +0530 Subject: [PATCH] API to set the text at the prompt --- tools/tui/readline/actions.go | 7 +++++++ tools/tui/readline/api.go | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/tools/tui/readline/actions.go b/tools/tui/readline/actions.go index 062a120a2..79fc16476 100644 --- a/tools/tui/readline/actions.go +++ b/tools/tui/readline/actions.go @@ -52,6 +52,13 @@ func (self *Readline) all_text() string { return strings.Join(self.input_state.lines, "\n") } +func (self *Readline) set_text(text string) { + self.move_to_start() + self.erase_chars_after_cursor(123456789, true) + self.add_text(text) + self.move_to_end() +} + func (self *Readline) add_text(text string) { new_lines := make([]string, 0, len(self.input_state.lines)+4) new_lines = append(new_lines, self.input_state.lines[:self.input_state.cursor.Y]...) diff --git a/tools/tui/readline/api.go b/tools/tui/readline/api.go index 97a2d7cb3..cd60b78f8 100644 --- a/tools/tui/readline/api.go +++ b/tools/tui/readline/api.go @@ -258,6 +258,10 @@ func (self *Readline) AllText() string { return self.all_text() } +func (self *Readline) SetText(text string) { + self.set_text(text) +} + func (self *Readline) MoveCursorToEnd() bool { return self.move_to_end() }