Skip to content

Instantly share code, notes, and snippets.

@Axioms
Last active March 14, 2022 18:20
Show Gist options
  • Save Axioms/26ffd46bfa95dac6fb0a1d5d2b5f9bd2 to your computer and use it in GitHub Desktop.
Save Axioms/26ffd46bfa95dac6fb0a1d5d2b5f9bd2 to your computer and use it in GitHub Desktop.
My zsh theme
current_time() {
echo "%{$FG[007]%}%D{%H:%M:%S}%f"
}
status() {
echo "%(?.%{$FG[012]%}✔%f.%{$fg[red]%}✘%f)"
}
username() {
if [[ $UID == 0 || $EUID == 0 ]]
then
echo "%B%{$FG[009]%}%n%f%b"
else
echo "%B%{$fg[green]%}%n%f%b"
fi
}
host() {
echo "%B%{$fg[cyan]%}%m%f%b"
}
directory() {
if [[ $UID == 0 || $EUID == 0 ]]
then
echo "%U%B%{$FG[048]%}%2~%f%u%b"
else
echo "%U%B%{$fg[red]%}%2~%f%u%b"
fi
}
cursor() {
if [[ $UID == 0 || $EUID == 0 ]]
then
echo "%B%{$fg[red]%}»%b%f"
else
echo "%B%{$fg[cyan]%}»%b%f"
fi
}
git_info() {
if $(git rev-parse --is-inside-work-tree 2>/dev/null)
then
echo " $(git_prompt_info) "
else
echo " "
fi
}
get_emoji() {
echo "$(random_emoji faces)"
}
PROMPT='[$(username)$(get_emoji)$(host) $(directory)]$(git_info)$(cursor)%{$reset_color%} '
RPROMPT='$(status) $(current_time)%{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="[%B%{$fg[green]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%b]%f"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[yellow]%}✘"
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$FG[012]%}✔"
ZSH_THEME_GIT_PROMPT_ADDED=" %{$fg[cyan]%} +"
ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$fg[yellow]%} ✭"
ZSH_THEME_GIT_PROMPT_DELETED=" %{$fg[red]%} ✗"
ZSH_THEME_GIT_PROMPT_RENAMED=" %{$fg[blue]%} ➦"
ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$fg[magenta]%} ✂"
ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$fg[grey]%} ✱"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment