From d4c2bb0dc7b70e628fb84999cedda71c9c06f364 Mon Sep 17 00:00:00 2001 From: ElectronixTM Date: Mon, 31 Mar 2025 12:34:39 +0300 Subject: [PATCH] =?UTF-8?q?sync:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=80=D0=B5=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20tui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dbg_tui.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/dbg_tui.py diff --git a/src/dbg_tui.py b/src/dbg_tui.py new file mode 100644 index 0000000..87fc508 --- /dev/null +++ b/src/dbg_tui.py @@ -0,0 +1,35 @@ +from dpdebugger import Debugger +from dataclasses import dataclass +from rich import print as rprint +from rich.layout import Layout +from rich.live import Live + +@dataclass +class SourceLines: + active: int + begining_number: int + lines: list[str] + +def _get_source_lines( + srcline: int, + lines: list[str], + max_height: int + ) -> SourceLines: + """ + Собирает выборку из строк исходного кода так, чтобы она + подходила по количесту строчек + """ + start = max(srcline - max_height//2, 1) + 1 + upper_length = srcline - start + end = + + + +def main(debugger: Debugger, srcfile: str): + layout = Layout() + layout.split_column( + Layout(name="source"), + Layout(name="terminal") + ) + rprint(layout) +