summaryrefslogtreecommitdiffstats
path: root/window-copy.c
diff options
context:
space:
mode:
authornicm <nicm>2020-03-20 13:12:04 +0000
committernicm <nicm>2020-03-20 13:12:04 +0000
commita3ff5a9e258e84b76af53a136bf8473ae67a0bcd (patch)
tree260da099e6005f4245c9748d2858ad917e2fb6e7 /window-copy.c
parentc3e96cce4eb0346e31d5c6474a5a59f7c441b7f1 (diff)
select_word_end needs to forward no_reset flag or select-word selects
too much.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/window-copy.c b/window-copy.c
index aa6c3462..c6d3612f 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -123,7 +123,7 @@ static void window_copy_cursor_next_word(struct window_mode_entry *,
static void window_copy_cursor_next_word_end_pos(struct window_mode_entry *,
const char *, u_int *, u_int *);
static void window_copy_cursor_next_word_end(struct window_mode_entry *,
- const char *);
+ const char *, int);
static void window_copy_cursor_previous_word_pos(struct window_mode_entry *,
const char *, int, u_int *, u_int *);
static void window_copy_cursor_previous_word(struct window_mode_entry *,
@@ -1241,7 +1241,8 @@ window_copy_cmd_next_matching_bracket(struct window_copy_cmd_state *cs)
tried = 1;
goto retry;
}
- window_copy_cursor_next_word_end(wme, "{[( ");
+ window_copy_cursor_next_word_end(wme, "{[( ",
+ 0);
continue;
}
/* For vi, continue searching for bracket until EOL. */
@@ -1324,7 +1325,7 @@ window_copy_cmd_next_space_end(struct window_copy_cmd_state *cs)
u_int np = wme->prefix;
for (; np != 0; np--)
- window_copy_cursor_next_word_end(wme, " ");
+ window_copy_cursor_next_word_end(wme, " ", 0);
return (WINDOW_COPY_CMD_NOTHING);
}
@@ -1352,7 +1353,7 @@ window_copy_cmd_next_word_end(struct window_copy_cmd_state *cs)
ws = options_get_string(s->options, "word-separators");
for (; np != 0; np--)
- window_copy_cursor_next_word_end(wme, ws);
+ window_copy_cursor_next_word_end(wme, ws, 0);
return (WINDOW_COPY_CMD_NOTHING);
}
@@ -1579,10 +1580,10 @@ window_copy_cmd_select_word(struct window_copy_cmd_state *cs)
if (px >= window_copy_find_length(wme, py) ||
!window_copy_in_set(wme, px + 1, py, data->ws))
- window_copy_cursor_next_word_end(wme, data->ws);
+ window_copy_cursor_next_word_end(wme, data->ws, 1);
else {
window_copy_update_cursor(wme, px, data->cy);
- if (window_copy_update_selection(wme, 1, 0))
+ if (window_copy_update_selection(wme, 1, 1))
window_copy_redraw_lines(wme, data->cy, 1);
}
data->endselrx = data->cx;
@@ -3882,7 +3883,7 @@ window_copy_cursor_next_word_end_pos(struct window_mode_entry *wme,
static void
window_copy_cursor_next_word_end(struct window_mode_entry *wme,
- const char *separators)
+ const char *separators, int no_reset)
{
struct window_pane *wp = wme->wp;
struct window_copy_mode_data *data = wme->data;
@@ -3928,7 +3929,7 @@ window_copy_cursor_next_word_end(struct window_mode_entry *wme,
px--;
window_copy_update_cursor(wme, px, data->cy);
- if (window_copy_update_selection(wme, 1, 0))
+ if (window_copy_update_selection(wme, 1, no_reset))
window_copy_redraw_lines(wme, data->cy, 1);
}