Introduction
Introduction Statistics Contact Development Disclaimer Help
Remove filter as you type mode - noice - small file browser (mirror / fork from…
git clone git://git.codemadness.org/noice
Log
Files
Refs
README
LICENSE
---
commit 9f6d1cfb334d7268608e04379400ce8bbe0429c9
parent d909de605c133037b72b4cfbcd34e83b130aa55c
Author: sin <[email protected]>
Date: Mon, 8 Feb 2016 16:52:07 +0000
Remove filter as you type mode
Nobody uses it and adds additional complexity.
Diffstat:
M config.def.h | 2 --
M noice.1 | 2 --
M noice.c | 98 +----------------------------…
3 files changed, 2 insertions(+), 100 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -32,8 +32,6 @@ struct key bindings[] = {
/* Filter */
{ '/', SEL_FLTR },
{ '&', SEL_FLTR },
- /* Filter as you type */
- { '?', SEL_TYPE },
/* Next */
{ 'j', SEL_NEXT },
{ KEY_DOWN, SEL_NEXT },
diff --git a/noice.1 b/noice.1
@@ -47,8 +47,6 @@ Open file or enter directory.
Back up one directory level.
.It Ic / or &
Change filter (see below for more information).
-.It Ic \&?
-Enter filter-as-you-type mode.
.It Ic c
Change into the given directory.
.It Ic t
diff --git a/noice.c b/noice.c
@@ -50,7 +50,6 @@ enum action {
SEL_BACK,
SEL_GOIN,
SEL_FLTR,
- SEL_TYPE,
SEL_NEXT,
SEL_PREV,
SEL_PGDN,
@@ -355,58 +354,6 @@ readln(void)
return ln[0] ? strdup(ln) : NULL;
}
-/*
- * Read one key and modify the provided string accordingly.
- * Returns 0 when more input is expected and 1 on completion.
- */
-int
-readmore(char **str)
-{
- int c, ret = 0;
- int i;
- char *ln = *str;
-
- timeout(-1);
- if (ln != NULL)
- i = strlen(ln);
- else
- i = 0;
- DPRINTF_D(i);
-
- curs_set(TRUE);
-
- c = getch();
- switch (c) {
- case KEY_ENTER:
- case '\r':
- ret = 1;
- break;
- case KEY_BACKSPACE:
- case CONTROL('H'):
- i--;
- if (i > 0) {
- ln = xrealloc(ln, (i + 1) * sizeof(*ln));
- ln[i] = '\0';
- } else {
- free(ln);
- ln = NULL;
- }
- break;
- default:
- i++;
- ln = xrealloc(ln, (i + 1) * sizeof(*ln));
- ln[i - 1] = c;
- ln[i] = '\0';
- }
-
- curs_set(FALSE);
-
- *str = ln;
- timeout(1000);
-
- return ret;
-}
-
int
canopendir(char *path)
{
@@ -627,25 +574,18 @@ browse(const char *ipath, const char *ifilter)
struct stat sb;
regex_t re;
int r, fd;
- int nowtyping = 0;
strlcpy(path, ipath, sizeof(path));
strlcpy(fltr, ifilter, sizeof(fltr));
begin:
r = populate();
if (r == -1) {
- if (!nowtyping) {
- printwarn();
- goto nochange;
- }
+ printwarn();
+ goto nochange;
}
for (;;) {
redraw();
-
- /* Handle filter-as-you-type mode */
- if (nowtyping)
- goto moretyping;
nochange:
switch (nextsel(&run, &env)) {
case SEL_QUIT:
@@ -734,40 +674,6 @@ nochange:
if (n > 0)
mkpath(path, dents[cur].name, oldpath, sizeof(…
goto begin;
- case SEL_TYPE:
- nowtyping = 1;
- tmp = NULL;
-moretyping:
- printprompt("type: ");
- if (tmp != NULL)
- printw("%s", tmp);
- r = readmore(&tmp);
- DPRINTF_D(r);
- DPRINTF_S(tmp);
- if (r == 1)
- nowtyping = 0;
- /* Check regex errors */
- if (tmp != NULL) {
- r = setfilter(&re, tmp);
- if (r != 0)
- if (nowtyping) {
- goto moretyping;
- } else {
- free(tmp);
- goto nochange;
- }
- }
- /* Copy or reset filter */
- if (tmp != NULL)
- strlcpy(fltr, tmp, sizeof(fltr));
- else
- strlcpy(fltr, ifilter, sizeof(fltr));
- /* Save current */
- if (n > 0)
- mkpath(path, dents[cur].name, oldpath, sizeof(…
- if (!nowtyping)
- free(tmp);
- goto begin;
case SEL_NEXT:
if (cur < n - 1)
cur++;
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.