mirror of
https://github.com/tmux/tmux.git
synced 2025-07-18 00:00:58 -04:00
Compare commits
2 Commits
1742138f05
...
e26356607e
Author | SHA1 | Date | |
---|---|---|---|
|
e26356607e | ||
|
43e5e80343 |
@ -295,6 +295,7 @@ struct window_copy_mode_data {
|
||||
int timeout; /* search has timed out */
|
||||
#define WINDOW_COPY_SEARCH_TIMEOUT 10000
|
||||
#define WINDOW_COPY_SEARCH_ALL_TIMEOUT 200
|
||||
#define WINDOW_COPY_SEARCH_MAX_LINE 2000
|
||||
|
||||
int jumptype;
|
||||
struct utf8_data *jumpchar;
|
||||
@ -3205,7 +3206,9 @@ window_copy_search_lr_regex(struct grid *gd, u_int *ppx, u_int *psx, u_int py,
|
||||
len = gd->sx - first;
|
||||
endline = gd->hsize + gd->sy - 1;
|
||||
pywrap = py;
|
||||
while (buf != NULL && pywrap <= endline) {
|
||||
while (buf != NULL &&
|
||||
pywrap <= endline &&
|
||||
len < WINDOW_COPY_SEARCH_MAX_LINE) {
|
||||
gl = grid_get_line(gd, pywrap);
|
||||
if (~gl->flags & GRID_LINE_WRAPPED)
|
||||
break;
|
||||
@ -3262,7 +3265,9 @@ window_copy_search_rl_regex(struct grid *gd, u_int *ppx, u_int *psx, u_int py,
|
||||
len = gd->sx - first;
|
||||
endline = gd->hsize + gd->sy - 1;
|
||||
pywrap = py;
|
||||
while (buf != NULL && (pywrap <= endline)) {
|
||||
while (buf != NULL &&
|
||||
pywrap <= endline &&
|
||||
len < WINDOW_COPY_SEARCH_MAX_LINE) {
|
||||
gl = grid_get_line(gd, pywrap);
|
||||
if (~gl->flags & GRID_LINE_WRAPPED)
|
||||
break;
|
||||
@ -3605,6 +3610,7 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
|
||||
int found = 0, cflags = REG_EXTENDED;
|
||||
char *sbuf;
|
||||
regex_t reg;
|
||||
struct grid_line *gl;
|
||||
|
||||
if (regex) {
|
||||
sbuf = xmalloc(ssize);
|
||||
@ -3621,6 +3627,9 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
|
||||
|
||||
if (direction) {
|
||||
for (i = fy; i <= endline; i++) {
|
||||
gl = grid_get_line(gd, i);
|
||||
if (i != endline && gl->flags & GRID_LINE_WRAPPED)
|
||||
continue;
|
||||
if (regex) {
|
||||
found = window_copy_search_lr_regex(gd,
|
||||
&px, &sx, i, fx, gd->sx, ®);
|
||||
@ -3634,6 +3643,9 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
|
||||
}
|
||||
} else {
|
||||
for (i = fy + 1; endline < i; i--) {
|
||||
gl = grid_get_line(gd, i - 1);
|
||||
if (i != endline && gl->flags & GRID_LINE_WRAPPED)
|
||||
continue;
|
||||
if (regex) {
|
||||
found = window_copy_search_rl_regex(gd,
|
||||
&px, &sx, i - 1, 0, fx + 1, ®);
|
||||
|
Loading…
x
Reference in New Issue
Block a user