Browse Source

Fix https://github.com/mcchrish/nnn.vim/issues/39

If nnn is started in the picker mode, do NOT use libreadline.
Fallback to the stock mechanism to show the command prompt.
master
Arun Prakash Jana 6 years ago
parent
commit
929edaf243
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 changed files with 22 additions and 14 deletions
  1. +22
    -14
      src/nnn.c

+ 22
- 14
src/nnn.c View File

@@ -3888,27 +3888,35 @@ nochange:
} }
break; break;
default: /* SEL_RUNCMD */ default: /* SEL_RUNCMD */
exitcurses();
if (cfg.picker)
tmp = xreadline(NULL, "> ");
else {
/* Use libreadline */
exitcurses();

/* Switch to current path for readline(3) */
if (chdir(path) == -1) {
printwarn();
goto nochange;
}


/* Switch to current path for readline(3) */
if (chdir(path) == -1) {
printwarn();
goto nochange;
}
tmp = readline("nnn> ");


tmp = readline("nnn> ");
if (chdir(ipath) == -1) {
printwarn();
goto nochange;
}


if (chdir(ipath) == -1) {
printwarn();
goto nochange;
refresh();
} }


refresh();

if (tmp && tmp[0]) { if (tmp && tmp[0]) {
spawn(shell, "-c", tmp, path, F_NORMAL | F_SIGINT); spawn(shell, "-c", tmp, path, F_NORMAL | F_SIGINT);
add_history(tmp);
free(tmp);
if (!cfg.picker) {
/* readline finishing touches */
add_history(tmp);
free(tmp);
}
} }
} }




Loading…
Cancel
Save