import re import subprocess from utils import ( colors, status_indicators, ) BASH_PATH: str = fr"{colors.CYAN}{colors.BOLD}\w" POINTER: str = f"{colors.YELLOW}-> {colors.RESET}" def prompt() -> None: git_status: subprocess.CompletedProcess[str] = subprocess.run( ['git', 'status'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, ) if not git_status.stderr.strip(): git_branch: str = re.findall( r'([a-zA-Z0-9-\/()]+)', git_status.stdout.strip())[2] for key in status_indicators.keys(): if key in git_status.stdout.strip(): color: str = status_indicators[key]['color'] icon: str = status_indicators[key]['icon'] git_branch_color: str = f"{color}({git_branch}{icon})" print(f"{BASH_PATH} {git_branch_color} {POINTER}") exit(0) print(f"{BASH_PATH} {POINTER}") exit(0) def main(): prompt() if __name__ == '__main__': main()