jsonschema_diff.color.abstraction

Classes

LineHighlighter

Protocol for single-line high-lighters.

Module Contents

class LineHighlighter[source]

Protocol for single-line high-lighters.

Concrete implementations may also override colorize_lines() for bulk operations, but colorize_line() is the only mandatory method.

abstractmethod colorize_line(line: Text) Text[source]

Stylise one line in-place and return it.

Parameters:

line – A single rich.text.Text instance to be colour-styled.

Returns:

The same Text object, now containing style spans.

Return type:

Text

Raises:

NotImplementedError – Always here; concrete subclasses must override this method.

colorize_lines(
lines: Sequence[Text],
) List[Text][source]

Vectorised helper that stylises a sequence of lines.

The naïve fallback simply delegates to colorize_line().

Parameters:

lines – Ordered collection of rich.text.Text objects.

Returns:

The original objects, now styled in place.

Return type:

list[Text]