From 25414c4796291e4b20ef72c92df9f08544976cb3 Mon Sep 17 00:00:00 2001 From: Evan Gates Date: Fri, 25 Sep 2020 11:31:15 -0700 Subject: text: add text_object_find_next/prev Add two new text-object functions to search forwards/backwards for a string literal (not a regex) with the same signature as text_object_word_find_next/prev. This allows them to be used interchangeably with the word based variant through function pointers. --- text-objects.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'text-objects.c') diff --git a/text-objects.c b/text-objects.c index fb5adc2..69ea91c 100644 --- a/text-objects.c +++ b/text-objects.c @@ -137,6 +137,20 @@ Filerange text_object_word_find_prev(Text *txt, size_t pos, const char *word) { } } +Filerange text_object_find_next(Text *txt, size_t pos, const char *search) { + size_t start = text_find_next(txt, pos, search); + if (start == pos) + return text_range_empty(); + return text_range_new(start, start+strlen(search)); +} + +Filerange text_object_find_prev(Text *txt, size_t pos, const char *search) { + size_t start = text_find_prev(txt, pos, search); + if (start == pos) + return text_range_empty(); + return text_range_new(start, start+strlen(search)); +} + Filerange text_object_line(Text *txt, size_t pos) { Filerange r; r.start = text_line_begin(txt, pos); -- cgit v1.2.3