chore: tidyup

This commit is contained in:
Jamie Albert
2025-11-08 15:37:58 +00:00
parent e3b9e6d581
commit 525a9bd5da

View File

@@ -66,12 +66,13 @@ _screen_module_colour="33"
# ---
# * Miscellaneous
# ---
_prompt_hostname="all"
_prompt_hostname="ssh"
_prompt_separator=" "
_prompt_wrapper="[]"
# ---
# // Nerd Symbols
# // * Nerd Symbols
# // OBSOLETE 2025-11-07
# ---
# _git_symbol="󰘦"
# _pyenv_symbol="󰌠"
@@ -135,20 +136,19 @@ _screen_pre() {
# * Git
# ---
_git_post() {
[[ -z "$_git_dir" ]] && _git_dir="$(git rev-parse --git-dir 2>/dev/null)"
[[ -n "$_git_dir" ]] || return
[[ -z "$_git_dir" ]] && _git_dir="$(git rev-parse --git-dir 2>/dev/null)"
[[ -n "$_git_dir" ]] || return
local _unsafe_ref
_unsafe_ref=$(git symbolic-ref -q HEAD 2>/dev/null) || return
local _clean_ref="${_unsafe_ref##refs/heads/}"
_clean_ref="${_clean_ref//[^a-zA-Z0-9\/]/-}"
local _unsafe_ref
_unsafe_ref=$(git symbolic-ref -q HEAD 2>/dev/null) || return
local _clean_ref="${_unsafe_ref##refs/heads/}"
_clean_ref="${_clean_ref//[^a-zA-Z0-9\/]/-}"
# Add status indicators
local _status=""
[[ -n "$(git status --porcelain 2>/dev/null)" ]] && _status="*"
[[ -n "$(git ls-files --others --exclude-standard 2>/dev/null)" ]] && _status="${_status}+"
local _status=""
[[ -n "$(git status --porcelain 2>/dev/null)" ]] && _status="*"
[[ -n "$(git ls-files --others --exclude-standard 2>/dev/null)" ]] && _status="${_status}+"
[[ -n ${_clean_ref} ]] && _prompt_generate "${_git_symbol} ${_clean_ref}${_status}|${_git_module_colour}"
[[ -n ${_clean_ref} ]] && _prompt_generate "${_git_symbol} ${_clean_ref}${_status}|${_git_module_colour}"
}
# ---
@@ -197,38 +197,33 @@ _prompt_build() {
# END
# ---
# * User and hostname
# ---
declare _user_colour="${_prompt_user_colour}"
sudo -nv 2>/dev/null && _user_colour="${_prompt_sudo_colour}"
# * User and hostname
# ---
declare _user_colour="${_prompt_user_colour}"
sudo -nv 2>/dev/null && _user_colour="${_prompt_sudo_colour}"
_gen_uh="${_cached_uh}"
# Change the cache key to include sudo status
_uh_cache_key="${_prompt_hostname}:${SSH_CLIENT:-}:$(sudo -n -v 2>/dev/null && echo 'sudo' || echo 'nosudo')"
_gen_uh="${_cached_uh}"
_uh_cache_key="${_prompt_hostname}:${SSH_CLIENT:-}:$(sudo -n -v 2>/dev/null && echo 'sudo' || echo 'nosudo')"
[[ "$_uh_cache_key" != "$_last_uh_key" ]] && {
_gen_uh="$(_prompt_colour "${_user_colour}")${USER}"
[[ "$_uh_cache_key" != "$_last_uh_key" ]] && {
_gen_uh="$(_prompt_colour "${_user_colour}")${USER}"
# Add hostname if needed
if [[ ${_prompt_hostname} == "all" ]] || [[ ${_prompt_hostname} == "ssh" && -n ${SSH_CLIENT} ]]; then
_gen_uh+="$(_prompt_colour "${_prompt_at_colour}")@$(_prompt_colour "${_prompt_hostname_colour}")${HOSTNAME}"
fi
if [[ ${_prompt_hostname} == "all" ]] || [[ ${_prompt_hostname} == "ssh" && -n ${SSH_CLIENT} ]]; then
_gen_uh+="$(_prompt_colour "${_prompt_at_colour}")@$(_prompt_colour "${_prompt_hostname_colour}")${HOSTNAME}"
fi
_gen_uh+="\[\033[0m\]" # Reset color
_cached_uh="$_gen_uh"
_last_uh_key="$_uh_cache_key"
}
_prompt_generate "${_gen_uh}|${_prompt_info_colour}"
_gen_uh+="\[\033[0m\]"
_cached_uh="$_gen_uh"
_last_uh_key="$_uh_cache_key"
}
_prompt_generate "${_gen_uh}|${_prompt_info_colour}"
# ---
# * Current directory
# ---
declare _current_dir="${PWD}"
_current_dir="${_current_dir/#$HOME/\~}"
# Build the segment with individual colours for each part
_prompt_generate "$(_prompt_colour "${_prompt_info_colour}")${_prompt_wrapper:0:1}$(_prompt_colour "${_prompt_dir_colour}")${_current_dir}$(_prompt_colour "${_prompt_info_colour}")${_prompt_wrapper:1:1}\[\033[0m\]|${_prompt_info_colour}"
# ---
# * Current directory
# ---
declare _current_dir="${PWD}"
_current_dir="${_current_dir/#$HOME/\~}"
_prompt_generate "$(_prompt_colour "${_prompt_info_colour}")${_prompt_wrapper:0:1}$(_prompt_colour "${_prompt_dir_colour}")${_current_dir}$(_prompt_colour "${_prompt_info_colour}")${_prompt_wrapper:1:1}\[\033[0m\]|${_prompt_info_colour}"
# ---
# * Error status
@@ -249,10 +244,8 @@ _prompt_generate "$(_prompt_colour "${_prompt_info_colour}")${_prompt_wrapper:0:
# *Final prompt symbol
# ---
_prompt_status_colour=${_prompt_success_colour}
[[ ${_last_status} -ne 0 ]]&& _prompt_status_colour=${_prompt_fail_colour}
[[ ${_last_status} -ne 0 ]] && _prompt_status_colour=${_prompt_fail_colour}
_prompt_information+="$(_prompt_colour "${_prompt_status_colour}")\n${_prompt_symbol}\[\e[0m\]"
PS1="${_prompt_information} "
unset _prompt_information _prompt_seg
}