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}")