Commit Diff


commit - 33fb6e3a85f0d7744e1fc42bc89b74e65f7176e5
commit + cf66423ff73d3b6e45329b4aba7013156344b617
blob - 2d8241f6a11e82af163b358372d5febe1c6c1441
blob + 023f4b4424ad7cd16f97cf9c084eec3409cebe7e
--- rover.1
+++ rover.1
@@ -166,6 +166,12 @@ Name of pager program (e.g. \fIless\fP).
 .TP
 .B EDITOR
 Name of editor program (e.g. \fIvim\fP or \fIemacs\fP).
+.TP
+.B RVSEL
+Rover writes the name of the selected entry to this variable before running a
+subprocess. This allows one to use the selection as part of an arbitrary command
+by first invoking a shell from Rover (see the \fBCOMMANDS\fR section) and then
+typing something like \fBgrep abc "$RVSEL"\fR.
 .SH CONFIGURATION
 .PP
 If you want to change Rover key bindings or colors, you can edit the
blob - f390076a9a4e2f554636cfa37cb0ee67e47d6b43
blob + 4a5371e0b2aac205d6a1c1889d4c464bbe43d2a9
--- rover.c
+++ rover.c
@@ -254,6 +254,7 @@ spawn()
     pid_t pid;
     int status;
 
+    setenv("RVSEL", rover.nfiles ? ENAME(ESEL) : "", 1);
     pid = fork();
     if (pid > 0) {
         /* fork() succeeded. */