diff options
author | pankunull <panku_null@proton.me> | 2025-09-02 23:10:24 +0200 |
---|---|---|
committer | pankunull <panku_null@proton.me> | 2025-09-02 23:10:24 +0200 |
commit | 9631447763979531a0802fe20bade1111b85195e (patch) | |
tree | 3d489b88113e183ce46c263eaa663290cd6652bc | |
parent | 3d14a16c217f713fb4da1c8bc7856526466e07e1 (diff) |
bashrc_ps1
-rw-r--r-- | src/.bashrc_ps1 | 75 |
1 files changed, 39 insertions, 36 deletions
diff --git a/src/.bashrc_ps1 b/src/.bashrc_ps1 index 48599a5..7c890d3 100644 --- a/src/.bashrc_ps1 +++ b/src/.bashrc_ps1 @@ -1,43 +1,46 @@ -# Dynamic PS1 using terminal palette colors only +#Dynamic mic PS1 using terminal palette colors only function update_ps1 { - local exit_code=$? - - # Color exit code: green if 0, red otherwise - if [[ $exit_code -eq 0 ]]; then - local exit_display="\[\e[1;32m\]$exit_code\[\e[0m\]" # bright green - else - local exit_display="\[\e[1;31m\]$exit_code\[\e[0m\]" # bright red - fi - - # Symbol always bright white - local symbol="\[\e[1;37m\]\$\[\e[0m\]" - - # Brackets in bright white - local open_bracket="\[\e[1;37m\][\[\e[0m\]" - local close_bracket="\[\e[1;37m\]]\[\e[0m\]" - - # User: red for root, cyan otherwise - if [ $(id -u) -eq 0 ]; then - local user="\[\e[1;31m\]\u\[\e[0m\]" - else - local user="\[\e[1;36m\]\u\[\e[0m\]" - fi - - # Current folder: yellow - local folder="\[\e[1;33m\]\W\[\e[0m\]" - - # Git status: green if up to date, red if ahead, yellow if dirty - local git_status="" - if git rev-parse --is-inside-work-tree &>/dev/null; then - if [[ -z $(git status --porcelain 2>/dev/null) ]]; then - git_status="\[\e[1;32m\](git)\[\e[0m\]" # clean + local exit_code=$? + +# Color exit code: green if 0, red otherwise + if [[ $exit_code -eq 0 ]]; then + local exit_display="\[\e[1;32m\]$exit_code\[\e[0m\]" # bright green + else + local exit_display="\[\e[1;31m\]$exit_code\[\e[0m\]" # bright red + fi + + # Symbol always bright white + local symbol="\[\e[1;37m\]\$\[\e[0m\]" + + # Brackets in bright white + local open_bracket="\[\e[1;37m\][\[\e[0m\]" + local close_bracket="\[\e[1;37m\]]\[\e[0m\]" + + # User: red for root, cyan otherwise + if [ $(id -u) -eq 0 ]; then + local user="\[\e[1;31m\]r\e[0m\]" else - git_status="\[\e[1;31m\](git)\[\e[0m\]" # dirty + local user="\[\e[1;36m\]u\e[0m\]" + fi + + # Hostname + local hostname="\[\e[1;33m\]\h\e[0m\]" + + # Current folder: yellow + local folder="\[\e[1;33m\]\W\[\e[0m\]" + + # Git status: green if up to date, red if ahead, yellow if dirty + local git_status="" + if git rev-parse --is-inside-work-tree &>/dev/null; then + if [[ -z $(git status --porcelain 2>/dev/null) ]]; then + git_status="\[\e[1;32m\](git)\[\e[0m\]" # clean + else + git_status="\[\e[1;31m\](git)\[\e[0m\]" # dirty + fi fi - fi - # Build the prompt - PS1="${open_bracket}${exit_display} ${user} ${folder}${git_status}${close_bracket}${symbol} " + # Build the prompt + PS1="${open_bracket}${exit_display} ${user}-${hostname} ${folder}${git_status}${close_bracket}${symbol} " } # Update PS1 after every command |