mirror of
https://github.com/jarun/nnn.git
synced 2024-11-17 16:39:14 +00:00
Fix #1355: interpret suffix $nnn
when paging
This commit is contained in:
parent
4ddd048feb
commit
18a6a010cf
11
nnn.1
11
nnn.1
|
@ -410,20 +410,21 @@ separated by \fI;\fR:
|
|||
|
||||
NOTES:
|
||||
1. Use single quotes for $NNN_PLUG so $nnn is not interpreted
|
||||
2. (Again) add \fB!\fR before the command
|
||||
3. To disable directory refresh after running a \fIcommand as plugin\fR,
|
||||
2. $nnn must be the last argument (if used) to run a \fIcommand as plugin\fR
|
||||
3. (Again) add \fB!\fR before the command
|
||||
4. To disable directory refresh after running a \fIcommand as plugin\fR,
|
||||
prefix with \fB-!\fR
|
||||
4. To skip user confirmation after command execution, suffix with \fB*\fR
|
||||
5. To skip user confirmation after command execution, suffix with \fB*\fR
|
||||
Note: Do not use \fB*\fR with programs those run and exit e.g. cat
|
||||
|
||||
export NNN_PLUG='y:-!sync*'
|
||||
|
||||
5. To run a \fIGUI app as plugin\fR, add a \fB&\fR after \fB!\fR
|
||||
6. To run a \fIGUI app as plugin\fR, add a \fB&\fR after \fB!\fR
|
||||
Note: \fI$nnn\fR must be the last argument in this case.
|
||||
|
||||
export NNN_PLUG='m:-!&mousepad $nnn'
|
||||
|
||||
6. To show the output of run-and-exit commands which do not need user input,
|
||||
7. To show the output of run-and-exit commands which do not need user input,
|
||||
add \fB|\fR (pipe) after \fB!\fR
|
||||
Note: This option is incompatible with \fB&\fR (terminal output is masked
|
||||
for GUI programs) and ignores \fB*\fR (output is already paged for user)
|
||||
|
|
|
@ -183,8 +183,9 @@ This option is incompatible with `&` (terminal output is masked for GUI programs
|
|||
Notes:
|
||||
|
||||
1. Use single quotes for `$NNN_PLUG` so `$nnn` is not interpreted
|
||||
2. (_Again_) add `!` before the command
|
||||
3. To disable directory refresh after running a _command as plugin_, prefix with `-!`
|
||||
2. `$nnn` must be the last argument (if used) to run a _command as plugin_
|
||||
3. (_Again_) add `!` before the command
|
||||
4. To disable directory refresh after running a _command as plugin_, prefix with `-!`
|
||||
|
||||
#### Some useful key-command examples
|
||||
|
||||
|
|
22
src/nnn.c
22
src/nnn.c
|
@ -5142,7 +5142,7 @@ static void setexports(void)
|
|||
setenv("NNN_INCLUDE_HIDDEN", xitoa(cfg.showhidden), 1);
|
||||
}
|
||||
|
||||
static bool run_cmd_as_plugin(const char *file, char *runfile, uchar_t flags)
|
||||
static void run_cmd_as_plugin(const char *file, char *runfile, uchar_t flags)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
|
@ -5155,18 +5155,18 @@ static bool run_cmd_as_plugin(const char *file, char *runfile, uchar_t flags)
|
|||
--len;
|
||||
}
|
||||
|
||||
if (flags & F_PAGE)
|
||||
get_output(g_buf, NULL, NULL, -1, TRUE, TRUE);
|
||||
else if (flags & F_NOTRACE) {
|
||||
if ((flags & F_PAGE) || (flags & F_NOTRACE)) {
|
||||
if (is_suffix(g_buf, " $nnn"))
|
||||
g_buf[len - 5] = '\0';
|
||||
else
|
||||
runfile = NULL;
|
||||
spawn(g_buf, runfile, NULL, NULL, flags);
|
||||
|
||||
if (flags & F_PAGE)
|
||||
get_output(g_buf, runfile, NULL, -1, TRUE, TRUE);
|
||||
else // F_NOTRACE
|
||||
spawn(g_buf, runfile, NULL, NULL, flags);
|
||||
} else
|
||||
spawn(utils[UTIL_SH_EXEC], g_buf, NULL, NULL, flags);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool plctrl_init(void)
|
||||
|
@ -5296,8 +5296,10 @@ static bool run_plugin(char **path, const char *file, char *runfile, char **last
|
|||
if (!*file)
|
||||
return FALSE;
|
||||
|
||||
if ((flags & F_NOTRACE) || (flags & F_PAGE))
|
||||
return run_cmd_as_plugin(file, runfile, flags);
|
||||
if ((flags & F_NOTRACE) || (flags & F_PAGE)) {
|
||||
run_cmd_as_plugin(file, runfile, flags);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
cmd_as_plugin = TRUE;
|
||||
}
|
||||
|
@ -5331,7 +5333,7 @@ static bool run_plugin(char **path, const char *file, char *runfile, char **last
|
|||
} else
|
||||
spawn(g_buf, NULL, *path, sel, 0);
|
||||
} else
|
||||
run_cmd_as_plugin(file, NULL, flags);
|
||||
run_cmd_as_plugin(file, runfile, flags);
|
||||
|
||||
close(wfd);
|
||||
_exit(EXIT_SUCCESS);
|
||||
|
|
Loading…
Reference in a new issue