theme/essential: `shfmt`

pull/2012/head
John D Pell 2021-09-24 13:13:57 -07:00
parent 9f79848eed
commit d1b7166358
2 changed files with 59 additions and 58 deletions

View File

@ -135,6 +135,7 @@ themes/brunton
themes/candy themes/candy
themes/command_duration.theme.bash themes/command_duration.theme.bash
themes/easy themes/easy
themes/essential
themes/modern themes/modern
themes/powerline themes/powerline
themes/pure themes/pure

View File

@ -1,91 +1,91 @@
# shellcheck shell=bash # shellcheck shell=bash
function _user-prompt() { function _user-prompt() {
local -r user='\\u' local -r user='\\u'
if [[ "${EUID}" -eq 0 ]]; then if [[ "${EUID}" -eq 0 ]]; then
# Privileged users: # Privileged users:
local -r user_color="${bold_red?}" local -r user_color="${bold_red?}"
else else
# Standard users: # Standard users:
local -r user_color="${bold_green?}" local -r user_color="${bold_green?}"
fi fi
# Print the current user's name (colored according to their current EUID): # Print the current user's name (colored according to their current EUID):
echo -e "${user_color}${user}${normal?}" echo -e "${user_color}${user}${normal?}"
} }
function _host-prompt() { function _host-prompt() {
local -r host='\\h' local -r host='\\h'
# Check whether or not $SSH_TTY is set: # Check whether or not $SSH_TTY is set:
if [[ -z "${SSH_TTY:-}" ]]; then if [[ -z "${SSH_TTY:-}" ]]; then
# For local hosts, set the host's prompt color to blue: # For local hosts, set the host's prompt color to blue:
local -r host_color="${bold_blue?}" local -r host_color="${bold_blue?}"
else else
# For remote hosts, set the host's prompt color to red: # For remote hosts, set the host's prompt color to red:
local -r host_color="${bold_red?}" local -r host_color="${bold_red?}"
fi fi
# Print the current hostname (colored according to $SSH_TTY's status): # Print the current hostname (colored according to $SSH_TTY's status):
echo -e "${host_color}${host}${normal?}" echo -e "${host_color}${host}${normal?}"
} }
function _user-at-host-prompt() { function _user-at-host-prompt() {
# Concatenate the user and host prompts into: user@host: # Concatenate the user and host prompts into: user@host:
echo -e "$(_user-prompt)${bold_white?}@$(_host-prompt)" echo -e "$(_user-prompt)${bold_white?}@$(_host-prompt)"
} }
function _exit-status-prompt() { function _exit-status-prompt() {
local -r prompt_string="${1}" local -r prompt_string="${1}"
local -r exit_status="${2}" local -r exit_status="${2}"
# Check the exit status of the last command captured by $exit_status: # Check the exit status of the last command captured by $exit_status:
if [[ "${exit_status}" -eq 0 ]]; then if [[ "${exit_status}" -eq 0 ]]; then
# For commands that return an exit status of zero, set the exit status's # For commands that return an exit status of zero, set the exit status's
# notifier to green: # notifier to green:
local -r exit_status_color="${bold_green?}" local -r exit_status_color="${bold_green?}"
else else
# For commands that return a non-zero exit status, set the exit status's # For commands that return a non-zero exit status, set the exit status's
# notifier to red: # notifier to red:
local -r exit_status_color="${bold_red?}" local -r exit_status_color="${bold_red?}"
fi fi
echo -ne "${exit_status_color}" echo -ne "${exit_status_color}"
if [[ "${prompt_string}" -eq 1 ]]; then if [[ "${prompt_string}" -eq 1 ]]; then
# $PS1: # $PS1:
echo -e " +${normal?} " echo -e " +${normal?} "
elif [[ "${prompt_string}" -eq 2 ]]; then elif [[ "${prompt_string}" -eq 2 ]]; then
# $PS2: # $PS2:
echo -e " |${normal?} " echo -e " |${normal?} "
else else
# Default: # Default:
echo -e " ?${normal?} " echo -e " ?${normal?} "
fi fi
} }
function _ps1() { function _ps1() {
local -r time='\\t' local -r time='\\t'
echo -ne "${bold_white?}${time} " echo -ne "${bold_white?}${time} "
echo -ne "$(_user-at-host-prompt)" echo -ne "$(_user-at-host-prompt)"
echo -e "${bold_white?}:${normal?}${PWD}" echo -e "${bold_white?}:${normal?}${PWD}"
echo -e "$(_exit-status-prompt 1 "${exit_status}")" echo -e "$(_exit-status-prompt 1 "${exit_status}")"
} }
function _ps2() { function _ps2() {
echo -e "$(_exit-status-prompt 2 "${exit_status}")" echo -e "$(_exit-status-prompt 2 "${exit_status}")"
} }
function prompt_command() { function prompt_command() {
# Capture the exit status of the last command: # Capture the exit status of the last command:
local -r exit_status="${?}" local -r exit_status="${?}"
# Build the $PS1 prompt: # Build the $PS1 prompt:
PS1="$(_ps1)" PS1="$(_ps1)"
# Build the $PS2 prompt: # Build the $PS2 prompt:
PS2="$(_ps2)" PS2="$(_ps2)"
} }
safe_append_prompt_command prompt_command safe_append_prompt_command prompt_command