From a9a3b94610461d7fade49d2cd3b27ad2e8f594ba Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 29 Jan 2026 22:28:07 +0000 Subject: [PATCH] Initial upload: TermDiagram v0.1.0 --- src/termdiagram/ui/tree_view.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/termdiagram/ui/tree_view.py diff --git a/src/termdiagram/ui/tree_view.py b/src/termdiagram/ui/tree_view.py new file mode 100644 index 0000000..031cbff --- /dev/null +++ b/src/termdiagram/ui/tree_view.py @@ -0,0 +1,24 @@ +from typing import List +from rich.tree import Tree +from rich.text import Text +from ..models import Module, ClassSymbol + + +class TreeView: + def create_tree(self, modules: List[Module], show_methods: bool = True) -> Tree: + tree = Tree("Project", hide_root=False) + + for module in modules: + module_node = tree.add(f"[bold cyan]{module.name}[/]") + + for cls in module.classes: + class_node = module_node.add(f"[bold yellow]{cls.name}[/]") + + if show_methods: + for method in cls.methods: + class_node.add(f"[green]{method.name}()[/]") + + for func in module.functions: + module_node.add(f"[green]{func.name}()[/]") + + return tree