Переглянути джерело

Simplify running commands

master
Arun Prakash Jana 5 роки тому
джерело
коміт
2b4bd35ba6
Не вдалося знайти GPG ключ що відповідає даному підпису Ідентифікатор GPG ключа: A75979F35C080412
2 змінених файлів з 16 додано та 3 видалено
  1. +5
    -1
      plugins/README.md
  2. +11
    -2
      src/nnn.c

+ 5
- 1
plugins/README.md Переглянути файл

@@ -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:

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.



+ 11
- 2
src/nnn.c Переглянути файл

@@ -4970,8 +4970,14 @@ nochange:

if (tmp[0] == '_' && tmp[1]) {
xstrlcpy(newpath, ++tmp, PATH_MAX);
spawn(newpath, (ndents ? dents[cur].name : NULL),
NULL, path, F_CLI | F_CONFIRM);
if (is_suffix(newpath, " $NNN")) {
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 {
if (!run_selected_plugin(&path, tmp, newpath, NULL,
(ndents ? dents[cur].name : NULL),
@@ -4981,6 +4987,9 @@ nochange:
goto nochange;
}
}

if (ndents)
copycurname();
} else {
cfg.runplugin ^= 1;
if (!cfg.runplugin && rundir[0]) {


Завантаження…
Відмінити
Зберегти