diff --git a/format.c b/format.c index 8723f2e03..fd5aebcc1 100644 --- a/format.c +++ b/format.c @@ -4525,53 +4525,6 @@ format_build_modifiers(struct format_expand_state *es, const char **s, return (list); } -/* Fuzzy match a single token (no spaces). */ -static int -format_fuzzy_match_token(const char *pattern, size_t patternlen, - const char *text, int icase) -{ - const char *end = pattern + patternlen; - - while (pattern != end) { - if (*text == '\0') - return (0); - if (icase) { - if (tolower((u_char)*pattern) == tolower((u_char)*text)) - pattern++; - } else { - if (*pattern == *text) - pattern++; - } - text++; - } - return (1); -} - -/* - * Fuzzy match strings. The pattern is split on spaces into tokens and every - * token must match as a sequence. - */ -static int -format_fuzzy_match(const char *pattern, const char *text, int icase) -{ - const char *start; - size_t len; - - while (*pattern != '\0') { - while (*pattern == ' ') - pattern++; - if (*pattern == '\0') - break; - start = pattern; - while (*pattern != '\0' && *pattern != ' ') - pattern++; - len = pattern - start; - if (!format_fuzzy_match_token(start, len, text, icase)) - return (0); - } - return (1); -} - /* Match against an fnmatch(3) pattern or regular expression. */ static char * format_match(struct format_modifier *fm, const char *pattern, const char *text) @@ -4582,10 +4535,7 @@ format_match(struct format_modifier *fm, const char *pattern, const char *text) if (fm->argc >= 1) s = fm->argv[0]; - if (strchr(s, 'z') != NULL) { - if (!format_fuzzy_match(pattern, text, strchr(s, 'i') != NULL)) - return (xstrdup("0")); - } else if (strchr(s, 'r') == NULL) { + if (strchr(s, 'r') == NULL) { if (strchr(s, 'i') != NULL) flags |= FNM_CASEFOLD; if (fnmatch(pattern, text, flags) != 0) diff --git a/status.c b/status.c index 78c61e202..44b70b7c1 100644 --- a/status.c +++ b/status.c @@ -904,7 +904,7 @@ status_prompt_redraw(struct client *c) status_prompt_area(c, &ax, &aw); tmp = utf8_tocstr(c->prompt_buffer); - format_add(ft, "prompt-input", "%s", tmp); + format_add(ft, "prompt_input", "%s", tmp); prompt = format_expand_time(ft, c->prompt_string); free(tmp); diff --git a/tmux.1 b/tmux.1 index f753875ea..bf9c142fa 100644 --- a/tmux.1 +++ b/tmux.1 @@ -6384,20 +6384,13 @@ An optional argument specifies flags: .Ql r means the pattern is a regular expression instead of the default .Xr glob 7 -pattern, -.Ql z -means the pattern is a fuzzy match, that is, it matches if its characters -appear in the string in order but not necessarily consecutively; -the pattern is split on spaces into separate terms which must all match, -and +pattern and .Ql i means to ignore case. For example: .Ql #{m:*foo*,#{host}} or -.Ql #{m/ri:\[ha]A,MYVAR} -or -.Ql #{m/z:abc,aXbXc} . +.Ql #{m/ri:\[ha]A,MYVAR} . A .Ql C performs a search for a