aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-10-13 17:28:02 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-10-13 17:28:02 +0530
commit087380968d4cd828881995b1196181a3c8c23a9f (patch)
tree5de3000416f9642f4d1250c0a53e72f51611bbb8
parent19ea710e083a0e666a6cb8feea0dc0559e0a2416 (diff)
downloadnnn-087380968d4cd828881995b1196181a3c8c23a9f.tar.gz
Pass path as second argument
-rw-r--r--plugins/README.md3
-rw-r--r--src/nnn.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/plugins/README.md b/plugins/README.md
index 8995979..3a40ae4 100644
--- 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
index d154819..5d42802 100644
--- 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;