theme/essential: `shfmt`
parent
9f79848eed
commit
d1b7166358
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue