@@ -68,7 +68,11 @@ With this, plugin `fzy-open` can be run with the keybind <kbd>:o</kbd>, `mocplay | |||||
To assign keys to arbitrary non-background cli commands (non-shell-interpreted) and invoke like plugins, add `_` (underscore) before the command. For example: | To assign keys to arbitrary non-background cli commands (non-shell-interpreted) and invoke like plugins, add `_` (underscore) before the command. For example: | ||||
export NNN_PLUG='x:_chmod +x;o:fzy-open' | export NNN_PLUG='x:_chmod +x $NNN;g:_git log;s:_smplayer $NNN;o:fzy-open' | ||||
Notes: | |||||
1. use single quotes for $NNN_PLUG so $NNN is not interpreted | |||||
2. $NNN should be the last argument (IF you want to pass the hovered file name) | |||||
3. (_again_) add `_` before the command | |||||
**Method 2:** Use the _pick plugin_ shortcut to visit the plugin directory and execute a plugin. Repeating the same shortcut cancels the operation and puts you back in the original directory. | **Method 2:** Use the _pick plugin_ shortcut to visit the plugin directory and execute a plugin. Repeating the same shortcut cancels the operation and puts you back in the original directory. | ||||
@@ -4970,8 +4970,14 @@ nochange: | |||||
if (tmp[0] == '_' && tmp[1]) { | if (tmp[0] == '_' && tmp[1]) { | ||||
xstrlcpy(newpath, ++tmp, PATH_MAX); | xstrlcpy(newpath, ++tmp, PATH_MAX); | ||||
spawn(newpath, (ndents ? dents[cur].name : NULL), | if (is_suffix(newpath, " $NNN")) { | ||||
NULL, path, F_CLI | F_CONFIRM); | tmp = (ndents ? dents[cur].name : NULL); | ||||
/* Set `\0` to clear ' $NNN' suffix */ | |||||
newpath[strlen(newpath) - 5] = '\0'; | |||||
} else | |||||
tmp = NULL; | |||||
spawn(newpath, tmp, NULL, path, F_CLI | F_CONFIRM); | |||||
} else { | } else { | ||||
if (!run_selected_plugin(&path, tmp, newpath, NULL, | if (!run_selected_plugin(&path, tmp, newpath, NULL, | ||||
(ndents ? dents[cur].name : NULL), | (ndents ? dents[cur].name : NULL), | ||||
@@ -4981,6 +4987,9 @@ nochange: | |||||
goto nochange; | goto nochange; | ||||
} | } | ||||
} | } | ||||
if (ndents) | |||||
copycurname(); | |||||
} else { | } else { | ||||
cfg.runplugin ^= 1; | cfg.runplugin ^= 1; | ||||
if (!cfg.runplugin && rundir[0]) { | if (!cfg.runplugin && rundir[0]) { | ||||