]> Sergey Matveev's repositories - nnn.git/commitdiff
Honour EDITOR and PAGER everywhere
authorArun Prakash Jana <engineerarun@gmail.com>
Tue, 25 Apr 2017 17:49:47 +0000 (23:19 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Tue, 25 Apr 2017 17:50:04 +0000 (23:20 +0530)
README.md
nnn.c

index 38c99f8a8e9e5665ffa0f9fc1e0b8b50ca20e316..2d729540a38d09103a6496ef5faf5bcc80f9769a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -204,7 +204,7 @@ nnn is designed to play files using multiple strategies (in order of decreasing
     - [zathura](https://pwmt.org/projects/zathura/) - pdf
     - vim - plain text
     - to add, remove recognized extensions in nnn, see [how to change file associations](#change-file-associations)
-  - If a file without any extension is a plain text file, it is opened in vi
+  - If a file without any extension is a plain text file, it is opened in EDITOR (fallback vi)
   - Set `NNN_FALLBACK_OPENER` as the fallback opener. E.g.:
 
         export NNN_FALLBACK_OPENER=xdg-open
diff --git a/nnn.c b/nnn.c
index 031ffe2d25eaa883c8ab417ccc645c08ceb86921..49edbe612c2e858389186d7949966230f98b0f25 100644 (file)
--- a/nnn.c
+++ b/nnn.c
@@ -930,7 +930,7 @@ show_stats(char* fpath, char* fname, struct stat *sb)
        dprintf(fd, "\n\n");
        close(fd);
 
-       sprintf(buf, "cat %s | less", tmp);
+       sprintf(buf, "cat %s | %s", tmp, xgetenv("PAGER", "less"));
        fd = system(buf);
 
        unlink(tmp);
@@ -947,9 +947,9 @@ show_mediainfo(const char* fpath, int full)
                return -1;
 
        if (full)
-               sprintf(buf, "mediainfo -f \"%s\" 2>&1 | less", fpath);
+               sprintf(buf, "mediainfo -f \"%s\" 2>&1 | %s", fpath, xgetenv("PAGER", "less"));
        else
-               sprintf(buf, "mediainfo \"%s\" 2>&1 | less", fpath);
+               sprintf(buf, "mediainfo \"%s\" 2>&1 | %s", fpath, xgetenv("PAGER", "less"));
 
        return system(buf);
 }
@@ -957,7 +957,7 @@ show_mediainfo(const char* fpath, int full)
 static int
 show_help(void)
 {
-       char helpstr[] = ("echo \"\
+       char helpstr[2048] = ("echo \"\
                   Key | Function\n\
                      -+-\n\
             Up, k, ^P | Previous entry\n\
@@ -990,9 +990,9 @@ show_help(void)
                    ^L | Force a redraw\n\
                     ? | Toggle help screen\n\
                     q | Quit\n\
-                    Q | Quit and change directory\n\n\" | less");
+                    Q | Quit and change directory\n\n\" | ");
 
-       return system(helpstr);
+       return system(strcat(helpstr, xgetenv("PAGER", "less")));
 }
 
 static int
@@ -1404,7 +1404,8 @@ nochange:
 
                                if (strstr(cmd, "ASCII text") != NULL) {
                                        exitcurses();
-                                       spawn("vi", newpath, NULL, 0);
+                                       run = xgetenv("EDITOR", "vi");
+                                       spawn(run, newpath, NULL, 0);
                                        initcurses();
                                        continue;
                                } else if (fb_opener) {