complete -c nnn -s E -d 'use EDITOR for undetached edits'
complete -c nnn -s g -d 'regex filters'
complete -c nnn -s H -d 'show hidden files'
+complete -c nnn -s i -d 'start in navigate-as-you-type mode'
complete -c nnn -s K -d 'detect key collision'
-complete -c nnn -s n -d 'start in navigate-as-you-type mode'
+complete -c nnn -s n -d 'use version compare to sort files'
complete -c nnn -s o -d 'open files only on Enter'
complete -c nnn -s p -r -d 'copy selection to file' -a '-\tstdout'
complete -c nnn -s Q -d 'disable quit confirmation'
complete -c nnn -s S -d 'start in disk usage analyzer mode'
complete -c nnn -s t -d 'disable dir auto-select'
complete -c nnn -s v -d 'show program version and exit'
-complete -c nnn -s V -d 'use version compare to sort files'
complete -c nnn -s x -d 'notis, sel to system clipboard'
complete -c nnn -s h -d 'show program help'
'(-E)-E[use EDITOR for undetached edits]'
'(-g)-g[regex filters]'
'(-H)-H[show hidden files]'
+ '(-i)-i[start in navigate-as-you-type mode]'
'(-K)-K[detect key collision]'
- '(-n)-n[start in navigate-as-you-type mode]'
+ '(-n)-n[use version compare to sort files]'
'(-o)-o[open files only on Enter]'
'(-p)-p[copy selection to file]:file name'
'(-Q)-Q[disable quit confirmation]'
'(-S)-S[start in disk usage analyzer mode]'
'(-t)-t[disable dir auto-select]'
'(-v)-v[show program version and exit]'
- '(-V)-V[use version compare to sort files]'
'(-x)-x[notis, sel to system clipboard]'
'(-h)-h[show program help]'
'*:filename:_files'
"7Left h Parent%-12c~ ` @ - HOME, /, start, last\n"
"9g ^A Top%-11cRet Right l Open\n"
"9G ^E End%-21c' First file\n"
- "c, Pin CWD%-17c. Toggle hidden\n"
- "9b ^B Go to bookmark%-10cd Detail view toggle\n"
+ "cb Pin CWD%-16c^B Go to pinned dir\n"
+ "9, ^/ Go to bookmark%-10cd Detail view toggle\n"
"6(Sh)Tab Cycle context%-11cN Context N\n"
- "c/ Filter%-14c^/ ^N Nav-as-you-type toggle\n"
+ "c/ Filter%-13cIns ^N Nav-as-you-type toggle\n"
"aEsc Exit prompt%-9c^L F5 Redraw/clear prompt\n"
- "b^G QuitCD%-18c? Help, conf\n"
+ "c. Toggle hidden%-11c? Help, conf\n"
"9Q ^Q Quit%-20cq Quit context\n"
+ "b^G QuitCD%-1c\n"
"1FILES\n"
"b^O Open with...%-12cn Create new/link\n"
"cD File details%-8c^R F2 Rename/duplicate\n"
case SEL_CDHOME: // fallthrough
case SEL_CDBEGIN: // fallthrough
case SEL_CDLAST: // fallthrough
- case SEL_CDROOT:
+ case SEL_CDROOT: // fallthrough
+ case SEL_VISIT:
switch (sel) {
case SEL_CDHOME:
dir = home;
case SEL_CDLAST:
dir = lastdir;
break;
- default: /* SEL_CDROOT */
+ case SEL_CDROOT:
dir = "/";
break;
+ default: /* case SEL_VISIT */
+ dir = mark;
+ break;
}
if (dir[0] == '\0') {
xstrlcpy(g_buf, messages[MSG_BOOKMARK_KEYS], CMD_LEN_MAX);
printkeys(bookmark, g_buf + strlen(g_buf), BM_MAX);
printprompt(g_buf);
- r = get_input(NULL);
+ fd = get_input(NULL);
- if (!get_kv_val(bookmark, newpath, r, BM_MAX, TRUE)) {
- if (r == ',' && mark[0])
- xstrlcpy(newpath, mark, PATH_MAX);
- else {
- printwait(messages[MSG_INVALID_KEY], &presel);;
- goto nochange;
- }
+ if (!get_kv_val(bookmark, newpath, fd, BM_MAX, TRUE)) {
+ printwait(messages[MSG_INVALID_KEY], &presel);;
+ goto nochange;
}
-
-
if (!xdiraccess(newpath)) {
printwait(messages[MSG_ACCESS], &presel);
goto nochange;
" -E use EDITOR for undetached edits\n"
" -g regex filters [default: string]\n"
" -H show hidden files\n"
+ " -i nav-as-you-type mode\n"
" -K detect key collision\n"
- " -n nav-as-you-type mode\n"
+ " -n version sort\n"
" -o open files on Enter\n"
" -p file selection file [stdout if '-']\n"
" -Q no quit confirmation\n"
" -S du mode\n"
" -t no dir auto-select\n"
" -v show version\n"
- " -V version sort\n"
" -x notis, sel to system clipboard\n"
" -h show help\n\n"
"v%s\n%s\n", __func__, VERSION, GENERAL_INFO);
bool progress = FALSE;
#endif
- while ((opt = getopt(argc, argv, "HSKab:cdEgnop:QrRs:tvVxh")) != -1) {
+ while ((opt = getopt(argc, argv, "HSKiab:cdEgnop:QrRs:tvxh")) != -1) {
switch (opt) {
case 'S':
cfg.blkorder = 1;
cfg.showdetail = 1;
printptr = &printent_long;
break;
+ case 'i':
+ cfg.filtermode = 1;
+ break;
case 'a':
cfg.mtime = 0;
break;
cfg.showhidden = 1;
break;
case 'n':
- cfg.filtermode = 1;
+ cmpfn = &xstrverscasecmp;
break;
case 'o':
cfg.nonavopen = 1;
case 'v':
fprintf(stdout, "%s\n", VERSION);
return _SUCCESS;
- case 'V':
- cmpfn = &xstrverscasecmp;
- break;
case 'x':
cfg.x11 = 1;
break;
SEL_CDBEGIN,
SEL_CDLAST,
SEL_CDROOT,
+ SEL_VISIT,
SEL_CYCLE,
SEL_CYCLER,
SEL_CTX1,
{ '-', SEL_CDLAST },
/* Go to / */
{ '`', SEL_CDROOT },
+ /* Visit marked directory */
+ { CONTROL('B'), SEL_VISIT },
/* Cycle contexts in forward direction */
{ '\t', SEL_CYCLE },
/* Cycle contexts in reverse direction */
{ '3', SEL_CTX3 },
{ '4', SEL_CTX4 },
/* Bookmark key */
- { 'b', SEL_BOOKMARK },
- { CONTROL('B'), SEL_BOOKMARK },
+ { CONTROL('_'), SEL_BOOKMARK },
+ { ',', SEL_BOOKMARK },
/* Mark a path to visit later */
- { ',', SEL_PIN },
+ { 'b', SEL_PIN },
/* Filter */
{ '/', SEL_FLTR },
/* Toggle filter mode */
{ KEY_IC, SEL_MFLTR },
- { CONTROL('_'), SEL_MFLTR },
+ { CONTROL('N'), SEL_MFLTR },
/* Toggle hide .dot files */
{ '.', SEL_TOGGLEDOT },
/* Detailed listing */