From c078fbbb029fd248756ea5d7726f9ae6090a4ee3 Mon Sep 17 00:00:00 2001 From: delthas Date: Mon, 12 Jul 2021 19:54:52 +0200 Subject: Clear the input on CTRL+C instead of quitting We have /QUIT for quitting. Most well-known IRC clients don't quit on CTRL+C but they do on QUIT. Clearing the editor input on CTRL+C is useful for shell-like behaviour "abort current line, let me start my line again". --- ui/editor.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ui/editor.go') diff --git a/ui/editor.go b/ui/editor.go index bf21f85..15785e8 100644 --- a/ui/editor.go +++ b/ui/editor.go @@ -164,6 +164,18 @@ func (e *Editor) Flush() (content string) { return } +func (e *Editor) Clear() { + if e.TextLen() == 0 { + return + } + e.text[e.lineIdx] = []rune{} + e.textWidth = e.textWidth[:1] + e.cursorIdx = 0 + e.offsetIdx = 0 + e.autoCache = nil + return +} + func (e *Editor) Right() { e.right() e.autoCache = nil -- cgit v1.2.3