From 1566b6faa8534118c3566188181367cd0868468f Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 9 Nov 2023 23:19:53 +0100 Subject: Added partial matching and introduced threads --- examples/dte/search.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 examples/dte/search.h (limited to 'examples/dte/search.h') diff --git a/examples/dte/search.h b/examples/dte/search.h new file mode 100644 index 0000000..94d3a57 --- /dev/null +++ b/examples/dte/search.h @@ -0,0 +1,34 @@ +#ifndef SEARCH_H +#define SEARCH_H + +#include +#include +#include "util/macros.h" +#include "view.h" + +typedef enum { + CSS_FALSE, + CSS_TRUE, + CSS_AUTO, +} SearchCaseSensitivity; + +typedef struct { + regex_t regex; + char *pattern; + int re_flags; // If zero, regex hasn't been compiled + bool reverse; +} SearchState; + +static inline void toggle_search_direction(SearchState *search) +{ + search->reverse ^= 1; +} + +bool search_tag(View *view, const char *pattern) NONNULL_ARGS WARN_UNUSED_RESULT; +void search_set_regexp(SearchState *search, const char *pattern) NONNULL_ARGS; +void search_free_regexp(SearchState *search) NONNULL_ARGS; +bool search_prev(View *view, SearchState *search, SearchCaseSensitivity cs) NONNULL_ARGS WARN_UNUSED_RESULT; +bool search_next(View *view, SearchState *search, SearchCaseSensitivity cs) NONNULL_ARGS WARN_UNUSED_RESULT; +bool search_next_word(View *view, SearchState *search, SearchCaseSensitivity cs) NONNULL_ARGS WARN_UNUSED_RESULT; + +#endif -- cgit v1.2.3