easybuild.tools.multidiff module

Module which allows the diffing of multiple files

author:Toon Willems (Ghent University)
author:Kenneth Hoste (Ghent University)
class easybuild.tools.multidiff.MultiDiff(base_fn, base_lines, files, colored=True)

Bases: object

Class representing a multi-diff.

color_line(line, color)

Create colored version of given line, with given color, if color mode is enabled.

colorize(line, squigly)

Add colors to the diff line based on the squigly line.


Return the line information for a specific line :param line_no: line number to obtain information for :return: list with text lines providing line information

merge_squigly(squigly1, squigly2)

Combine two squigly lines into a single squigly line.

parse_line(line_no, diff_line, meta, squigly_line)

Register a diff line :param line_no: line number :param diff_line: diff line generated by difflib :param meta: meta information (e.g., filename) :param squigly_line: squigly line indicating which characters changed

easybuild.tools.multidiff.multidiff(base, files, colored=True)

Generate a diff for multiple files, all compared to base. :param base: base to compare with :param files: list of files to compare with base :param colored: boolean indicating whether a colored multi-diff should be generated :return: text with multidiff overview