From: Arun Prakash Jana Date: Wed, 4 Jul 2018 14:05:36 +0000 (+0530) Subject: Pass current file name as first argument to custom scripts X-Git-Tag: v1.9~19 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=042d00839245a3acf3cd0ce934f916a63dac4247;p=nnn.git Pass current file name as first argument to custom scripts --- 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);