Parcourir la source

Respect the `LESS' environment variable.

Steal a few more lines from git's pager code and only pass the hardcoded
"-FRSX" flags if the user has not set the LESS environmen variable to some
other variable, thus behaving more closely to what the user would expect.
Raphael Kubo da Costa il y a 10 ans
Parent
révision
db3bc92bed
1 fichiers modifiés avec 6 ajouts et 2 suppressions
  1. 6
    2
      cdiff.py

+ 6
- 2
cdiff.py Voir le fichier

@@ -29,6 +29,7 @@ try:
29 29
 except NameError:
30 30
     def next(obj): return obj.next()
31 31
 
32
+import os
32 33
 import re
33 34
 import signal
34 35
 import subprocess
@@ -606,9 +607,12 @@ def markup_to_pager(stream, opts):
606 607
     See issue #30 (https://github.com/ymattw/cdiff/issues/30) for more
607 608
     information.
608 609
     """
609
-    # Args stolen from git source: github.com/git/git/blob/master/pager.c
610
+    pager_cmd = ['less']
611
+    if not os.getenv('LESS'):
612
+        # Args stolen from git source: github.com/git/git/blob/master/pager.c
613
+        pager_cmd.extend(['-FRSX'])
610 614
     pager = subprocess.Popen(
611
-        ['less', '-FRSX'], stdin=subprocess.PIPE, stdout=sys.stdout)
615
+        pager_cmd, stdin=subprocess.PIPE, stdout=sys.stdout)
612 616
 
613 617
     diffs = DiffParser(stream).get_diff_generator()
614 618
     marker = DiffMarker()