If nnn is started in the picker mode, do NOT use libreadline.
Fallback to the stock mechanism to show the command prompt.
This commit is contained in:
Arun Prakash Jana 2019-02-10 09:58:13 +05:30
parent 543814f5aa
commit 929edaf243
No known key found for this signature in database
GPG Key ID: A75979F35C080412
1 changed files with 24 additions and 16 deletions

View File

@ -3888,27 +3888,35 @@ nochange:
}
break;
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> ");
if (chdir(ipath) == -1) {
printwarn();
goto nochange;
}
refresh();
}
tmp = readline("nnn> ");
if (chdir(ipath) == -1) {
printwarn();
goto nochange;
}
refresh();
if (tmp && tmp[0]) {
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);
}
}
}