mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Use / to toggle string and regex
This commit is contained in:
parent
73a2919b7e
commit
0222b75c2e
4
nnn.1
4
nnn.1
|
@ -142,9 +142,7 @@ Filters are strings to find matching entries in the current directory instantly
|
|||
.Pp
|
||||
To modify match criteria at runtime:
|
||||
.br
|
||||
- string to regex: press '\\' at empty filter prompt
|
||||
.br
|
||||
- regex to string: press '/' at empty filter prompt
|
||||
- toggle between string and regex: press '/' at empty filter prompt
|
||||
.br
|
||||
- toggle case sensitivity: press ':' at empty filter prompt
|
||||
.Pp
|
||||
|
|
25
src/nnn.c
25
src/nnn.c
|
@ -2072,7 +2072,7 @@ static void showfilterinfo(void)
|
|||
|
||||
i = getorderstr(info);
|
||||
|
||||
snprintf(info + i, REGEX_MAX - i - 1, " %s [keys /\\], %s [key :]",
|
||||
snprintf(info + i, REGEX_MAX - i - 1, " %s [/], %s [:]",
|
||||
(cfg.regex ? "regex" : "str"),
|
||||
((fnstrstr == &strcasestr) ? "ic" : "noic"));
|
||||
printinfoln(info);
|
||||
|
@ -2238,20 +2238,11 @@ static int filterentries(char *path, char *lastname)
|
|||
continue;
|
||||
}
|
||||
|
||||
/* string to regex */
|
||||
if (*ch == RFILTER && ln[0] == FILTER) {
|
||||
wln[0] = ln[0] = RFILTER;
|
||||
cfg.regex = TRUE;
|
||||
filterfn = &visible_re;
|
||||
showfilter(ln);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* regex to string */
|
||||
if (*ch == FILTER && ln[0] == RFILTER) {
|
||||
wln[0] = ln[0] = FILTER;
|
||||
cfg.regex = FALSE;
|
||||
filterfn = &visible_str;
|
||||
/* toggle string or regex filter */
|
||||
if (*ch == FILTER) {
|
||||
wln[0] = ln[0] = (ln[0] == FILTER) ? RFILTER : FILTER;
|
||||
cfg.regex ^= 1;
|
||||
filterfn = (filterfn == &visible_str) ? &visible_re : &visible_str;
|
||||
showfilter(ln);
|
||||
continue;
|
||||
}
|
||||
|
@ -4994,7 +4985,7 @@ nochange:
|
|||
case SEL_MFLTR: // fallthrough
|
||||
case SEL_TOGGLEDOT: // fallthrough
|
||||
case SEL_DETAIL: // fallthrough
|
||||
case SEL_ORDER:
|
||||
case SEL_SORT:
|
||||
switch (sel) {
|
||||
case SEL_MFLTR:
|
||||
cfg.filtermode ^= 1;
|
||||
|
@ -5020,7 +5011,7 @@ nochange:
|
|||
cfg.showdetail ? (printptr = &printent_long) : (printptr = &printent);
|
||||
cfg.blkorder = 0;
|
||||
continue;
|
||||
default: /* SEL_ORDER */
|
||||
default: /* SEL_SORT */
|
||||
r = get_input(messages[MSG_ORDER]);
|
||||
|
||||
if ((r == 'a' || r == 'd' || r == 'e' || r == 's' || r == 't')
|
||||
|
|
|
@ -67,7 +67,7 @@ enum action {
|
|||
SEL_STATS,
|
||||
SEL_CHMODX,
|
||||
SEL_ARCHIVE,
|
||||
SEL_ORDER,
|
||||
SEL_SORT,
|
||||
SEL_REDRAW,
|
||||
SEL_SEL,
|
||||
SEL_SELMUL,
|
||||
|
@ -174,8 +174,8 @@ static struct key bindings[] = {
|
|||
/* Create archive */
|
||||
{ 'z', SEL_ARCHIVE },
|
||||
/* Sort toggles */
|
||||
{ 't', SEL_ORDER },
|
||||
{ CONTROL('T'), SEL_ORDER },
|
||||
{ 't', SEL_SORT },
|
||||
{ CONTROL('T'), SEL_SORT },
|
||||
/* Redraw window */
|
||||
{ CONTROL('L'), SEL_REDRAW },
|
||||
/* Select current file path */
|
||||
|
|
Loading…
Reference in a new issue