From ac815c692a6ff6923f3943345145a82cf1306e4b Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Fri, 16 Aug 2019 23:40:43 +0530 Subject: [PATCH] Option -o replaces NNN_RESTRICT_NAV_OPEN --- README.md | 4 ++-- misc/auto-completion/bash/nnn-completion.bash | 1 + misc/auto-completion/fish/nnn.fish | 1 + misc/auto-completion/zsh/_nnn | 1 + nnn.1 | 8 +++----- src/nnn.c | 18 ++++++++---------- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index dabb8318..d57d3324 100644 --- a/README.md +++ b/README.md @@ -225,14 +225,13 @@ Option completion scripts for Bash, Fish and Zsh can be found in respective subd | `NNN_IDLE_TIMEOUT=300` | idle seconds before locking terminal [default: disabled] | | `NNN_COPIER=copier` | clipboard copier script [default: none] | | `NNN_NO_AUTOSELECT=1` | do not auto-select matching dir in _nav-as-you-type_ mode | -| `NNN_RESTRICT_NAV_OPEN=1` | open files on , not or l | | `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] | | `NNN_OPS_PROG=1` | show copy, move progress on Linux | #### Cmdline options ``` -usage: nnn [-b key] [-d] [-e] [-H] [-i] [-n] +usage: nnn [-b key] [-d] [-e] [-H] [-i] [-n] [-o] [-p file] [-s] [-S] [-v] [-w] [-h] [PATH] The missing terminal file manager for X. @@ -247,6 +246,7 @@ optional args: -H show hidden files -i nav-as-you-type mode -n version sort + -o press Enter to open files -p file selection file (stdout if '-') -s string filters [default: regex] -S du mode diff --git a/misc/auto-completion/bash/nnn-completion.bash b/misc/auto-completion/bash/nnn-completion.bash index d15ee3b7..35448edd 100644 --- a/misc/auto-completion/bash/nnn-completion.bash +++ b/misc/auto-completion/bash/nnn-completion.bash @@ -17,6 +17,7 @@ _nnn () { -H -i -n + -o -p -s -S diff --git a/misc/auto-completion/fish/nnn.fish b/misc/auto-completion/fish/nnn.fish index a3d836a1..c7a7b8b5 100644 --- a/misc/auto-completion/fish/nnn.fish +++ b/misc/auto-completion/fish/nnn.fish @@ -11,6 +11,7 @@ complete -c nnn -s e -d 'use exiftool instead of mediainfo' 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 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' complete -c nnn -s s -d 'use substring match for filters' complete -c nnn -s S -d 'start in disk usage analyzer mode' diff --git a/misc/auto-completion/zsh/_nnn b/misc/auto-completion/zsh/_nnn index 900b20e4..5438b6bd 100644 --- a/misc/auto-completion/zsh/_nnn +++ b/misc/auto-completion/zsh/_nnn @@ -15,6 +15,7 @@ args=( '(-H)-H[show hidden files]' '(-i)-i[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' '(-s)-s[use substring match for filters]' '(-S)-S[start in disk usage analyzer mode]' diff --git a/nnn.1 b/nnn.1 index 3d577672..d08d667c 100644 --- a/nnn.1 +++ b/nnn.1 @@ -55,6 +55,9 @@ supports the following options: .Fl n use case-insensitive version compare to sort files .Pp +.Fl o + open files only on Enter key +.Pp .Fl "p file" copy (or \fIpick\fR) selection to file, or stdout if file='-' .Pp @@ -196,11 +199,6 @@ files. export NNN_NO_AUTOSELECT=1 .Ed .Pp -\fBNNN_RESTRICT_NAV_OPEN:\fR disable file open on \fBRight\fR or \fBl\fR keys (\fBEnter\fR opens files). -.Bd -literal - export NNN_RESTRICT_NAV_OPEN=1 -.Ed -.Pp \fBNNN_TRASH:\fR trash (instead of \fIdelete\fR) files to desktop Trash. .Bd -literal export NNN_TRASH=1 diff --git a/src/nnn.c b/src/nnn.c index f60384cc..690f16e9 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -405,10 +405,9 @@ static const char * const messages[] = { #define NNNLVL 6 /* strings end here */ #define NNN_USE_EDITOR 7 /* flags begin here */ #define NNN_NO_AUTOSELECT 8 -#define NNN_RESTRICT_NAV_OPEN 9 -#define NNN_TRASH 10 +#define NNN_TRASH 9 #ifdef __linux__ -#define NNN_OPS_PROG 11 +#define NNN_OPS_PROG 10 #endif static const char * const env_cfg[] = { @@ -421,7 +420,6 @@ static const char * const env_cfg[] = { "NNNLVL", "NNN_USE_EDITOR", "NNN_NO_AUTOSELECT", - "NNN_RESTRICT_NAV_OPEN", "NNN_TRASH", #ifdef __linux__ "NNN_OPS_PROG", @@ -4576,7 +4574,7 @@ nochange: static void usage(void) { fprintf(stdout, - "%s: nnn [-b key] [-d] [-e] [-H] [-i] [-n]\n" + "%s: nnn [-b key] [-d] [-e] [-H] [-i] [-n] [-o]\n" " [-p file] [-s] [-S] [-v] [-w] [-h] [PATH]\n\n" "The missing terminal file manager for X.\n\n" "positional args:\n" @@ -4588,6 +4586,7 @@ static void usage(void) " -H show hidden files\n" " -i nav-as-you-type mode\n" " -n version sort\n" + " -o press Enter to open files\n" " -p file selection file (stdout if '-')\n" " -s string filters [default: regex]\n" " -S du mode\n" @@ -4723,7 +4722,7 @@ int main(int argc, char *argv[]) char *arg = NULL; int opt; - while ((opt = getopt(argc, argv, "HSib:denp:svwh")) != -1) { + while ((opt = getopt(argc, argv, "HSib:denop:svwh")) != -1) { switch (opt) { case 'S': cfg.blkorder = 1; @@ -4749,6 +4748,9 @@ int main(int argc, char *argv[]) case 'n': cmpfn = &xstrverscasecmp; break; + case 'o': + cfg.nonavopen = 1; + break; case 'p': cfg.picker = 1; if (optarg[0] == '-' && optarg[1] == '\0') @@ -4936,10 +4938,6 @@ int main(int argc, char *argv[]) if (xgetenv_set(env_cfg[NNN_NO_AUTOSELECT])) cfg.autoselect = 0; - /* Disable opening files on right arrow and `l` */ - if (xgetenv_set(env_cfg[NNN_RESTRICT_NAV_OPEN])) - cfg.nonavopen = 1; - #ifdef __linux__ if (!xgetenv_set(env_cfg[NNN_OPS_PROG])) { cp[5] = cp[4];