Skip to content

Commit

Permalink
Option -N to use native prompt
Browse files Browse the repository at this point in the history
This is useful for situations where the executable is compiled with
readline support but the user wants to use the native prompt. Often
this happens because packagers build without readline disabled.
  • Loading branch information
jarun committed Sep 20, 2023
1 parent ba43908 commit 9c7c728
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/nnn.c
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,8 @@ typedef struct {
uint_t trash : 2; /* Trash method 0: rm -rf, 1: trash-cli, 2: gio trash */
uint_t uidgid : 1; /* Show owner and group info */
uint_t usebsdtar : 1; /* Use bsdtar as default archive utility */
uint_t reserved : 5; /* Adjust when adding/removing a field */
uint_t xprompt : 1; /* Use native prompt instead of readline prompt */
uint_t reserved : 4; /* Adjust when adding/removing a field */
} runstate;

/* Contexts or workspaces */
Expand Down Expand Up @@ -5479,7 +5480,7 @@ static bool prompt_run(void)

while (1) {
#ifndef NORL
if (g_state.picker) {
if (g_state.picker || g_state.xprompt) {
#endif
cmdline = xreadline(NULL, PROMPT);
#ifndef NORL
Expand Down Expand Up @@ -7695,7 +7696,7 @@ static bool browse(char *ipath, const char *session, int pkey)
break;
case SEL_OPENWITH:
#ifndef NORL
if (g_state.picker) {
if (g_state.picker || g_state.xprompt) {
#endif
tmp = xreadline(NULL, messages[MSG_OPEN_WITH]);
#ifndef NORL
Expand Down Expand Up @@ -8340,6 +8341,9 @@ static void usage(void)
" -K detect key collision and exit\n"
" -l val set scroll lines\n"
" -n type-to-nav mode\n"
#ifndef NORL
" -N use native prompt\n"
#endif
" -o open files only on Enter\n"
" -p file selection file [-:stdout]\n"
" -P key run plugin key\n"
Expand Down Expand Up @@ -8517,7 +8521,7 @@ int main(int argc, char *argv[])

while ((opt = (env_opts_id > 0
? env_opts[--env_opts_id]
: getopt(argc, argv, "aAb:BcCdDeEfF:gHiJKl:nop:P:QrRs:St:T:uUVxh"))) != -1) {
: getopt(argc, argv, "aAb:BcCdDeEfF:gHiJKl:nNop:P:QrRs:St:T:uUVxh"))) != -1) {
switch (opt) {
#ifndef NOFIFO
case 'a':
Expand Down Expand Up @@ -8590,6 +8594,11 @@ int main(int argc, char *argv[])
case 'n':
cfg.filtermode = 1;
break;
#ifndef NORL
case 'N':
g_state.xprompt = 1;
break;
#endif
case 'o':
cfg.nonavopen = 1;
break;
Expand Down Expand Up @@ -8965,7 +8974,7 @@ int main(int argc, char *argv[])
exitcurses();

#ifndef NORL
if (rlhist) {
if (rlhist && !g_state.xprompt) {
mkpath(cfgpath, ".history", g_buf);
write_history(g_buf);
}
Expand Down

0 comments on commit 9c7c728

Please sign in to comment.