MCPcopy
hub / github.com/Textualize/toolong / index_to_span

Method index_to_span

src/toolong/log_lines.py:463–478  ·  view source on GitHub ↗
(self, index: int)

Source from the content-addressed store, hash-verified

461 return self.log_files[0], index
462
463 def index_to_span(self, index: int) -> tuple[LogFile, int, int]:
464 log_file, index = self.get_log_file_from_index(index)
465 line_breaks = self._line_breaks.setdefault(log_file, [])
466 scan_start = 0 if self._merge_lines else self._scan_start
467 if not line_breaks:
468 return (log_file, scan_start, self._scan_start)
469 index = clamp(index, 0, len(line_breaks))
470 if index == 0:
471 return (log_file, scan_start, line_breaks[0])
472 start = line_breaks[index - 1]
473 end = (
474 line_breaks[index]
475 if index < len(line_breaks)
476 else max(0, self._scanned_size - 1)
477 )
478 return (log_file, start, end)
479
480 def get_line_from_index_blocking(self, index: int) -> str | None:
481 with self._lock:

Callers 6

get_line_from_indexMethod · 0.95
get_textMethod · 0.95
get_timestampMethod · 0.95
render_lineMethod · 0.95
pointer_movedMethod · 0.80

Calls 1

Tested by

no test coverage detected