commit 087380968d4cd828881995b1196181a3c8c23a9f
parent 19ea710e083a0e666a6cb8feea0dc0559e0a2416
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 13 Oct 2019 17:28:02 +0530
Pass path as second argument
Diffstat:
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/plugins/README.md b/plugins/README.md
@@ -70,7 +70,8 @@ With this, plugin `fzy-open` can be run with the keybind <kbd>:o</kbd>, `mocplay
Plugins can access:
- all files in the directory (`nnn` switches to the dir where the plugin is to be run so the dir is `$PWD` for the plugin)
-- the current file under the cursor (the file name is passed as the argument to a plugin)
+- the current file under the cursor (the file name is passed as the first argument to a plugin)
+- the traversed path where plugin is invoked (this is the second argument to the plugin; for all practical purposes this is the same as `$PWD` except paths with symlinks)
- the current selection (by reading the file `.selection` in config dir, see the plugin `ndiff`)
Each script has a _Description_ section which provides more details on what the script does, if applicable.
diff --git a/src/nnn.c b/src/nnn.c
@@ -3781,10 +3781,10 @@ nochange:
xstrlcpy(path, rundir, PATH_MAX);
if (runfile[0]) {
xstrlcpy(lastname, runfile, NAME_MAX);
- spawn(newpath, lastname, NULL, path, F_NORMAL);
+ spawn(newpath, lastname, path, path, F_NORMAL);
runfile[0] = '\0';
} else
- spawn(newpath, NULL, NULL, path, F_NORMAL);
+ spawn(newpath, NULL, path, path, F_NORMAL);
rundir[0] = '\0';
cfg.runplugin = 0;
setdirwatch();
@@ -4577,9 +4577,9 @@ nochange:
mkpath(plugindir, tmp, newpath);
if (ndents)
- spawn(newpath, dents[cur].name, NULL, path, F_NORMAL);
+ spawn(newpath, dents[cur].name, path, path, F_NORMAL);
else
- spawn(newpath, NULL, NULL, path, F_NORMAL);
+ spawn(newpath, NULL, path, path, F_NORMAL);
if (cfg.filtermode)
presel = FILTER;