]> Sergey Matveev's repositories - nnn.git/commitdiff
Option -o replaces NNN_RESTRICT_NAV_OPEN
authorArun Prakash Jana <engineerarun@gmail.com>
Fri, 16 Aug 2019 18:10:43 +0000 (23:40 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Fri, 16 Aug 2019 18:10:43 +0000 (23:40 +0530)
README.md
misc/auto-completion/bash/nnn-completion.bash
misc/auto-completion/fish/nnn.fish
misc/auto-completion/zsh/_nnn
nnn.1
src/nnn.c

index dabb8318dfdadac314f75d0c9d2de65026d78d9e..d57d332428971bfbee8882198bb58ed40c865107 100644 (file)
--- 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 <kbd> ↵</kbd>, not <kbd>→</kbd> or <kbd>l</kbd> |
 | `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
index d15ee3b7b81bb9cca566c714ae39de25e2a143f5..35448edde0026304901a67741297b0bc3986ef7d 100644 (file)
@@ -17,6 +17,7 @@ _nnn () {
         -H
         -i
         -n
+        -o
         -p
         -s
         -S
index a3d836a1927e8aa10056438b0e4e15df7e21da61..c7a7b8b57e47f37e9e1d6903eaa2d706e986d296 100644 (file)
@@ -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'
index 900b20e440c34b9a418162642ec0eb119aa9ea42..5438b6bd96f9e2b31706e3301ca1a52532f00d22 100644 (file)
@@ -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 3d577672a82b5eb973b75e60207a62cf6cd2a2e8..d08d667c557dbce75be2d3ee0d23a9224ad8cc08 100644 (file)
--- 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
index f60384ccbb9f3b07b77c1c10b6b1168c2717c753..690f16e9fadc7f5bbf86a2f4130801be709e5ff9 100644 (file)
--- 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];