From 6fa12743d61cd5228c93456c9cbe0bbb0ab030e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6ran=20Karl?= <3951388+JoeKar@users.noreply.github.com> Date: Sun, 15 Oct 2023 13:52:39 +0200 Subject: [PATCH] bindings: Add capability to unregister user defined raw escape sequence --- internal/action/bindings.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/action/bindings.go b/internal/action/bindings.go index 846e3d11..73ef8407 100644 --- a/internal/action/bindings.go +++ b/internal/action/bindings.go @@ -88,6 +88,10 @@ func BindKey(k, v string, bind func(e Event, a string)) { return } + if strings.HasPrefix(k, "\x1b") { + screen.Screen.RegisterRawSeq(k) + } + bind(event, v) // switch e := event.(type) { @@ -153,7 +157,6 @@ modSearch: k = k[5:] modifiers |= tcell.ModShift case strings.HasPrefix(k, "\x1b"): - screen.Screen.RegisterRawSeq(k) return RawEvent{ esc: k, }, true @@ -322,6 +325,10 @@ func UnbindKey(k string) error { } } + if strings.HasPrefix(k, "\x1b") { + screen.Screen.UnregisterRawSeq(k) + } + defaults := DefaultBindings("buffer") if a, ok := defaults[k]; ok { BindKey(k, a, Binder["buffer"])