nnn

mirror of https://github.com/jarun/nnn
Log | Files | Refs | README | LICENSE

commit c73600a0da993b4675a6e6c7357546d5de22b4d1
parent 7184f7fe78ea7957f0582c797c33bd5cf3914dd7
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Sun, 29 Mar 2026 03:55:46 +0530

Revert "Arbitrate fuzzy score matches with name comparison"

This reverts commit 353c1a7d5e1b22ef8c7b661119f4d6180c902602.

Diffstat:
Msrc/nnn.c | 41++++++++++++++++++++---------------------
1 file changed, 20 insertions(+), 21 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -3338,7 +3338,7 @@ static int fuzzyentrycmp(const void *va, const void *vb) if (sa != sb) return cfg.reverse ? (sa < sb ? 1 : -1) : (sa < sb ? -1 : 1); - return cfg.reverse ? -namecmpfn(pa->name, pb->name) : namecmpfn(pa->name, pb->name); + return entrycmpfn(va, vb); } static void clearfilter(void) @@ -3629,38 +3629,37 @@ static int fill(const char *fltr, regex_t *re) static int matches(const char *fltr) { - if (cfg.fuzzy && fltr[0]) { - fuzzy_sort_fltr = fltr; - ENTSORT(pdents, ndents, fuzzyentrycmp); - fuzzy_sort_fltr = NULL; - return ndents; - } - - if (cfg.regex) { #ifdef PCRE2 - pcre2_code *pcre2x = NULL; + pcre2_code *pcre2x = NULL; - /* Search filter */ - if (setfilter(&pcre2x, fltr)) - return -1; + /* Search filter */ + if (cfg.regex && setfilter(&pcre2x, fltr)) + return -1; - ndents = fill(fltr, pcre2x); + ndents = fill(fltr, pcre2x); + if (cfg.regex) pcre2_code_free(pcre2x); #else - regex_t re; + regex_t re; - /* Search filter */ - if (setfilter(&re, fltr)) - return -1; + /* Search filter */ + if (cfg.regex && setfilter(&re, fltr)) + return -1; - ndents = fill(fltr, &re); + ndents = fill(fltr, &re); + if (cfg.regex) regfree(&re); #endif - } - ENTSORT(pdents, ndents, entrycmpfn); + if (cfg.fuzzy && fltr[0]) { + fuzzy_sort_fltr = fltr; + ENTSORT(pdents, ndents, fuzzyentrycmp); + fuzzy_sort_fltr = NULL; + } else + ENTSORT(pdents, ndents, entrycmpfn); + return ndents; }