diff --git a/src/keybind/builtin/flow.json b/src/keybind/builtin/flow.json index 5a64382..0460e44 100644 --- a/src/keybind/builtin/flow.json +++ b/src/keybind/builtin/flow.json @@ -52,8 +52,8 @@ ["ctrl+shift+q", "quit_without_saving"], ["ctrl+shift+w", "close_file_without_saving"], ["ctrl+shift+f", "find_in_files"], - ["ctrl+shift+l", "add_cursor_all_matches_async"], - ["ctrl+shift+i", "toggle_inspector_view_async"], + ["ctrl+shift+l", "run_async", "add_cursor_all_matches"], + ["ctrl+shift+i", "run_async", "toggle_inspector_view"], ["ctrl+shift+m", "show_diagnostics"], ["ctrl+shift+enter", "smart_insert_line_before"], ["ctrl+shift+end", "select_buffer_end"], diff --git a/src/tui/tui.zig b/src/tui/tui.zig index 076a3fe..9dbbfee 100644 --- a/src/tui/tui.zig +++ b/src/tui/tui.zig @@ -816,6 +816,14 @@ const cmds = struct { self.logger.print("restart flow to use changed key bindings", .{}); } pub const open_keybind_config_meta = .{ .description = "Edit key bindings" }; + + pub fn run_async(_: *Self, ctx: Ctx) Result { + var cmd: []const u8 = undefined; + if (!try ctx.args.match(.{tp.extract(&cmd)})) + return tp.exit_error(error.InvalidArgument, null); + try tp.self_pid().send(.{ "cmd", cmd, .{} }); + } + pub const run_async_meta = .{ .interactive = false }; }; pub const MiniMode = struct {