mirror of
https://github.com/jarun/nnn.git
synced 2024-09-11 13:06:14 +03:00
Paging is achieved through shell command now
This commit is contained in:
parent
f9281c8eab
commit
243301603e
1
nnn.1
1
nnn.1
@ -448,7 +448,6 @@ separated by \fI;\fR:
|
|||||||
add \fB|\fR (pipe) after \fB!\fR
|
add \fB|\fR (pipe) after \fB!\fR
|
||||||
Note: This option is incompatible with \fB&\fR (terminal output is masked
|
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).
|
for GUI programs) and ignores \fB*\fR (output is already paged for user).
|
||||||
\fI$nnn\fR must be the last argument in this case as well.
|
|
||||||
|
|
||||||
export NNN_PLUG='m:-!|mediainfo $nnn;t:-!|tree -ps;l:-!|ls -lah --group-directories-first'
|
export NNN_PLUG='m:-!|mediainfo $nnn;t:-!|tree -ps;l:-!|ls -lah --group-directories-first'
|
||||||
|
|
||||||
|
@ -180,7 +180,6 @@ export NNN_PLUG='m:-!|mediainfo $nnn;t:-!|tree -ps;l:-!|ls -lah --group-director
|
|||||||
```
|
```
|
||||||
|
|
||||||
This option is incompatible with `&` (terminal output is masked for GUI programs) and ignores `*` (output is already paged for user).
|
This option is incompatible with `&` (terminal output is masked for GUI programs) and ignores `*` (output is already paged for user).
|
||||||
`$nnn` must be the last argument in this case as well.
|
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
|
14
src/nnn.c
14
src/nnn.c
@ -5192,27 +5192,23 @@ static void setexports(void)
|
|||||||
|
|
||||||
static void 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;
|
size_t len = xstrsncpy(g_buf, file, PATH_MAX) - 1;
|
||||||
|
|
||||||
xstrsncpy(g_buf, file, PATH_MAX);
|
|
||||||
|
|
||||||
len = xstrlen(g_buf);
|
|
||||||
if (len > 1 && g_buf[len - 1] == '*') {
|
if (len > 1 && g_buf[len - 1] == '*') {
|
||||||
flags &= ~F_CONFIRM; /* Skip user confirmation */
|
flags &= ~F_CONFIRM; /* Skip user confirmation */
|
||||||
g_buf[len - 1] = '\0'; /* Get rid of trailing no confirmation symbol */
|
g_buf[len - 1] = '\0'; /* Get rid of trailing no confirmation symbol */
|
||||||
--len;
|
--len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & F_PAGE) || (flags & F_NOTRACE)) {
|
if (flags & F_PAGE)
|
||||||
|
get_output(g_buf, NULL, NULL, -1, TRUE);
|
||||||
|
else if (flags & F_NOTRACE) {
|
||||||
if (is_suffix(g_buf, " $nnn"))
|
if (is_suffix(g_buf, " $nnn"))
|
||||||
g_buf[len - 5] = '\0';
|
g_buf[len - 5] = '\0';
|
||||||
else
|
else
|
||||||
runfile = NULL;
|
runfile = NULL;
|
||||||
|
|
||||||
if (flags & F_PAGE)
|
spawn(g_buf, runfile, NULL, NULL, flags);
|
||||||
get_output(g_buf, runfile, NULL, -1, TRUE);
|
|
||||||
else // F_NOTRACE
|
|
||||||
spawn(g_buf, runfile, NULL, NULL, flags);
|
|
||||||
} else
|
} else
|
||||||
spawn(utils[UTIL_SH_EXEC], g_buf, NULL, NULL, flags);
|
spawn(utils[UTIL_SH_EXEC], g_buf, NULL, NULL, flags);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user