~rockorager/libvaxis

Add home and end keybinds for the TextInput widget v3 PROPOSED

Tristan Partin: 1
 Add home and end keybinds for the TextInput widget

 1 files changed, 2 insertions(+), 2 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~rockorager/libvaxis/patches/54216/mbox | git am -3
Learn more about email & git

[PATCH v3] Add home and end keybinds for the TextInput widget Export this patch

readline accepts these an analogs for ctrl+a and ctrl+e.

Signed-off-by: Tristan Partin <tristan@partin.io>
---
 src/widgets/TextInput.zig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/widgets/TextInput.zig b/src/widgets/TextInput.zig
index bd08851..fc1bbf3 100644
--- a/src/widgets/TextInput.zig
+++ b/src/widgets/TextInput.zig
@@ -55,9 +55,9 @@ pub fn update(self: *TextInput, event: Event) !void {
                if (self.cursor_idx > 0) self.cursor_idx -= 1;
            } else if (key.matches(Key.right, .{}) or key.matches('f', .{ .ctrl = true })) {
                if (self.cursor_idx < self.grapheme_count) self.cursor_idx += 1;
            } else if (key.matches('a', .{ .ctrl = true })) {
            } else if (key.matches('a', .{ .ctrl = true }) or key.matches(Key.home, .{})) {
                self.cursor_idx = 0;
            } else if (key.matches('e', .{ .ctrl = true })) {
            } else if (key.matches('e', .{ .ctrl = true }) or key.matches(Key.end, .{})) {
                self.cursor_idx = self.grapheme_count;
            } else if (key.matches('k', .{ .ctrl = true })) {
                try self.deleteToEnd();
-- 
Tristan Partin
https://tristan.partin.io