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.

get_line(line_no)

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