summaryrefslogtreecommitdiffstats
path: root/window.c
diff options
context:
space:
mode:
authornicm <nicm>2017-05-29 18:06:34 +0000
committernicm <nicm>2017-05-29 18:06:34 +0000
commita2ace9da24491c46e704ce6120dcb7e6c9d21c20 (patch)
tree9727dbdab5ec81ddd11c7ec2ba281439a4b00c4f /window.c
parent12575014995582b30165d80efa1096eee7622a81 (diff)
Add ||, && format operators and C: to search pane content.
Diffstat (limited to 'window.c')
-rw-r--r--window.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/window.c b/window.c
index 392a889e..5e49adc4 100644
--- a/window.c
+++ b/window.c
@@ -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;