Преглед изворни кода

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 пре 11 година
родитељ
комит
db3bc92bed
1 измењених фајлова са 6 додато и 2 уклоњено
  1. 6
    2
      cdiff.py

+ 6
- 2
cdiff.py Прегледај датотеку

@@ -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()