MCPcopy Create free account
hub / github.com/python/mypy / diff_ranges

Function diff_ranges

mypy/test/helpers.py:50–72  ·  view source on GitHub ↗
(
    left: list[str], right: list[str]
)

Source from the content-addressed store, hash-verified

48
49
50def diff_ranges(
51 left: list[str], right: list[str]
52) -> tuple[list[tuple[int, int]], list[tuple[int, int]]]:
53 seq = difflib.SequenceMatcher(None, left, right)
54 # note last triple is a dummy, so don't need to worry
55 blocks = seq.get_matching_blocks()
56
57 i = 0
58 j = 0
59 left_ranges = []
60 right_ranges = []
61 for block in blocks:
62 # mismatched range
63 left_ranges.append((i, block.a))
64 right_ranges.append((j, block.b))
65
66 i = block.a + block.size
67 j = block.b + block.size
68
69 # matched range
70 left_ranges.append((block.a, i))
71 right_ranges.append((block.b, j))
72 return left_ranges, right_ranges
73
74
75def render_diff_range(

Callers 3

test_diff_rangesMethod · 0.90

Calls 1

appendMethod · 0.80

Tested by 2

test_diff_rangesMethod · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…