^L at empty prompt shows last filter

This commit is contained in:
Arun Prakash Jana 2020-01-12 03:36:08 +05:30
parent bb3d79ce21
commit aea48508da
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -2119,10 +2119,25 @@ static int filterentries(char *path, char *lastname)
goto end; goto end;
} }
if (*ch == CONTROL('L') && wln[1]) { if (*ch == CONTROL('L')) {
if (wln[1]) {
ln[REGEX_MAX - 1] = ln[1]; ln[REGEX_MAX - 1] = ln[1];
wln[1] = '\0'; wln[1] = '\0';
len = 1; len = 1;
} else if (ln[REGEX_MAX - 1]) { /* Show the previous filter */
ln[1] = ln[REGEX_MAX - 1];
ln[REGEX_MAX - 1] = '\0';
len = mbstowcs(wln, ln, REGEX_MAX);
/* Go to the top, we don't know if the
hovered file will match the filter */
cur = 0;
if (matches(pln) != -1)
redraw(path);
showfilter(ln);
continue;
}
} else } else
wln[--len] = '\0'; wln[--len] = '\0';
@ -2138,21 +2153,6 @@ static int filterentries(char *path, char *lastname)
case KEY_MOUSE: // fallthrough case KEY_MOUSE: // fallthrough
case 27: /* Exit filter mode on Escape */ case 27: /* Exit filter mode on Escape */
goto end; goto end;
case KEY_UP: /* On the first Up, apply previous filter */
if (len == 1 && ln[REGEX_MAX - 1]) {
ln[1] = ln[REGEX_MAX - 1];
ln[REGEX_MAX - 1] = '\0';
len = mbstowcs(wln, ln, REGEX_MAX);
/* Go to the top, we don't know if the
hovered file will match the filter */
cur = 0;
if (matches(pln) != -1)
redraw(path);
showfilter(ln);
continue;
}
} }
if (r == OK) { if (r == OK) {