Fix colours in output to use escape codes.
This commit is contained in:
parent
c754664dc8
commit
9b3d7fecc5
1 changed files with 22 additions and 21 deletions
43
.bashrc
43
.bashrc
|
@ -111,17 +111,18 @@ __prompt_user_colour() {
|
||||||
local RET="$?"
|
local RET="$?"
|
||||||
|
|
||||||
if [[ "$LOGNAME" == "root" ]]; then
|
if [[ "$LOGNAME" == "root" ]]; then
|
||||||
printf "%s" "1" # Red
|
printf "%s" "1;31m" # Bright Red.
|
||||||
elif [[ "$LOGNAME" == "tadgy" ]]; then
|
elif [[ "$LOGNAME" == "tadgy" ]]; then
|
||||||
printf "%s" "2" # Green
|
printf "%s" "1;32m" # Bright Green.
|
||||||
else
|
else
|
||||||
printf "%s" "6" # Cyan
|
printf "%s" "1;36m" # Bright Cyan.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return "$RET"
|
return "$RET"
|
||||||
}
|
}
|
||||||
|
|
||||||
__nanorc_prompt_command() {
|
__nanorc_prompt_command() {
|
||||||
|
# Dynamically handle .nanorc file versions.
|
||||||
hash nano >/dev/null 2>&1 && {
|
hash nano >/dev/null 2>&1 && {
|
||||||
# shellcheck disable=SC2155
|
# shellcheck disable=SC2155
|
||||||
local NANO_VER="$(command nano --version | awk '/version/ { print $4 }' | cut -d. -f1)"
|
local NANO_VER="$(command nano --version | awk '/version/ { print $4 }' | cut -d. -f1)"
|
||||||
|
@ -142,7 +143,7 @@ __nanorc_prompt_command() {
|
||||||
else
|
else
|
||||||
unalias nano
|
unalias nano
|
||||||
fi
|
fi
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "No .nanorc for version '$NANO_VER'." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "No .nanorc for version '$NANO_VER'." >&2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,10 +182,10 @@ __read_ssh_agents() {
|
||||||
exec {FD}<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 "$FD"
|
exec {FD}<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 "$FD"
|
||||||
ERR=$?
|
ERR=$?
|
||||||
if (( ERR == 10 )); then
|
if (( ERR == 10 )); then
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||||
return 1
|
return 1
|
||||||
elif (( ERR > 0 )); then
|
elif (( ERR > 0 )); then
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Flock usage error." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Flock usage error." >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -205,11 +206,11 @@ __read_ssh_agents() {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
(( ERR != 0 )) && {
|
(( ERR != 0 )) && {
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -230,7 +231,7 @@ __read_ssh_agents() {
|
||||||
|
|
||||||
# Error out if the data couldn't be read.
|
# Error out if the data couldn't be read.
|
||||||
(( ERR != 0 )) && {
|
(( ERR != 0 )) && {
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to read ssh-agent socket list." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to read ssh-agent socket list." >&2
|
||||||
unset SSH_AUTH_SOCKS SSH_AGENTS_MTIME
|
unset SSH_AUTH_SOCKS SSH_AGENTS_MTIME
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
@ -268,10 +269,10 @@ __write_ssh_agents() {
|
||||||
exec {FD}<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 "$FD"
|
exec {FD}<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 "$FD"
|
||||||
ERR=$?
|
ERR=$?
|
||||||
if (( ERR == 10 )); then
|
if (( ERR == 10 )); then
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||||
return 1
|
return 1
|
||||||
elif (( ERR > 0 )); then
|
elif (( ERR > 0 )); then
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Flock usage error." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Flock usage error." >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
elif [[ "$(uname -s)" == "Darwin" ]]; then
|
elif [[ "$(uname -s)" == "Darwin" ]]; then
|
||||||
|
@ -291,11 +292,11 @@ __write_ssh_agents() {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
(( ERR != 0 )) && {
|
(( ERR != 0 )) && {
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -312,7 +313,7 @@ __write_ssh_agents() {
|
||||||
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
||||||
elif (( ERR >= 1 )); then
|
elif (( ERR >= 1 )); then
|
||||||
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to write ssh-agent socket list." >&2
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to write ssh-agent socket list." >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
|
@ -339,17 +340,17 @@ __ssh_agent_prompt_command() {
|
||||||
|
|
||||||
# Find a new socket to use.
|
# Find a new socket to use.
|
||||||
if __find_ssh_agent_sock; then
|
if __find_ssh_agent_sock; then
|
||||||
printf "\\033[1;33;40m%s\\033[0;39m\\n" "Connected to existing ssh-agent socket."
|
printf "\\033[1;33m%s\\033[39m\\n" "Connected to existing ssh-agent socket."
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
else
|
else
|
||||||
# Start a new agent.
|
# Start a new agent.
|
||||||
eval "$(ssh-agent -s 2>/dev/null | grep -v 'echo'; printf "%s" "ERR=${PIPESTATUS[0]}")"
|
eval "$(ssh-agent -s 2>/dev/null | grep -v 'echo'; printf "%s" "ERR=${PIPESTATUS[0]}")"
|
||||||
(( ERR > 0 )) && {
|
(( ERR > 0 )) && {
|
||||||
printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to start new ssh-agent - continuing with no agent."
|
printf "\\033[1;31m%s\\033[39m\\n" "Failed to start new ssh-agent - continuing with no agent."
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
printf "\\033[1;32;40m%s\\033[0;39m\\n" "Started new ssh-agent."
|
printf "\\033[1;32m%s\\033[39m\\n" "Started new ssh-agent."
|
||||||
__write_ssh_agents
|
__write_ssh_agents
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
fi
|
fi
|
||||||
|
@ -400,17 +401,17 @@ if (( BASH_VERSINFO[0] >= 4 )); then
|
||||||
# Trim the path in the prompt.
|
# Trim the path in the prompt.
|
||||||
PROMPT_DIRTRIM=2
|
PROMPT_DIRTRIM=2
|
||||||
# Coloured username + host + directory:
|
# Coloured username + host + directory:
|
||||||
PS1='[\[$(tput bold)$(tput setaf "$(__prompt_user_colour)")\]\u\[$(tput sgr0)\]@\[$(tput bold)$(tput setaf 3)\]\h\[$(tput sgr0)\]] \[$(tput bold)$(tput setaf 4)\]\w\[$(tput sgr0)\]$(__prompt_git_status "\[\\033[0;35;40m\] (%s)\[\\033[0;37;40m\]") ->'
|
PS1='[\[\033[$(__prompt_user_colour)\]\u\[\033[39m\]@\[\033[1;33m\]\h\[\033[39m\]] \[\033[1;34m\]\w\[\033[39m\]$(__prompt_git_status "\[\\033[1;35m\] (%s)\[\\033[39m\]") ->'
|
||||||
else
|
else
|
||||||
# Set the prompts.
|
# Set the prompts.
|
||||||
# Coloured username + host + directory:
|
# Coloured username + host + directory:
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
PS1='[\[$(tput bold)$(tput setaf "$(__prompt_user_colour)")\]\u\[$(tput sgr0)\]@\[$(tput bold)$(tput setaf 3)\]\h\[$(tput sgr0)\]] \[$(tput bold)$(tput setaf 4)\]\$(echo \"\${PWD/#\$HOME/~}\" | awk -F/ '\''{if (NF>3) {printf \".../\" \$(NF-1) \"/\" \$NF} else {printf \$0}}'\'')\[$(tput sgr0)\]$(__prompt_git_status "\[\\033[0;35;40m\] (%s)\[\\033[0;37;40m\]") ->'
|
PS1='[\[\033[$(__prompt_user_colour)\]\u\[\033[39m\]@\[\033[1;33m\]\h\[\033[39m\]] \[\033[1;34m\]\$(printf \"%s\" \"\${PWD/#\$HOME/~}\" | awk -F/ '\''{if (NF>3) {printf \".../\" \$(NF-1) \"/\" \$NF} else {printf \$0}}'\'')\[\033[39m\]$(__prompt_git_status "\[\\033[1;35m\] (%s)\[\\033[39m\]") ->'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the debugger prompt.
|
# Set the debugger prompt.
|
||||||
# shellcheck disable=SC2155
|
# shellcheck disable=SC2155
|
||||||
export PS4="+(\[\e[1;33;40m\]\$?\[$(tput sgr0)\]) \[$(tput bold)$(tput setaf 4)\]\${BASH_SOURCE##*/}\[$(tput sgr0)\]\${FUNCNAME[0]:+(\[$(tput bold)$(tput setaf 2)\]\${FUNCNAME[0]}\[$(tput sgr0)\])}:\[$(tput bold)$(tput setaf 1)\]\$LINENO\[$(tput sgr0)\]: "
|
export PS4='+(\[\033[1;33m\]$?\[\033[39m\]) \[\033[1;34m\]${BASH_SOURCE##*/}\[\033[39m\]${FUNCNAME[0]:+(\[\033[1;32m\]${FUNCNAME[0]}\[\033[39m\])}:\[\033[1;31m\]$LINENO\[\033[39m\]: '
|
||||||
|
|
||||||
# Common aliases.
|
# Common aliases.
|
||||||
hash bc >/dev/null 2>&1 && alias bc='bc -lq'
|
hash bc >/dev/null 2>&1 && alias bc='bc -lq'
|
||||||
|
@ -482,5 +483,5 @@ elif [[ "$PLATFORM" = "Darwin" ]]; then
|
||||||
hash ls >/dev/null 2>&1 && alias ls='ls -bFG'
|
hash ls >/dev/null 2>&1 && alias ls='ls -bFG'
|
||||||
hash top >/dev/null 2>&1 && alias top='top -o cpu -S'
|
hash top >/dev/null 2>&1 && alias top='top -o cpu -S'
|
||||||
else
|
else
|
||||||
echo "${BASH_SOURCE##*/}: unsupported platform: $PLATFORM" >&2
|
printf "%s: %s\\n" "${BASH_SOURCE##*/}" "unsupported platform: $PLATFORM" >&2
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue