Download raw body.
[PATCH] add vim-style search wrapped message
[please keep me cc'ed]
This patch adds messages about search wrap, helps if you scroll large
diff and got past the last search entry.
Worth a review?
diff refs/heads/main 6096532e41131f081514620dbf6dbf194f55c22a
commit - b3611acb7c736d2f45369e1eea2806450e9d11b2
commit + 6096532e41131f081514620dbf6dbf194f55c22a
blob - fa1d997063a644a4ac763e75014f65aff610f0f3
blob + 8c1700d2e9ff8dcf5ea8b755db2aedbc5d2dfe2c
--- tog/tog.c
+++ tog/tog.c
@@ -766,6 +766,10 @@ struct tog_view {
#define TOG_SEARCH_HAVE_MORE 1
#define TOG_SEARCH_NO_MORE 2
#define TOG_SEARCH_HAVE_NONE 3
+#define TOG_MSG_SEARCH_WRAP_FORWARD \
+ "search hit BOTTOM, continuing at TOP"
+#define TOG_MSG_SEARCH_WRAP_BACKWARD \
+ "search hit TOP, continuing at BOTTOM"
regex_t regex;
regmatch_t regmatch;
const char *action;
@@ -6759,10 +6763,13 @@ search_next_view_match(struct tog_view *view)
break;
}
- if (view->searching == TOG_SEARCH_FORWARD)
+ if (view->searching == TOG_SEARCH_FORWARD) {
lineno = 1;
- else
+ view->action = TOG_MSG_SEARCH_WRAP_FORWARD;
+ } else {
lineno = nlines;
+ view->action = TOG_MSG_SEARCH_WRAP_BACKWARD;
+ }
}
offset = view->type == TOG_VIEW_DIFF ?
@@ -9505,10 +9512,13 @@ search_next_tree_view(struct tog_view *view)
view->search_next_done = TOG_SEARCH_HAVE_MORE;
return NULL;
}
- if (view->searching == TOG_SEARCH_FORWARD)
+ if (view->searching == TOG_SEARCH_FORWARD) {
te = got_object_tree_get_first_entry(s->tree);
- else
+ view->action = TOG_MSG_SEARCH_WRAP_FORWARD;
+ } else {
te = got_object_tree_get_last_entry(s->tree);
+ view->action = TOG_MSG_SEARCH_WRAP_BACKWARD;
+ }
if (te == NULL)
break;
@@ -10229,10 +10239,13 @@ search_next_ref_view(struct tog_view *view)
view->search_next_done = TOG_SEARCH_HAVE_MORE;
return NULL;
}
- if (view->searching == TOG_SEARCH_FORWARD)
+ if (view->searching == TOG_SEARCH_FORWARD) {
re = TAILQ_FIRST(&s->refs);
- else
+ view->action = TOG_MSG_SEARCH_WRAP_FORWARD;
+ } else {
re = TAILQ_LAST(&s->refs, tog_reflist_head);
+ view->action = TOG_MSG_SEARCH_WRAP_BACKWARD;
+ }
}
if (match_reflist_entry(re, &view->regex)) {
[PATCH] add vim-style search wrapped message