40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
# shellcheck shell=bash
|
|
|
|
# Find gitprompt.sh across supported installation methods.
|
|
|
|
GIT_PROMPT_CANDIDATES=(
|
|
"$HOME/.bash-git-prompt/gitprompt.sh"
|
|
"$LWS/opt/bash-git-prompt/gitprompt.sh"
|
|
)
|
|
|
|
# Detect active Homebrew prefix and add its bash-git-prompt path.
|
|
# This covers macOS Apple Silicon/Intel, Linuxbrew and any custom prefix.
|
|
if can_run brew; then
|
|
git_prompt_brew_prefix=$(brew --prefix bash-git-prompt 2>/dev/null) || git_prompt_brew_prefix=""
|
|
if [[ -n "$git_prompt_brew_prefix" ]]; then
|
|
GIT_PROMPT_CANDIDATES+=("$git_prompt_brew_prefix/share/gitprompt.sh")
|
|
fi
|
|
fi
|
|
|
|
GIT_PROMPT_INIT=""
|
|
for candidate in "${GIT_PROMPT_CANDIDATES[@]}"; do
|
|
if [[ -f "$candidate" ]]; then
|
|
GIT_PROMPT_INIT="$candidate"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [[ -n "$GIT_PROMPT_INIT" ]]; then
|
|
# __GIT_PROMPT_DIR is required so gitprompt.sh can find themes and gitstatus.sh
|
|
__GIT_PROMPT_DIR="$(dirname "$GIT_PROMPT_INIT")"
|
|
export __GIT_PROMPT_DIR
|
|
|
|
GIT_PROMPT_ONLY_IN_REPO=1
|
|
GIT_PROMPT_USER_HOST="${LWS_PS1_USER_HOST}"
|
|
GIT_PROMPT_START_USER="_LAST_COMMAND_INDICATOR_ ${GIT_PROMPT_USER_HOST}"
|
|
GIT_PROMPT_START_ROOT="${GIT_PROMPT_START_USER}"
|
|
source "$GIT_PROMPT_INIT"
|
|
fi
|
|
|
|
unset GIT_PROMPT_INIT git_prompt_brew_prefix
|