diff options
author | 2019-11-29 08:38:11 +0530 | |
---|---|---|
committer | 2019-11-29 08:38:11 +0530 | |
commit | 965499c671a27239ef481f211eef13412e5c81de (patch) | |
tree | a348a043bb77a3b96e7db61693deb9f4061831f2 | |
parent | 35b3cf3b1fd28478a844ed6173b7a10452178078 (diff) | |
download | nnn-965499c671a27239ef481f211eef13412e5c81de.tar.gz |
Show all selected files on M
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | src/nnn.c | 17 |
2 files changed, 14 insertions, 7 deletions
@@ -211,8 +211,8 @@ The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see th FILES ^O Open with... n Create new/link D File details ^R F2 Rename/duplicate - Space ^J/a Select entry/all r Batch rename - m ^K Sel range, clear M Show sel buf + Space ^J/a Sel toggle/all r Batch rename + m ^K Sel range, clear M List selection P Copy selection K Edit, flush sel V Move selection w Copy/move sel as X Del selection ^X Del entry @@ -581,6 +581,7 @@ static int dentfind(const char *fname, int n); static void move_cursor(int target, int ignore_scrolloff); static inline bool getutil(char *util); static size_t mkpath(const char *dir, const char *name, char *out); +static void updateselbuf(const char *path, char *newpath); /* Functions */ @@ -929,17 +930,22 @@ static size_t seltofile(int fd, uint *pcount) } /* List selection from selection buffer */ -static bool listselbuf(void) +static bool listselbuf(const char *path, char *newpath) { int fd; size_t pos; + uint oldpos = selbufpos; + + updateselbuf(path, newpath); if (!selbufpos) return FALSE; fd = create_tmp_file(); - if (fd == -1) + if (fd == -1) { + selbufpos = oldpos; return FALSE; + } pos = seltofile(fd, NULL); @@ -948,6 +954,7 @@ static bool listselbuf(void) spawn(pager, g_tmpfpath, NULL, NULL, F_CLI); unlink(g_tmpfpath); + selbufpos = oldpos; return TRUE; } @@ -3435,8 +3442,8 @@ static void show_help(const char *path) "1FILES\n" "b^O Open with... n Create new/link\n" "cD File details ^R F2 Rename/duplicate\n" - "3Space ^J/a Select entry/all r Batch rename\n" - "9m ^K Sel range, clear M Show sel buf\n" + "3Space ^J/a Sel toggle/all r Batch rename\n" + "9m ^K Sel range, clear M List selection\n" "cP Copy selection K Edit, flush sel\n" "cV Move selection w Copy/move sel as\n" "cX Del selection ^X Del entry\n" @@ -4841,7 +4848,7 @@ nochange: } continue; case SEL_SELLIST: - if (listselbuf() || listselfile()) { + if (listselbuf(path, newpath) || listselfile()) { if (cfg.filtermode) presel = FILTER; break; |