瀏覽代碼

Add option -s to use string filters

master
Arun Prakash Jana 6 年之前
父節點
當前提交
cebb2469d3
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: A75979F35C080412
共有 6 個文件被更改,包括 19 次插入19 次删除
  1. +3
    -5
      README.md
  2. +6
    -6
      nnn.1
  3. +1
    -0
      scripts/auto-completion/bash/nnn-completion.bash
  4. +1
    -0
      scripts/auto-completion/fish/nnn.fish
  5. +1
    -0
      scripts/auto-completion/zsh/_nnn
  6. +7
    -8
      src/nnn.c

+ 3
- 5
README.md 查看文件

@@ -189,7 +189,7 @@ Search keyword and option completion scripts for Bash, Fish and Zsh can be found


``` ```
usage: nnn [-b key] [-C] [-e] [-i] [-l] [-n] usage: nnn [-b key] [-C] [-e] [-i] [-l] [-n]
[-p file] [-S] [-v] [-h] [PATH]
[-p file] [-s] [-S] [-v] [-h] [PATH]


The missing terminal file manager for X. The missing terminal file manager for X.


@@ -204,6 +204,7 @@ optional args:
-l light mode -l light mode
-n use version compare to sort -n use version compare to sort
-p file selection file (stdout if '-') -p file selection file (stdout if '-')
-s string filters [default: regex]
-S disk usage mode -S disk usage mode
-v show version -v show version
-h show help -h show help
@@ -320,9 +321,7 @@ Common use cases:
- type `\.mkv` to list all MKV files - type `\.mkv` to list all MKV files
- use `.*` to match any character (_sort of_ fuzzy search) - use `.*` to match any character (_sort of_ fuzzy search)


To filter entries by substring match:

export NNN_PLAIN_FILTER=1
There is a program opton to filter entries by substring match.


If `nnn` is invoked as root or the environment variable `NNN_SHOW_HIDDEN` is set the default filter will also match hidden files. If `nnn` is invoked as root or the environment variable `NNN_SHOW_HIDDEN` is set the default filter will also match hidden files.


@@ -396,7 +395,6 @@ The option `open with` takes 1 combined argument.
| `NNN_NO_AUTOSELECT=1` | do not auto-select matching dir in _nav-as-you-type` mode | | `NNN_NO_AUTOSELECT=1` | do not auto-select matching dir in _nav-as-you-type` mode |
| `NNN_RESTRICT_NAV_OPEN=1` | open files on <kbd> ↵</kbd>, not <kbd>→</kbd> or <kbd>l</kbd> | | `NNN_RESTRICT_NAV_OPEN=1` | open files on <kbd> ↵</kbd>, not <kbd>→</kbd> or <kbd>l</kbd> |
| `NNN_RESTRICT_0B=1` | do not open 0-byte files | | `NNN_RESTRICT_0B=1` | do not open 0-byte files |
| `NNN_PLAIN_FILTER=1` | use substring match in filer mode [default: regex] |


#### Help #### Help




+ 6
- 6
nnn.1 查看文件

@@ -11,7 +11,9 @@
.Op Ar -e .Op Ar -e
.Op Ar -i .Op Ar -i
.Op Ar -l .Op Ar -l
.Op Ar -n
.Op Ar -p file .Op Ar -p file
.Op Ar -s
.Op Ar -S .Op Ar -S
.Op Ar -v .Op Ar -v
.Op Ar -h .Op Ar -h
@@ -187,6 +189,9 @@ supports the following options:
.Fl "p file" .Fl "p file"
copy (or \fIpick\fR) selection to file, or stdout if file='-' copy (or \fIpick\fR) selection to file, or stdout if file='-'
.Pp .Pp
.Fl s
use substring match for filters instead of regex
.Pp
.Fl S .Fl S
start in disk usage analyzer mode start in disk usage analyzer mode
.Pp .Pp
@@ -235,7 +240,7 @@ with a '^' (caret) symbol.
.br .br
(3) Use '.*' to match any character (\fIsort of\fR fuzzy search). (3) Use '.*' to match any character (\fIsort of\fR fuzzy search).
.Pp .Pp
To filter entries by substring match export the environment variable \fBNNN_PLAIN_FILTER\fR.
There is a program option to filter entries by substring match.
.Pp .Pp
If If
.Nm .Nm
@@ -335,11 +340,6 @@ files.
.Bd -literal .Bd -literal
export NNN_RESTRICT_0B=1 export NNN_RESTRICT_0B=1
.Ed .Ed
.Pp
\fBNNN_PLAIN_FILTER:\fR use substring match in filter mode.
.Bd -literal
export NNN_PLAIN_FILTER=1
.Ed
.Sh KNOWN ISSUES .Sh KNOWN ISSUES
If you are using urxvt you might have to set backspace key to DEC. If you are using urxvt you might have to set backspace key to DEC.
.Sh AUTHORS .Sh AUTHORS


