]> Sergey Matveev's repositories - nnn.git/commitdiff
Bksp/Del at empty filter prompt to refresh dir and retain prompt
authorArun Prakash Jana <engineerarun@gmail.com>
Sun, 25 Apr 2021 18:59:35 +0000 (00:29 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sun, 25 Apr 2021 19:23:48 +0000 (00:53 +0530)
nnn.1
src/nnn.c

diff --git a/nnn.1 b/nnn.1
index bab27e79baadbc75374601209f706258fe1b0e46..8c06a1cfeb7b4405fb4f6a8724a9a1723642c374 100644 (file)
--- a/nnn.1
+++ b/nnn.1
@@ -214,6 +214,8 @@ Special keys at \fBempty filter prompt\fR:
    :   | Toggle case-sensitivity
   ^L   | Clear filter (\fIif prompt is non-empty\fR)
        | OR apply last filter
+  Bksp | Stay at filter prompt and refresh dir
+  Del  | Stay at filter prompt and refresh dir
 ------ + ---------------------------------------
 .Ed
 .Pp
index 5928b4bafca40090fee9762f25ec187ae88b8eb6..ddff97e0873a35beb99ad214b366935857ad23e1 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -2857,8 +2857,10 @@ static int filterentries(char *path, char *lastname)
                                wln[--len] = '\0';
                                wcstombs(ln, wln, REGEX_MAX);
                                ndents = total;
-                       } else
-                               continue;
+                       } else {
+                               *ch = FILTER;
+                               goto end;
+                       }
                        // fallthrough
                case CONTROL('L'):
                        if (*ch == CONTROL('L')) {
@@ -6436,11 +6438,12 @@ nochange:
                        }
 #endif
                        presel = filterentries(path, lastname);
-
                        if (presel == ESC) {
                                presel = 0;
                                break;
                        }
+                       if (presel == FILTER) /* Refresh dir and filter again */
+                               goto begin;
                        goto nochange;
                case SEL_MFLTR: // fallthrough
                case SEL_HIDDEN: // fallthrough