]> Sergey Matveev's repositories - nnn.git/commitdiff
Remove redundant key for first file
authorArun Prakash Jana <engineerarun@gmail.com>
Wed, 11 Dec 2019 14:36:12 +0000 (20:06 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Wed, 11 Dec 2019 15:00:20 +0000 (20:30 +0530)
README.md
src/nnn.c
src/nnn.h

index 957b82d4ab2eb342518dc6528b5f093afd8171d8..ec61b5ffab2e165d0d9a211eef2b6bf88a26dee0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -213,7 +213,7 @@ The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see th
          , ^/  Lead key    N LeadN  Context N
             /  Filter/Lead  Ins ^N  Nav-as-you-type toggle
           Esc  Exit prompt   ^L F5  Redraw/clear prompt
-            ?  Help, conf  ' Lead'  First file
+            ?  Help, conf        '  First file
          Q ^Q  Quit  ^G  QuitCD  q  Quit context
  FILES
            ^O  Open with...      n  Create new/link
@@ -257,7 +257,6 @@ The Lead/Leader key provides a powerful multi-functional navigation mechanism. I
 |:---:| --- |
 | <kbd>1-4</kbd> | Go to/create selected context |
 | key | Go to bookmarked location |
-| <kbd>'</kbd> | Go to first file in directory |
 | <kbd>~</kbd> <kbd>`</kbd> <kbd>@</kbd> <kbd>-</kbd> | Visit HOME, `/`, start, last visited dir |
 | <kbd>.</kbd> | Toggle show hidden files |
 
index 3465c968e086da0a814ade18fd49803fc9fda47a..8f6b2291c25c5c9dbe23da3be8ba0cce064a2cb6 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3491,7 +3491,7 @@ static void show_help(const char *path)
               "9, ^/  Lead key    N LeadN  Context N\n"
                  "c/  Filter/Lead  Ins ^N  Nav-as-you-type toggle\n"
                "aEsc  Exit prompt   ^L F5  Redraw/clear prompt\n"
-                 "c?  Help, conf  ' Lead'  First file\n"
+                 "c?  Help, conf        '  First file\n"
               "9Q ^Q  Quit  ^G  QuitCD  q  Quit context\n"
                "1FILES\n"
                 "b^O  Open with...      n  Create new/link\n"
@@ -4008,9 +4008,21 @@ static inline void handle_screen_move(enum action sel)
        case SEL_HOME:
                move_cursor(0, 1);
                break;
-       default: /* case SEL_END: */
+       case SEL_END:
                move_cursor(ndents - 1, 1);
                break;
+       default: /* case SEL_FIRST */
+       {
+               int r = 0;
+
+               for (; r < ndents; ++r) {
+                       if (!(dents[r].flags & DIR_OR_LINK_TO_DIR)) {
+                               move_cursor((r) % ndents, 0);
+                               break;
+                       }
+               }
+               break;
+       }
        }
 }
 
@@ -4495,7 +4507,8 @@ nochange:
                case SEL_PGUP: // fallthrough
                case SEL_CTRL_U: // fallthrough
                case SEL_HOME: // fallthrough
-               case SEL_END:
+               case SEL_END: // fallthrough
+               case SEL_FIRST:
                        handle_screen_move(sel);
                        break;
                case SEL_CDHOME: // fallthrough
@@ -4548,7 +4561,6 @@ nochange:
                case SEL_LEADER: // fallthrough
                case SEL_CYCLE: // fallthrough
                case SEL_CYCLER: // fallthrough
-               case SEL_FIRST: // fallthrough
                case SEL_CTX1: // fallthrough
                case SEL_CTX2: // fallthrough
                case SEL_CTX3: // fallthrough
@@ -4560,9 +4572,6 @@ nochange:
                        case SEL_CYCLER:
                                fd = KEY_BTAB;
                                break;
-                       case SEL_FIRST:
-                               fd = '\'';
-                               break;
                        case SEL_CTX1: // fallthrough
                        case SEL_CTX2: // fallthrough
                        case SEL_CTX3: // fallthrough
@@ -4580,16 +4589,6 @@ nochange:
                        case '@':
                                presel = fd;
                                goto nochange;
-                       case '\'': /* jump to first file in the directory */
-                               for (r = 0; r < ndents; ++r) {
-                                       if (!(dents[r].flags & DIR_OR_LINK_TO_DIR)) {
-                                               move_cursor((r) % ndents, 0);
-                                               break;
-                                       }
-                               }
-                               if (r != ndents)
-                                       continue;
-                               goto nochange;
                        case '.':
                                cfg.showhidden ^= 1;
                                setdirwatch();
index 1c3a6858395b3267d5ad58f99826b3e1d445349e..e7d1ab0257c0a1dd7b459b8cbffa3e010845e27f 100644 (file)
--- a/src/nnn.h
+++ b/src/nnn.h
@@ -161,7 +161,7 @@ static struct key bindings[] = {
        { CONTROL('_'),   SEL_LEADER },
        { ',',            SEL_LEADER },
        /* Cycle contexts in forward direction */
-       { '\t',        SEL_CYCLE },
+       { '\t',           SEL_CYCLE },
        /* Cycle contexts in reverse direction */
        { KEY_BTAB,       SEL_CYCLER },
        /* Go to/create context N */