summaryrefslogtreecommitdiff
path: root/src/modal.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/modal.zig')
-rw-r--r--src/modal.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/modal.zig b/src/modal.zig
index bce941d5..34c4dac7 100644
--- a/src/modal.zig
+++ b/src/modal.zig
@@ -129,6 +129,9 @@ pub const Normal = struct {
insert_output,
append_output,
keep_pipe,
+ macro_record,
+ macro_replay,
+ repeat_insert,
search,
search_next,
search_prev,
@@ -320,6 +323,9 @@ pub const Normal = struct {
pipe_selection: PipeBehavior,
search,
search_step: Direction,
+ macro_record,
+ macro_replay: u32,
+ repeat_insert: u32,
pub fn scope(value: Action) Scope {
return switch (value) {
@@ -331,6 +337,9 @@ pub const Normal = struct {
.pipe_selection,
.search,
.search_step,
+ .macro_record,
+ .macro_replay,
+ .repeat_insert,
=> .once,
.edit => |edit| switch (edit.kind) {
.join_lines,
@@ -602,6 +611,9 @@ pub const Normal = struct {
if (key.has(.insert_output)) return resultAction(.{ .pipe_selection = .insert });
if (key.has(.append_output)) return resultAction(.{ .pipe_selection = .append });
if (key.has(.keep_pipe)) return resultAction(.{ .pipe_selection = .keep });
+ if (key.has(.macro_record)) return resultAction(.macro_record);
+ if (key.has(.macro_replay)) return resultAction(.{ .macro_replay = count });
+ if (key.has(.repeat_insert)) return resultAction(.{ .repeat_insert = count });
if (key.has(.search)) return resultAction(.search);
if (key.has(.search_next)) return resultAction(.{ .search_step = .forward });
if (key.has(.search_prev)) return resultAction(.{ .search_step = .backward });