Skip to content

Instantly share code, notes, and snippets.

@mabbouxj
Last active January 2, 2022 14:32
Show Gist options
  • Save mabbouxj/5a10c00c9415613774da628d0629f442 to your computer and use it in GitHub Desktop.
Save mabbouxj/5a10c00c9415613774da628d0629f442 to your computer and use it in GitHub Desktop.
setopt prompt_subst
() {
SYMBOL_GIT="\ue0a0"
COLOR_PRIMARY=39 # blue
COLOR_SECONDARY=208 # orange
COLOR_FILEPATH=113 # green
COLOR_ENV=180 # yellow
COLOR_GIT=171 # rose
COLOR_RUBY=204 # red
ZSH_THEME_GIT_PROMPT_PREFIX="%F{${COLOR_GIT}}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="›%f"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="*"
ZSH_THEME_RUBY_PROMPT_PREFIX="%F{${COLOR_RUBY}}‹"
ZSH_THEME_RUBY_PROMPT_SUFFIX="›%f"
colorize_if_root() {
echo "%(#~%F{${COLOR_SECONDARY}}~%F{${COLOR_PRIMARY}})"
}
virtual_env() {
if [[ -n "$CONDA_DEFAULT_ENV" ]]; then
echo "%F{${COLOR_ENV}}($CONDA_DEFAULT_ENV)%f"
fi
}
user_host() {
local USER="$(colorize_if_root)%n%f"
local AT="%F{${COLOR_SECONDARY}}@%f"
local HOST="%F{${COLOR_PRIMARY}}%M%f"
echo "${USER}${AT}${HOST}"
}
current_dir() {
echo "%B%F{${COLOR_FILEPATH}}%~%f%b"
}
git_branch() {
if [[ -n "$(git_prompt_info)" ]]; then
echo "%F{${COLOR_GIT}}$(git_prompt_info)%f"
fi
}
line_1() {
local SYMBOL="$(colorize_if_root)╭─%f"
echo "${SYMBOL} $(user_host) $(current_dir) $(git_branch)"
}
line_2() {
local SYMBOL_1="$(colorize_if_root)╰─%f"
local SYMBOL_2="$(colorize_if_root)─➤%f"
echo "${SYMBOL_1}$(virtual_env)${SYMBOL_2} "
}
PROMPT='
$(line_1)
$(line_2) '
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment