def print_tree()

in scripts/init-kernel.py [0:0]


def print_tree(directory: str, prefix: str = ""):
    entries = sorted(os.listdir(directory))

    # Process directories first, then files
    dirs = [e for e in entries if os.path.isdir(os.path.join(directory, e))]
    files = [e for e in entries if os.path.isfile(os.path.join(directory, e))]

    # Process all items except the last one
    count = len(dirs) + len(files)

    # Print directories
    for i, dirname in enumerate(dirs):
        is_last_dir = i == len(dirs) - 1 and len(files) == 0
        connector = "└── " if is_last_dir else "├── "
        print(
            f"    {prefix}{connector}{Colors.BOLD}{Colors.BLUE}{dirname}/{Colors.ENDC}"
        )

        # Prepare the prefix for the next level
        next_prefix = prefix + ("    " if is_last_dir else "│   ")
        print_tree(os.path.join(directory, dirname), next_prefix)

    # Print files
    for i, filename in enumerate(files):
        is_last = i == len(files) - 1
        connector = "└── " if is_last else "├── "
        file_color = ""

        print(f"    {prefix}{connector}{file_color}{filename}{Colors.ENDC}")