Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
550573bf
Commit
550573bf
authored
Sep 18, 2015
by
Alexis Hildebrandt
Browse files
Add emotty theme
parent
9c08641d
Changes
1
Show whitespace changes
Inline
Side-by-side
themes/emotty.zsh-theme
0 → 100644
View file @
550573bf
#!/usr/bin/env zsh
# ------------------------------------------------------------------------------
# FILE: emotty.zsh-theme
# DESCRIPTION: A varying emoji based theme
# AUTHOR: Alexis Hildebrandt (afh[at]surryhill.net)
# VERSION: 1.0.0
# DEPENDS: emotty plugin
# RECOMMENDS: Hasklig font
#
# This theme shows a different emoji for each tty at the main prompt.
#
# There are pre-defined different emoji sets to choose from, e.g.:
# emoji, stellar, floral, zodiac, love (see emotty plugin).
#
# To choose a different emotty set than the default (emoji)
# % export emotty_set=nature
#
# For the superuser (root) this theme shows a designated indicator
# and switches the foreground color to red
# (see root_prompt variable, default: skull).
# But you are using sudo (8) instead of designated a root shell, right‽
#
# When logged in via SSH the main prompt also shows the user- and hostname.
#
# The exit status of the last failed command is displayed in the window title
# along with an indicator (see warn_glyph variable, default: collision symbol).
# To clear it just run: $NULL, true or :
#
# The right prompt shows the current working directory (3 levels up) in cyan.
#
# When in a git repository the main prompt shows the current branch name
# with a branch indicator in yellow
# (see vcs_branch_glyph variable, default: Hasklig branch glyph).
#
# If there are modified files the prompt switches to red and shows an unstaged
# indicator (see vcs_unstaged_glyph variable, default: circled letter M).
#
# If there are staged files the prompt switches to green and shows an staged
# indicator (see vcs_staged_glyph variable, default: high voltage sign).
#
# In a git repository the right prompt shows the repository name in bold and
# prepends the current working directory subpath within the repository.
#
# When git currently performs an action such as merge or rebase, the action is
# displayed in red instead of the branch name and a special action indicator
# is shown (see vcs_action_glyph variable, default: chevron).
# ------------------------------------------------------------------------------
user_prompt
=
"
$(
emotty
)
"
root_prompt
=
"
$emoji
[skull]"
warn_prompt
=
"
$emoji
[collision_symbol]"
vcs_unstaged_glyph
=
"%{
$emoji
[circled_latin_capital_letter_m]
$emoji2
[emoji_style] %2G%}"
vcs_staged_glyph
=
"%{
$emoji
[high_voltage_sign] %1G%}"
vcs_branch_glyph
=
$(
print
-P
$'
\U
e0a0'
)
#
vcs_action_glyph
=
$(
print
-P
$'
\U
276f'
)
# ❯
red
=
"
$FG
[001]"
yellow
=
"
$FG
[003]"
green
=
"
$FG
[002]"
cyan
=
"
$FG
[014]"
prompt_glyph
=
"%{%(#.
${
root_prompt
}
.
${
user_prompt
}
)%1G%}"
# Uncomment the next line if you also like to see the warn_prompt in the prompt on the right.
#last_command_failed="%(?.. %F{red}%1{${warn_prompt} %1G%}%?%f)"
setopt promptsubst
autoload
-U
add-zsh-hook
autoload
-Uz
vcs_info
zstyle
':vcs_info:*'
enable
git
#hg svn cvs
zstyle
':vcs_info:*'
get-revision
false
zstyle
':vcs_info:*'
check-for-changes
true
zstyle
':vcs_info:git:*'
unstagedstr
"
${
red
}${
vcs_unstaged_glyph
}
"
zstyle
':vcs_info:*'
stagedstr
"
${
green
}${
vcs_staged_glyph
}
"
# %(K|F){color} set (back|fore)ground color
# %(k|f) reset (back|fore)ground color
zstyle
':vcs_info:*'
max-exports 3
zstyle
':vcs_info:*'
nvcsformats
"
${
prompt_glyph
}
"
'%3~'
''
zstyle
':vcs_info:*'
formats
"
${
yellow
}
%u%c%b
${
vcs_branch_glyph
}
%f"
'%S|'
"
$FX
[bold]%r
$FX
[no-bold]"
zstyle
':vcs_info:*'
actionformats
"
${
red
}
%K{white}%a
${
vcs_action_glyph
}
%k%f"
'%S|'
"
$FX
[bold]%r
$FX
[no-bold]"
red_if_root
=
"%(!.%F{red}.)"
sshuser_on_host
=
"
${
SSH_TTY
:+%
(!.
$red
.
$yellow
)%n@%m
$reset_color
}
"
PROMPT
=
'${sshuser_on_host}${vcs_info_msg_0_}${red_if_root} '
RPROMPT
=
'${cyan}${vcs_info_msg_1_##.|}${vcs_info_msg_2_}%f${last_command_failed}'
emotty_title
()
{
title
"
${${
?/[^0]*/
$warn_prompt
$?
}
/0/
${
prompt_glyph
}}
"
}
add-zsh-hook precmd emotty_title
add-zsh-hook precmd vcs_info
# vim:ft=zsh ts=2 sw=2 sts=2
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment