@@ -107,7 +107,6 @@ Have as many scripts as you want to extend the power of `nnn`! Pick from the [sc | |||
- Per-context directory color (default: blue) | |||
- Spawn a shell in the current directory | |||
- Launch applications, run a command | |||
- Run custom scripts in the current directory | |||
- Repository of custom scripts | |||
- Run current file as executable | |||
- Change directory at exit (*easy* shell integration) | |||
@@ -264,7 +263,7 @@ Press <kbd>?</kbd> in `nnn` to see the list anytime. | |||
^W Random s Size t Time modified | |||
MISC | |||
! ^] Spawn SHELL C Execute entry | |||
R ^V Run/pick script L Lock terminal | |||
R ^V Run script L Lock terminal | |||
^P Prompt ^N Note = Launcher | |||
``` | |||
@@ -382,7 +381,7 @@ The following indicators are used in the detail view: | |||
| `NNN_CONTEXT_COLORS='1234'` | specify per context color [default: '4444' (all blue)] | | |||
| `NNN_IDLE_TIMEOUT=300` | idle seconds before locking terminal [default: disabled] | | |||
| `NNN_COPIER='copier.sh'` | system clipboard copier script [default: none] | | |||
| `NNN_SCRIPT=/home/user/scripts[/script.sh]` | path to script dir or a single script | | |||
| `NNN_SCRIPT_DIR=/home/user/scripts` | absolute path to script dir | | |||
| `NNN_NOTE=/home/user/Dropbox/Public/notes` | path to note file [default: none] | | |||
| `NNN_TMPFILE=/tmp/nnn` | file to write current open dir path to for cd on quit | | |||
| `NNN_USE_EDITOR=1` | Open text files in `$EDITOR` (`$VISUAL`, if defined; fallback vi) | | |||
@@ -404,13 +403,9 @@ To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>. | |||
Copy the scripts of your interest from the [user-scripts](https://github.com/jarun/nnn/tree/master/user-scripts) directory and let `nnn` know the location: | |||
export NNN_SCRIPT=/absolute/path/to/scripts_dir | |||
export NNN_SCRIPT_DIR=/absolute/path/to/scripts_dir | |||
Use the run/pick script shortcut to jump to the script directory and pick a script. Repeating the same shortcut cancels the operation and puts you back in the original directory. | |||
In case you need only one script: | |||
export NNN_SCRIPT=/absolute/path/to/script | |||
Use the run script shortcut to jump to the script directory and pick a script. Repeating the same shortcut cancels the operation and puts you back in the original directory. | |||
If you have an interesting script feel free to raise a PR. | |||
@@ -174,11 +174,9 @@ when dealing with the !, e and p commands respectively. A single combination to | |||
The path is shown in the help and configuration screen. | |||
.Ed | |||
.Pp | |||
\fBNNN_SCRIPT:\fR \fIabsolute\fR path to a directory to select a script from or a single script to invoke with currently selected file name as argument 1. | |||
\fBNNN_SCRIPT_DIR:\fR \fIabsolute\fR path to script directory. Selected script is invoked with currently selected file name as argument 1. | |||
.Bd -literal | |||
export NNN_SCRIPT=/home/user/scripts | |||
OR | |||
export NNN_SCRIPT=/usr/local/bin/nscript.sh | |||
export NNN_SCRIPT_DIR=/absolute/path/to/scripts_dir | |||
.Ed | |||
.Pp | |||
\fBNNN_NOTE:\fR \fIabsolute\fR path to a note file. | |||
@@ -357,7 +357,7 @@ static const char * const messages[] = { | |||
#define NNN_CONTEXT_COLORS 2 | |||
#define NNN_IDLE_TIMEOUT 3 | |||
#define NNN_COPIER 4 | |||
#define NNN_SCRIPT 5 | |||
#define NNN_SCRIPT_DIR 5 | |||
#define NNN_NOTE 6 | |||
#define NNN_TMPFILE 7 | |||
#define NNNLVL 8 /* strings end here */ | |||
@@ -377,7 +377,7 @@ static const char * const env_cfg[] = { | |||
"NNN_CONTEXT_COLORS", | |||
"NNN_IDLE_TIMEOUT", | |||
"NNN_COPIER", | |||
"NNN_SCRIPT", | |||
"NNN_SCRIPT_DIR", | |||
"NNN_NOTE", | |||
"NNN_TMPFILE", | |||
"NNNLVL", | |||
@@ -2425,7 +2425,7 @@ static bool show_help(const char *path) | |||
"b^W Random s Size t Time modified\n" | |||
"1MISC\n" | |||
"9! ^] Spawn SHELL C Execute entry\n" | |||
"9R ^V Run/pick script L Lock terminal\n" | |||
"9R ^V Run script L Lock terminal\n" | |||
"b^P Prompt ^N Note = Launcher\n"}; | |||
if (g_tmpfpath[0]) | |||
@@ -2884,7 +2884,7 @@ static void browse(char *ipath) | |||
struct stat sb; | |||
char *path, *lastdir, *lastname; | |||
char *dir, *tmp; | |||
char *scriptpath = getenv(env_cfg[NNN_SCRIPT]); | |||
char *scriptpath = getenv(env_cfg[NNN_SCRIPT_DIR]); | |||
atexit(dentfree); | |||
@@ -3799,7 +3799,7 @@ nochange: | |||
break; | |||
case SEL_SCRIPT: | |||
if (!scriptpath) { | |||
printwait("set NNN_SCRIPT", &presel); | |||
printwait("set NNN_SCRIPT_DIR", &presel); | |||
goto nochange; | |||
} | |||
@@ -3808,18 +3808,10 @@ nochange: | |||
goto nochange; | |||
} | |||
/* Regular script file */ | |||
if (S_ISREG(sb.st_mode)) { | |||
tmp = ndents ? dents[cur].name : NULL; | |||
spawn(scriptpath, tmp, NULL, path, F_NORMAL); | |||
break; | |||
} | |||
/* Must be a directory or a regular file */ | |||
/* Must be a directory */ | |||
if (!S_ISDIR(sb.st_mode)) | |||
break; | |||
/* Script directory */ | |||
cfg.runscript ^= 1; | |||
if (!cfg.runscript && rundir[0]) { | |||
/* | |||