Path 1: 1 calls (0.33)

2 (1)

tuple (1)

1def split(self, offset: int) -> Tuple["Span", Optional["Span"]]:
2        """Split a span in to 2 from a given offset."""
3
4        if offset < self.start:
5            return self, None
6        if offset >= self.end:
7            return self, None
8
9        start, end, style = self
10        span1 = Span(start, min(end, offset), style)
11        span2 = Span(span1.end, end, style)
12        return span1, span2
            

Path 2: 1 calls (0.33)

15 (1)

tuple (1)

1def split(self, offset: int) -> Tuple["Span", Optional["Span"]]:
2        """Split a span in to 2 from a given offset."""
3
4        if offset < self.start:
5            return self, None
6        if offset >= self.end:
7            return self, None
8
9        start, end, style = self
10        span1 = Span(start, min(end, offset), style)
11        span2 = Span(span1.end, end, style)
12        return span1, span2
            

Path 3: 1 calls (0.33)

5 (1)

tuple (1)

1def split(self, offset: int) -> Tuple["Span", Optional["Span"]]:
2        """Split a span in to 2 from a given offset."""
3
4        if offset < self.start:
5            return self, None
6        if offset >= self.end:
7            return self, None
8
9        start, end, style = self
10        span1 = Span(start, min(end, offset), style)
11        span2 = Span(span1.end, end, style)
12        return span1, span2