diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index 832ac3ba..0d740d16 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -370,16 +370,13 @@ fi local res - local where # branch name, tag or commit + local where # branch or tag if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then res+="${clean}${POWERLEVEL9K_VCS_BRANCH_ICON}" where=${(V)VCS_STATUS_LOCAL_BRANCH} elif [[ -n $VCS_STATUS_TAG ]]; then res+="${meta}#" where=${(V)VCS_STATUS_TAG} - else - res+="${meta}@" - where=${VCS_STATUS_COMMIT[1,8]} fi # If local branch name or tag is at most 32 characters long, show it in full. @@ -387,6 +384,10 @@ (( $#where > 32 )) && where[13,-13]="…" res+="${clean}${where//\%/%%}" # escape % + # Display the current Git commit if there is no branch or tag. + # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. + [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + # Show tracking branch name if it differs from local branch. if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index d58cefe2..bc5da31f 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -363,16 +363,13 @@ fi local res - local where # branch name, tag or commit + local where # branch or tag if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then res+="${clean}${POWERLEVEL9K_VCS_BRANCH_ICON}" where=${(V)VCS_STATUS_LOCAL_BRANCH} elif [[ -n $VCS_STATUS_TAG ]]; then res+="${meta}#" where=${(V)VCS_STATUS_TAG} - else - res+="${meta}@" - where=${VCS_STATUS_COMMIT[1,8]} fi # If local branch name or tag is at most 32 characters long, show it in full. @@ -380,6 +377,10 @@ (( $#where > 32 )) && where[13,-13]="…" res+="${clean}${where//\%/%%}" # escape % + # Display the current Git commit if there is no branch or tag. + # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. + [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + # Show tracking branch name if it differs from local branch. if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index 991afcfc..a302a9e9 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -369,16 +369,13 @@ local conflicted='%1F' # red foreground local res - local where # branch name, tag or commit + local where # branch or tag if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then res+="${clean}${POWERLEVEL9K_VCS_BRANCH_ICON}" where=${(V)VCS_STATUS_LOCAL_BRANCH} elif [[ -n $VCS_STATUS_TAG ]]; then res+="${meta}#" where=${(V)VCS_STATUS_TAG} - else - res+="${meta}@" - where=${VCS_STATUS_COMMIT[1,8]} fi # If local branch name or tag is at most 32 characters long, show it in full. @@ -386,6 +383,10 @@ (( $#where > 32 )) && where[13,-13]="…" res+="${clean}${where//\%/%%}" # escape % + # Display the current Git commit if there is no branch or tag. + # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. + [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + # Show tracking branch name if it differs from local branch. if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape %