aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-01-15 10:05:19 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-01-15 10:05:19 +0530
commit0222b75c2eba7d78d8984f159ae0bd0afce9de21 (patch)
tree56b6bb19373c92313542a4d0e5bbabdf2b21d2df /src
parent73a2919b7eb36e3b0c53acf16c384f4ffe1b8f49 (diff)
downloadnnn-0222b75c2eba7d78d8984f159ae0bd0afce9de21.tar.gz
Use / to toggle string and regex
Diffstat (limited to 'src')
-rw-r--r--src/nnn.c25
-rw-r--r--src/nnn.h6
2 files changed, 11 insertions, 20 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 711b0d0..cf1e295 100644
--- a/src/nnn.c
+++ b/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')
diff --git a/src/nnn.h b/src/nnn.h
index d65febf..adebd69 100644
--- a/src/nnn.h
+++ b/src/nnn.h
@@ -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 */