aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-01-18 14:59:46 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-01-18 15:00:55 +0100
commit2cf304af420335d8e95e9e80559f19dd1dcf27bf (patch)
treea61c7b74701b3763ced323fdb078cfcef8196ea6
parent5117997a12a602a0380d22f7c641bf0305d175b7 (diff)
downloadvis-2cf304af420335d8e95e9e80559f19dd1dcf27bf.tar.gz
vis-2cf304af420335d8e95e9e80559f19dd1dcf27bf.tar.xz
vis: unify insert/replace mode enter handler
-rw-r--r--vis-modes.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/vis-modes.c b/vis-modes.c
index 1b9a4f4..a82c71b 100644
--- a/vis-modes.c
+++ b/vis-modes.c
@@ -181,13 +181,13 @@ static void vis_mode_visual_leave(Vis *vis, Mode *new) {
}
}
-static void vis_mode_insert_enter(Vis *vis, Mode *old) {
+static void vis_mode_insert_replace_enter(Vis *vis, Mode *old) {
if (vis->win->parent)
return;
if (!vis->action.op) {
action_reset(&vis->action_prev);
vis->action_prev.op = &vis_operators[VIS_OP_MODESWITCH];
- vis->action_prev.mode = VIS_MODE_INSERT;
+ vis->action_prev.mode = vis->mode->id;
}
if (!vis->macro_operator) {
macro_operator_record(vis);
@@ -203,20 +203,6 @@ static void vis_mode_insert_input(Vis *vis, const char *str, size_t len) {
vis_insert_key(vis, str, len);
}
-static void vis_mode_replace_enter(Vis *vis, Mode *old) {
- if (vis->win->parent)
- return;
- if (!vis->action.op) {
- action_reset(&vis->action_prev);
- vis->action_prev.op = &vis_operators[VIS_OP_MODESWITCH];
- vis->action_prev.mode = VIS_MODE_REPLACE;
- }
- if (!vis->macro_operator) {
- macro_operator_record(vis);
- vis->action_prev.macro = vis->macro_operator;
- }
-}
-
static void vis_mode_replace_input(Vis *vis, const char *str, size_t len) {
vis_replace_key(vis, str, len);
}
@@ -258,7 +244,7 @@ Mode vis_modes[] = {
.name = "INSERT",
.status = "INSERT",
.help = "",
- .enter = vis_mode_insert_enter,
+ .enter = vis_mode_insert_replace_enter,
.input = vis_mode_insert_input,
.idle = vis_mode_insert_idle,
.idle_timeout = 3,
@@ -269,7 +255,7 @@ Mode vis_modes[] = {
.parent = &vis_modes[VIS_MODE_INSERT],
.status = "REPLACE",
.help = "",
- .enter = vis_mode_replace_enter,
+ .enter = vis_mode_insert_replace_enter,
.input = vis_mode_replace_input,
.idle = vis_mode_insert_idle,
.idle_timeout = 3,