+ 1
- 0
scripts/auto-completion/bash/nnn-completion.bash 查看文件

@@ -19,6 +19,7 @@ _nnn () {
-l -l
-n -n
-p -p
-s
-S -S
-v -v
) )


+ 1
- 0
scripts/auto-completion/fish/nnn.fish 查看文件

@@ -13,5 +13,6 @@ complete -c nnn -s i -d 'start in navigate-as-you-type mode'
complete -c nnn -s l -d 'start in light mode (fewer details)' complete -c nnn -s l -d 'start in light mode (fewer details)'
complete -c nnn -s n -d 'use version compare to sort files' complete -c nnn -s n -d 'use version compare to sort files'
complete -c nnn -s p -r -d 'copy selection to file' complete -c nnn -s p -r -d 'copy selection to file'
complete -c nnn -s s -d 'use substring match for filters'
complete -c nnn -s S -d 'start in disk usage analyzer mode' complete -c nnn -s S -d 'start in disk usage analyzer mode'
complete -c nnn -s v -d 'show program version and exit' complete -c nnn -s v -d 'show program version and exit'

+ 1
- 0
scripts/auto-completion/zsh/_nnn 查看文件

@@ -17,6 +17,7 @@ args=(
'(-l)-l[start in light mode (fewer details)]' '(-l)-l[start in light mode (fewer details)]'
'(-n)-n[use version compare to sort files]' '(-n)-n[use version compare to sort files]'
'(-p)-p[copy selection to file]:file name' '(-p)-p[copy selection to file]:file name'
'(-s)-s[use substring match for filters]'
'(-S)-S[start in disk usage analyzer mode]' '(-S)-S[start in disk usage analyzer mode]'
'(-v)-v[show program version and exit]' '(-v)-v[show program version and exit]'
'*:filename:_files' '*:filename:_files'


+ 7
- 8
src/nnn.c 查看文件

@@ -3956,7 +3956,7 @@ static void usage(void)
{ {
fprintf(stdout, fprintf(stdout,
"usage: nnn [-b key] [-C] [-e] [-i] [-l] [-n]\n" "usage: nnn [-b key] [-C] [-e] [-i] [-l] [-n]\n"
" [-p file] [-S] [-v] [-h] [PATH]\n\n"
" [-p file] [-s] [-S] [-v] [-h] [PATH]\n\n"
"The missing terminal file manager for X.\n\n" "The missing terminal file manager for X.\n\n"
"positional args:\n" "positional args:\n"
" PATH start dir [default: current dir]\n\n" " PATH start dir [default: current dir]\n\n"
@@ -3968,6 +3968,7 @@ static void usage(void)
" -l light mode\n" " -l light mode\n"
" -n use version compare to sort\n" " -n use version compare to sort\n"
" -p file selection file (stdout if '-')\n" " -p file selection file (stdout if '-')\n"
" -s string filters [default: regex]\n"
" -S disk usage mode\n" " -S disk usage mode\n"
" -v show version\n" " -v show version\n"
" -h show help\n\n" " -h show help\n\n"
@@ -3980,7 +3981,7 @@ int main(int argc, char *argv[])
char *ipath = NULL; char *ipath = NULL;
int opt; int opt;


while ((opt = getopt(argc, argv, "Slib:Cenp:vh")) != -1) {
while ((opt = getopt(argc, argv, "Slib:Cenp:svh")) != -1) {
switch (opt) { switch (opt) {
case 'S': case 'S':
cfg.blkorder = 1; cfg.blkorder = 1;
@@ -4019,6 +4020,10 @@ int main(int argc, char *argv[])
} }
} }
break; break;
case 's':
cfg.filter_re = 0;
filterfn = &visible_str;
break;
case 'v': case 'v':
fprintf(stdout, "%s\n", VERSION); fprintf(stdout, "%s\n", VERSION);
return 0; return 0;
@@ -4168,12 +4173,6 @@ int main(int argc, char *argv[])
if (getenv(env_cfg[NNN_RESTRICT_0B])) if (getenv(env_cfg[NNN_RESTRICT_0B]))
cfg.restrict0b = 1; cfg.restrict0b = 1;


/* Use string-comparison in filter mode */
if (getenv(env_cfg[NNN_PLAIN_FILTER])) {
cfg.filter_re = 0;
filterfn = &visible_str;
}

/* Ignore certain signals */ /* Ignore certain signals */
signal(SIGINT, SIG_IGN); signal(SIGINT, SIG_IGN);
signal(SIGQUIT, SIG_IGN); signal(SIGQUIT, SIG_IGN);


Loading…
取消
儲存