From aab641ba28606bb5ed84a774161ec696b469ee0e Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 21 Dec 2021 06:07:05 +0200 Subject: Added M-g g --- src/key_state.zig | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/key_state.zig') diff --git a/src/key_state.zig b/src/key_state.zig index b5b16ee..19177cf 100644 --- a/src/key_state.zig +++ b/src/key_state.zig @@ -18,8 +18,19 @@ pub const Error = error{ std.os.SchedYieldError; pub const KeyState = fn(*Editor, *Buffer, Key) Error!void; +pub fn mgState(editor: *Editor, buf: *Buffer, key: Key) Error!void { + editor.current_state = defaultState; + editor.clearStatusMessage(); + + switch (key) { + // ========== <*> ========== + Key.char('g') => try buf.goToLine(editor), + + else => try editor.setStatusMessage("Unknown chord: M-g {}", .{key}), + } +} + pub fn cxState(editor: *Editor, buf: *Buffer, key: Key) Error!void { - _ = buf; editor.current_state = defaultState; editor.clearStatusMessage(); @@ -44,6 +55,10 @@ pub fn defaultState(editor: *Editor, buf: *Buffer, key: Key) Error!void { Key.metaCtrl('d'), Key.backspace => try buf.backwardDeleteChar(), // ========== M-<*> ========== + Key.meta('g') => { + editor.current_state = mgState; + try editor.setStatusMessage("M-g-", .{}); + }, Key.meta('v'), Key.page_up => buf.pageUp(editor.screenrows), // ========== C-<*> ========== -- cgit v1.2.3