diff --git a/cradle/usr/local/bin/prompt.sh b/cradle/usr/local/bin/prompt.sh index f743457..36227a4 100755 --- a/cradle/usr/local/bin/prompt.sh +++ b/cradle/usr/local/bin/prompt.sh @@ -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 }