aboutsummaryrefslogtreecommitdiffstats
path: root/nnn.c
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2018-03-19 05:32:16 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2018-03-19 06:17:58 +0530
commit8d7a56cbaaefd6afb688a2c186fed0df62af4918 (patch)
treeee6d4c22c446639b1300297f3dbfc04f36d2dfec /nnn.c
parent5624905803c0e64a0e2fa9caf433649eb6323e52 (diff)
downloadnnn-8d7a56cbaaefd6afb688a2c186fed0df62af4918.tar.gz
Run a custom script support
Diffstat (limited to 'nnn.c')
-rw-r--r--nnn.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/nnn.c b/nnn.c
index 588d582..bcba125 100644
--- a/nnn.c
+++ b/nnn.c
@@ -1930,11 +1930,12 @@ show_help(char *path)
"eM | Full media info\n"
"en | Create new\n"
"d^R | Rename entry\n"
- "eR | Rename dir entries\n"
+ "er | Open dir in vidir\n"
"es | Toggle sort by size\n"
"aS, ^J | Toggle du mode\n"
"et | Toggle sort by mtime\n"
"e! | Spawn SHELL in dir\n"
+ "eR | Run custom script\n"
"ee | Edit entry in EDITOR\n"
"eo | Open dir in file manager\n"
"ep | Open entry in PAGER\n"
@@ -3175,13 +3176,21 @@ nochange:
case SEL_HELP:
show_help(path);
break;
- case SEL_RUN:
+ case SEL_RUN: // fallthorugh
+ case SEL_RUNSCRIPT:
run = xgetenv(env, run);
- spawn(run, NULL, NULL, path, F_NORMAL | F_MARKER);
- /* Continue in navigate-as-you-type mode, if enabled */
- if (cfg.filtermode)
- presel = FILTER;
+ if (sel == SEL_RUNSCRIPT) {
+ tmp = getenv("NNN_SCRIPT");
+ if (tmp)
+ spawn(run, tmp, NULL, path, F_NORMAL | F_SIGINT);
+ } else {
+ spawn(run, NULL, NULL, path, F_NORMAL | F_MARKER);
+
+ /* Continue in navigate-as-you-type mode, if enabled */
+ if (cfg.filtermode)
+ presel = FILTER;
+ }
/* Save current */
if (ndents > 0)