diff --git a/README.md b/README.md index d3c707f9..a9d91fb5 100644 --- a/README.md +++ b/README.md @@ -421,6 +421,8 @@ Note that you may want to keep quotes disabled in this case. #### run custom scripts +`nnn` can invoke custom scripts with the currently selected file name as argument 1. + Export the path to the custom executable script: export NNN_SCRIPT=/usr/local/bin/nscript diff --git a/nnn.1 b/nnn.1 index 865d0ccf..d7190c94 100644 --- a/nnn.1 +++ b/nnn.1 @@ -263,7 +263,7 @@ screensaver. \fBNNN_QUOTE_ON:\fR wrap copied paths within single quotes. Useful for pasting names in the shell. .Pp -\fBNNN_SCRIPT:\fR path to a custom script to run. +\fBNNN_SCRIPT:\fR path to a custom script to invoke with currently selected file name as argument 1. .Bd -literal export NNN_SCRIPT=/usr/local/bin/nscript .Ed diff --git a/nnn.c b/nnn.c index fa4c177b..da731d1a 100644 --- a/nnn.c +++ b/nnn.c @@ -3239,7 +3239,12 @@ nochange: tmp = newpath; } - spawn(run, tmp, NULL, path, F_NORMAL | F_SIGINT); + + char *curfile = NULL; + if (ndents > 0) + curfile = dents[cur].name; + + spawn(run, tmp, curfile, path, F_NORMAL | F_SIGINT); } } else { spawn(run, NULL, NULL, path, F_NORMAL | F_MARKER);