aboutsummaryrefslogtreecommitdiff
path: root/vis.c
diff options
context:
space:
mode:
Diffstat (limited to 'vis.c')
-rw-r--r--vis.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vis.c b/vis.c
index cfdc210..e815012 100644
--- a/vis.c
+++ b/vis.c
@@ -976,6 +976,13 @@ static void macro_replay(Vis *vis, const Macro *macro) {
}
bool vis_macro_replay(Vis *vis, enum VisRegister id) {
+ if (id == VIS_REG_SEARCH)
+ return vis_motion(vis, VIS_MOVE_SEARCH_NEXT);
+ if (id == VIS_REG_COMMAND) {
+ const char *cmd = register_get(vis, &vis->registers[id], NULL);
+ return vis_cmd(vis, cmd);
+ }
+
Macro *macro = macro_get(vis, id);
if (!macro || macro == vis->recording)
return false;