def run_diff(self):
files = tuple(self.files)<EOL>header, footer = (termcolor.colored("<STR_LIT>".format(<EOL>"<STR_LIT::>" * <NUM_LIT>), "<STR_LIT>"), "<STR_LIT:\n>") if len(files) > <NUM_LIT:1> else ("<STR_LIT>", "<STR_LIT>")<EOL>for file in files:<EOL><INDENT>print(header.format(file), end="<STR_LIT>")<EOL>try:<EOL><INDENT>results = self._check(file)<EOL><DEDENT>except Error as e:<EOL><INDENT>termcolor.cprint(e.msg, "<STR_LIT>", file=sys.stderr)<EOL>continue<EOL><DEDENT>if results.diffs:<EOL><INDENT>print()<EOL>print(*self.diff(results.original, results.styled), sep="<STR_LIT:\n>")<EOL>print()<EOL>conjunction = "<STR_LIT>"<EOL><DEDENT>else:<EOL><INDENT>termcolor.cprint("<STR_LIT>", "<STR_LIT>")<EOL>conjunction = "<STR_LIT>"<EOL><DEDENT>if results.diffs:<EOL><INDENT>for type, c in sorted(self._warn_chars):<EOL><INDENT>color, verb = ("<STR_LIT>", "<STR_LIT>") if type == "<STR_LIT:+>" else ("<STR_LIT>", "<STR_LIT>")<EOL>termcolor.cprint(c, None, color, end="<STR_LIT>")<EOL>termcolor.cprint("<STR_LIT>".format(<EOL>verb, "<STR_LIT>" if c == "<STR_LIT>" else "<STR_LIT>"), "<STR_LIT>")<EOL><DEDENT><DEDENT>if results.comment_ratio < results.COMMENT_MIN:<EOL><INDENT>termcolor.cprint("<STR_LIT>".format(conjunction), "<STR_LIT>")<EOL><DEDENT>if (results.comment_ratio < results.COMMENT_MIN or self._warn_chars) and results.diffs:<EOL><INDENT>print()<EOL><DEDENT><DEDENT>
Run checks on self.files, printing diff of styled/unstyled output to stdout.