diff options
author | nicm <nicm> | 2017-05-29 18:06:34 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-05-29 18:06:34 +0000 |
commit | a2ace9da24491c46e704ce6120dcb7e6c9d21c20 (patch) | |
tree | 9727dbdab5ec81ddd11c7ec2ba281439a4b00c4f /window.c | |
parent | 12575014995582b30165d80efa1096eee7622a81 (diff) | |
download | rtmux-a2ace9da24491c46e704ce6120dcb7e6c9d21c20.tar.gz rtmux-a2ace9da24491c46e704ce6120dcb7e6c9d21c20.tar.bz2 rtmux-a2ace9da24491c46e704ce6120dcb7e6c9d21c20.zip |
Add ||, && format operators and C: to search pane content.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -1267,8 +1267,32 @@ window_pane_visible(struct window_pane *wp) return (!window_pane_outside(wp)); } +u_int +window_pane_search(struct window_pane *wp, const char *searchstr) +{ + struct screen *s = &wp->base; + char *newsearchstr, *line; + u_int i; + + xasprintf(&newsearchstr, "*%s*", searchstr); + + for (i = 0; i < screen_size_y(s); i++) { + line = grid_view_string_cells(s->grid, 0, i, screen_size_x(s)); + if (fnmatch(newsearchstr, line, 0) == 0) { + free(line); + break; + } + free(line); + } + + free(newsearchstr); + if (i == screen_size_y(s)) + return (0); + return (i + 1); +} + char * -window_pane_search(struct window_pane *wp, const char *searchstr, +window_pane_search_old(struct window_pane *wp, const char *searchstr, u_int *lineno) { struct screen *s = &wp->base; |