initial commit
This commit is contained in:
42
bash/.bash-prompt/main.py
Normal file
42
bash/.bash-prompt/main.py
Normal file
@@ -0,0 +1,42 @@
|
||||
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()
|
Reference in New Issue
Block a user