import sys
from unpickle import Unpickler
-from highlight import Highlighter
+from highlight import LessHighlighter
ignoredFunctionNames = set([
args = [
options.apitrace,
'pickle',
+ '--symbolic',
'--calls=' + options.calls,
trace
],
b_call = self.b[blo + i]
assert a_call.functionName == b_call.functionName
assert len(a_call.args) == len(b_call.args)
- self.equal_prefix()
+ self.replace_prefix()
self.highlighter.bold(True)
self.highlighter.write(b_call.functionName)
self.highlighter.bold(False)
+ self.highlighter.write('(')
sep = ''
for j in xrange(len(b_call.args)):
self.highlighter.write(sep)
self.highlighter.write(str(b))
else:
self.highlighter.color(self.delete_color)
- self.highlighter.write(str(b))
+ self.highlighter.write(str(a))
self.highlighter.normal()
self.highlighter.write(" -> ")
self.highlighter.color(self.insert_color)
def normal_suffix(self):
self.highlighter.normal()
+
+ def replace_prefix(self):
+ self.highlighter.write('| ')
def main():
ref_calls = readtrace(args[0])
src_calls = readtrace(args[1])
- if sys.stdout.isatty():
- less = subprocess.Popen(
- args = ['less', '-FRXn'],
- stdin = subprocess.PIPE
- )
- highlighter = Highlighter(less.stdin, True)
- else:
- highlighter = Highlighter(sys.stdout)
+ highlighter = LessHighlighter()
differ = SDiffer(ref_calls, src_calls, highlighter)
differ.diff()
- less.stdin.close()
-
- less.wait()
if __name__ == '__main__':