Remove use of SANITISED_REPO in .bashrc. Change colour reset value.
This commit is contained in:
parent
04c05f61de
commit
267df1ce73
2 changed files with 26 additions and 29 deletions
|
@ -16,7 +16,7 @@ fi
|
|||
hash ssh-add ssh-agent >/dev/null 2>&1 && {
|
||||
# Stop any started ssh-agent as long as the shell level is 1 and we're not on a tty.
|
||||
(( SHLVL == 1 )) && [[ "$(tty)" != /dev/tty* ]] && [[ -n "$SSH_AGENT_PID" ]] && {
|
||||
eval "$(ssh-agent -k >/dev/null 2>&1)" >/dev/null || printf "\\033[1;31;40m%s\\033[0;39m\\n" "Failed to stop ssh-agent." >&2
|
||||
eval "$(ssh-agent -k >/dev/null 2>&1)" >/dev/null || printf "\\033[1;31;40m%s\\033[0m\\n" "Failed to stop ssh-agent." >&2
|
||||
}
|
||||
|
||||
# Update the ~/.ssh/agents file.
|
||||
|
|
53
.bashrc
53
.bashrc
|
@ -23,7 +23,7 @@ __prompt_git_status() {
|
|||
# S:branch_name >5 *
|
||||
# Returns: 0 = Produced a prompt successfully.
|
||||
# 1 = An error occured.
|
||||
local BRANCH COUNT GIT_PROMPT GIT_PROMPT_MARKER_SET GIT_REPO_INFO IFS=
|
||||
local BRANCH COUNT GIT_PROMPT GIT_PROMPT_MARKER_SET GIT_REPO_INFO IFS=$'\n'
|
||||
|
||||
# Bail out if there's no format argument given, or it doesn't contain %s
|
||||
(( $# != 1 )) || [[ "$1" != *%s* ]] && return 1
|
||||
|
@ -165,7 +165,7 @@ __git_prompt_command() {
|
|||
# git config ---local -replace-all --type bool script.DisablePromptPrefetch true
|
||||
# Returns: 0 = Tasks completed successfully.
|
||||
# 1 = An error occured.
|
||||
local GIT_REPO_INFO LC_ALL="C" NOW REPO_TIMESTAMP SANITISED_REPO TIMESTAMP_VAR
|
||||
local GIT_REPO_INFO LC_ALL="C" NOW REPO_TIMESTAMP TIMESTAMP_VAR
|
||||
|
||||
# shellcheck disable=SC2207
|
||||
GIT_REPO_INFO=( $( git rev-parse --is-inside-work-tree --show-toplevel 2>/dev/null) ) || return 1
|
||||
|
@ -175,7 +175,7 @@ __git_prompt_command() {
|
|||
# Run prefetch tasks if not disabled.
|
||||
[[ -z "$GIT_DISABLE_PROMPT_PREFETCH" ]] && [[ "$(git config --local --get --type bool script.DisablePromptPrefetch 2>/dev/null)" != "true" ]] && {
|
||||
git maintenance run --task=prefetch 2>/dev/null || {
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Git maintenance 'prefetch' task failed." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Git maintenance 'prefetch' task failed." >&2
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
@ -188,15 +188,12 @@ __git_prompt_command() {
|
|||
NOW="${NOW/.}"
|
||||
fi
|
||||
|
||||
# Make sure the repo path is usable in a variable.
|
||||
SANITISED_REPO"${GIT_REPO_INFO[1]//[^[:alnum:]]/_}"
|
||||
|
||||
# Determine the timestamp variable name depending on bash version.
|
||||
if (( BASH_VERSINFO[0] >= 4 )); then
|
||||
TIMESTAMP_VAR="GIT_REPO_TIMESTAMP['$SANITISED_REPO']"
|
||||
TIMESTAMP_VAR="GIT_REPO_TIMESTAMP[${GIT_REPO_INFO[1]//[^[:alnum:]]/_}]"
|
||||
else
|
||||
# This is going to pollute the environment, but Darwin is a PITA.
|
||||
TIMESTAMP_VAR="GIT_REPO_TIMESTAMP_$SANITISED_REPO"
|
||||
TIMESTAMP_VAR="GIT_REPO_TIMESTAMP_${GIT_REPO_INFO[1]//[^[:alnum:]]/_}"
|
||||
fi
|
||||
|
||||
if [[ -n "${!TIMESTAMP_VAR}" ]]; then
|
||||
|
@ -207,14 +204,14 @@ __git_prompt_command() {
|
|||
if [[ "$(git config --local --get --type int script.AutoMergeSuccess)" == "true" ]]; then
|
||||
printf "\\033[1;32m%s" "Git auto-merge succeeded for this repo."
|
||||
if [[ "${GIT_REPO_INFO[1]}" == "$HOME" ]]; then
|
||||
printf " %s\\033[39m\\n" "Re-source .bash* files."
|
||||
printf " %s\\033[0m\\n" "Re-source .bash* files."
|
||||
else
|
||||
printf "\\033[39m\\n"
|
||||
printf "\\033[0m\\n"
|
||||
fi
|
||||
# Update the timestamp in the environment.
|
||||
declare -g "$TIMESTAMP_VAR"="$NOW"
|
||||
else
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Git auto-merge failed for this repo - correct manually." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Git auto-merge failed for this repo - correct manually." >&2
|
||||
fi
|
||||
}
|
||||
else
|
||||
|
@ -249,7 +246,7 @@ __nanorc_prompt_command() {
|
|||
else
|
||||
unalias nano 2>/dev/null
|
||||
fi
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "No .nanorc for version '$NANO_VER'." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "No .nanorc for version '$NANO_VER'." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -277,17 +274,17 @@ __ssh_agent_prompt_command() {
|
|||
|
||||
# Find a new socket to use.
|
||||
if __find_ssh_agent_sock; then
|
||||
printf "\\033[1;33m%s\\033[39m\\n" "Connected to existing ssh-agent socket."
|
||||
printf "\\033[1;33m%s\\033[0m\\n" "Connected to existing ssh-agent socket."
|
||||
sleep 0.5
|
||||
else
|
||||
# Start a new agent.
|
||||
eval "$(ssh-agent -s 2>/dev/null | grep -v 'echo'; printf "%s" "ERR=${PIPESTATUS[0]}")"
|
||||
(( ERR > 0 )) && {
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to start new ssh-agent - continuing with no agent."
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to start new ssh-agent - continuing with no agent."
|
||||
sleep 0.5
|
||||
return 1
|
||||
}
|
||||
printf "\\033[1;32m%s\\033[39m\\n" "Started new ssh-agent."
|
||||
printf "\\033[1;32m%s\\033[0m\\n" "Started new ssh-agent."
|
||||
__write_ssh_agents
|
||||
sleep 0.5
|
||||
fi
|
||||
|
@ -330,10 +327,10 @@ __read_ssh_agents() {
|
|||
exec 9<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 9
|
||||
ERR=$?
|
||||
if (( ERR == 10 )); then
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
return 1
|
||||
elif (( ERR > 0 )); then
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Flock usage error." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Flock usage error." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -354,11 +351,11 @@ __read_ssh_agents() {
|
|||
fi
|
||||
done
|
||||
(( ERR != 0 )) && {
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
return 1
|
||||
}
|
||||
else
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -379,7 +376,7 @@ __read_ssh_agents() {
|
|||
|
||||
# Error out if the data couldn't be read.
|
||||
(( ERR != 0 )) && {
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to read ssh-agent socket list." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to read ssh-agent socket list." >&2
|
||||
unset SSH_AUTH_SOCKS SSH_AGENTS_MTIME
|
||||
return 1
|
||||
}
|
||||
|
@ -418,10 +415,10 @@ __write_ssh_agents() {
|
|||
exec 9<"$HOME/.ssh/agents" && flock -E 10 -e -w 0.5 9
|
||||
ERR=$?
|
||||
if (( ERR == 10 )); then
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
return 1
|
||||
elif (( ERR > 0 )); then
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Flock usage error." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Flock usage error." >&2
|
||||
return 1
|
||||
fi
|
||||
elif [[ "$(uname -s)" == "Darwin" ]]; then
|
||||
|
@ -441,11 +438,11 @@ __write_ssh_agents() {
|
|||
fi
|
||||
done
|
||||
(( ERR != 0 )) && {
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to obtain lock on ~/.ssh/agents." >&2
|
||||
return 1
|
||||
}
|
||||
else
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "File locking unsupported on '$PLATFORM'." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -462,7 +459,7 @@ __write_ssh_agents() {
|
|||
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
||||
elif (( ERR >= 1 )); then
|
||||
rm -f "$HOME/.ssh/agents" 2>/dev/null
|
||||
printf "\\033[1;31m%s\\033[39m\\n" "Failed to write ssh-agent socket list." >&2
|
||||
printf "\\033[1;31m%s\\033[0m\\n" "Failed to write ssh-agent socket list." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -519,17 +516,17 @@ if (( BASH_VERSINFO[0] >= 4 )); then
|
|||
# Trim the path in the prompt.
|
||||
PROMPT_DIRTRIM=2
|
||||
# Coloured username + host + directory:
|
||||
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\]") ->'
|
||||
PS1='[\[\033[$(__prompt_user_colour)\]\u\[\033[0m\]@\[\033[1;33m\]\h\[\033[0m\]] \[\033[1;34m\]\w\[\033[0m\]$(__prompt_git_status "\[\\033[1;35m\] (%s)\[\\033[0m\]") ->'
|
||||
else
|
||||
# Set the prompts.
|
||||
# Coloured username + host + directory:
|
||||
# shellcheck disable=SC2154
|
||||
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\]") ->'
|
||||
PS1='[\[\033[$(__prompt_user_colour)\]\u\[\033[0m\]@\[\033[1;33m\]\h\[\033[0m\]] \[\033[1;34m\]$(printf "%s" "${PWD/#$HOME/~}" | awk -F/ '\''{if (NF>3) {printf ".../" $(NF-1) "/" $NF} else {printf $0}}'\'')\[\033[0m\]$(__prompt_git_status "\[\\033[1;35m\] (%s)\[\\033[0m\]") ->'
|
||||
fi
|
||||
|
||||
# Set the debugger prompt.
|
||||
# shellcheck disable=SC2155
|
||||
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\]: '
|
||||
export PS4='+(\[\033[1;33m\]$?\[\033[0m\]) \[\033[1;34m\]${BASH_SOURCE##*/}\[\033[0m\]${FUNCNAME[0]:+(\[\033[1;32m\]${FUNCNAME[0]}\[\033[0m\])}:\[\033[1;31m\]$LINENO\[\033[0m\]: '
|
||||
|
||||
# Common aliases.
|
||||
hash bc >/dev/null 2>&1 && alias bc='bc -lq'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue