From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sat, 15 Jun 2019 16:17:37 +0000 (+0530)
Subject: Wait and show command output when running a command
X-Git-Tag: v2.6~100
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=538995487bbe00bab8190c360f3b0a4aa5d9da47;p=nnn.git

Wait and show command output when running a command
---

diff --git a/README.md b/README.md
index aa5b515d..9503bdf8 100644
--- a/README.md
+++ b/README.md
@@ -93,7 +93,8 @@ It runs on Linux, macOS, Raspberry Pi, BSD, Cygwin, Linux subsystem for Windows
   - Detailed file information
   - Media information (needs mediainfo/exiftool)
 - Convenience
-  - Plugin repository
+  - Needs minimal configuration
+  - Rich set of plugins
   - Select files across dirs; all/range selection
   - Copy, move, delete, archive, link selection
   - Batch rename selection or dir entries
diff --git a/src/nnn.c b/src/nnn.c
index db57b618..cc6541cd 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -146,6 +146,7 @@
 #define F_NOWAIT   0x02  /* don't wait for child process (e.g. file manager) */
 #define F_NOTRACE  0x04  /* suppress stdout and strerr (no traces) */
 #define F_NORMAL   0x08  /* spawn child process in non-curses regular CLI mode */
+#define F_CMD      0x10  /* run command - show results before exit (must have F_NORMAL) */
 
 #define F_CLI      (F_NORMAL | F_MULTI)
 
@@ -1038,8 +1039,14 @@ static int spawn(char *file, char *arg1, char *arg2, const char *dir, uchar flag
 		retstatus = join(pid, flag);
 
 		DPRINTF_D(pid);
-		if (flag & F_NORMAL)
+		if (flag & F_NORMAL) {
+			if (flag & F_CMD) {
+				printf("\nPress Enter to continue");
+				getchar();
+			}
+
 			refresh();
+		}
 
 		free(cmd);
 	}
@@ -4172,7 +4179,7 @@ nochange:
 				}
 #endif
 				if (tmp && tmp[0]) // NOLINT
-					spawn(shell, "-c", tmp, path, F_CLI);
+					spawn(shell, "-c", tmp, path, F_CLI | F_CMD);
 			}
 
 			/* Continue in navigate-as-you-type mode, if enabled */