mirror of
https://github.com/jarun/nnn.git
synced 2024-12-01 02:49:44 +00:00
Fix #976: check external selection in 'c'urrent / 's'el prompt
This commit is contained in:
parent
7a7fd5fcab
commit
163102e8ae
22
src/nnn.c
22
src/nnn.c
|
@ -1258,10 +1258,21 @@ static int get_input(const char *prompt)
|
|||
return r;
|
||||
}
|
||||
|
||||
static bool isselfileempty(void)
|
||||
{
|
||||
struct stat sb;
|
||||
|
||||
return (stat(selpath, &sb) == -1) || (!sb.st_size);
|
||||
}
|
||||
|
||||
static int get_cur_or_sel(void)
|
||||
{
|
||||
if (selbufpos && ndents) {
|
||||
if (cfg.prefersel)
|
||||
/* Check both local buffer and selection file for external selection */
|
||||
if ((selbufpos || !isselfileempty()) && ndents) {
|
||||
/* If selection is preferred and we have a local selection, return selection.
|
||||
* Always show the prompt in case of an external selection.
|
||||
*/
|
||||
if (cfg.prefersel && selbufpos)
|
||||
return 's';
|
||||
|
||||
int choice = get_input(messages[MSG_CUR_SEL_OPTS]);
|
||||
|
@ -1379,13 +1390,6 @@ static size_t seltofile(int fd, uint_t *pcount)
|
|||
return pos;
|
||||
}
|
||||
|
||||
static bool isselfileempty(void)
|
||||
{
|
||||
struct stat sb;
|
||||
|
||||
return (stat(selpath, &sb) == -1) || (!sb.st_size);
|
||||
}
|
||||
|
||||
/* List selection from selection file (another instance) */
|
||||
static bool listselfile(void)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue