mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-23 12:40:08 +00:00
ef1e2c99b6
Some unicode icon strings were set with \uHHHHH which showed the wrong characters on some implementations of zsh (linux and macOS). Changed \uHHHHH to \UHHHHH and conversely changed \UHHHH to \uHHHH.
224 lines
11 KiB
Bash
224 lines
11 KiB
Bash
# vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8
|
|
################################################################
|
|
# icons
|
|
# This file holds the icon definitions and
|
|
# icon-functions for the powerlevel9k-ZSH-theme
|
|
# https://github.com/bhilburn/powerlevel9k
|
|
################################################################
|
|
|
|
# These characters require the Powerline fonts to work properly. If you see
|
|
# boxes or bizarre characters below, your fonts are not correctly installed. If
|
|
# you do not want to install a special font, you can set `POWERLEVEL9K_MODE` to
|
|
# `compatible`. This shows all icons in regular symbols.
|
|
|
|
# Initialize the icon list according to the user's `POWERLEVEL9K_MODE`.
|
|
typeset -gAH icons
|
|
case $POWERLEVEL9K_MODE in
|
|
'flat'|'awesome-patched')
|
|
# Awesome-Patched Font required! See:
|
|
# https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched
|
|
# Set the right locale to protect special characters
|
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
|
icons=(
|
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
|
LEFT_SUBSEGMENT_SEPARATOR $'\uE0B1' #
|
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
|
ROOT_ICON $'\uE801' #
|
|
RUBY_ICON $'\uE847 ' #
|
|
AWS_ICON $'\uE895' #
|
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
|
BACKGROUND_JOBS_ICON $'\uE82F ' #
|
|
TEST_ICON $'\uE891' #
|
|
TODO_ICON $'\u2611' # ☑
|
|
BATTERY_ICON $'\uE894' #
|
|
OK_ICON $'\u2713' # ✓
|
|
FAIL_ICON $'\u2718' # ✘
|
|
SYMFONY_ICON 'SF'
|
|
NODE_ICON $'\u2B22' # ⬢
|
|
MULTILINE_FIRST_PROMPT_PREFIX $'\u256D'$'\U2500'
|
|
MULTILINE_SECOND_PROMPT_PREFIX $'\u2570'$'\U2500 '
|
|
APPLE_ICON $'\uE26E' #
|
|
FREEBSD_ICON $'\U1F608 ' # 😈
|
|
LINUX_ICON $'\uE271' #
|
|
SUNOS_ICON $'\U1F31E ' # 🌞
|
|
HOME_ICON $'\uE12C' #
|
|
HOME_SUB_ICON $'\uE18D' #
|
|
FOLDER_ICON $'\uE818' #
|
|
NETWORK_ICON $'\uE1AD' #
|
|
LOAD_ICON $'\uE190 ' #
|
|
SWAP_ICON $'\uE87D' #
|
|
RAM_ICON $'\uE1E2 ' #
|
|
SERVER_ICON $'\uE895' #
|
|
VCS_UNTRACKED_ICON $'\uE16C' #
|
|
VCS_UNSTAGED_ICON $'\uE17C' #
|
|
VCS_STAGED_ICON $'\uE168' #
|
|
VCS_STASH_ICON $'\uE133 ' #
|
|
#VCS_INCOMING_CHANGES_ICON $'\uE1EB ' #
|
|
#VCS_INCOMING_CHANGES_ICON $'\uE80D ' #
|
|
VCS_INCOMING_CHANGES_ICON $'\uE131 ' #
|
|
#VCS_OUTGOING_CHANGES_ICON $'\uE1EC ' #
|
|
#VCS_OUTGOING_CHANGES_ICON $'\uE80E ' #
|
|
VCS_OUTGOING_CHANGES_ICON $'\uE132 ' #
|
|
VCS_TAG_ICON $'\uE817 ' #
|
|
VCS_BOOKMARK_ICON $'\uE87B' #
|
|
VCS_COMMIT_ICON $'\uE821 ' #
|
|
VCS_BRANCH_ICON $'\uE220' #
|
|
VCS_REMOTE_BRANCH_ICON ' '$'\uE804 ' #
|
|
VCS_GIT_ICON $'\uE20E ' #
|
|
VCS_HG_ICON $'\uE1C3 ' #
|
|
VCS_SVN_ICON '(svn) '
|
|
RUST_ICON ''
|
|
PYTHON_ICON $'\U1F40D' # 🐍
|
|
)
|
|
;;
|
|
'awesome-fontconfig')
|
|
# fontconfig with awesome-font required! See
|
|
# https://github.com/gabrielelana/awesome-terminal-fonts
|
|
icons=(
|
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
|
LEFT_SUBSEGMENT_SEPARATOR $'\uE0B1' #
|
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
|
ROOT_ICON $'\uF201' #
|
|
RUBY_ICON $'\uF219 ' #
|
|
AWS_ICON $'\uF296' #
|
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
|
BACKGROUND_JOBS_ICON $'\uF013 ' #
|
|
TEST_ICON $'\uF291' #
|
|
TODO_ICON $'\u2611' # ☑
|
|
BATTERY_ICON $'\U1F50B' # 🔋
|
|
OK_ICON $'\uF23A' #
|
|
FAIL_ICON $'\uF281' #
|
|
SYMFONY_ICON 'SF'
|
|
NODE_ICON $'\u2B22' # ⬢
|
|
MULTILINE_FIRST_PROMPT_PREFIX $'\u256D'$'\U2500' # ╭─
|
|
MULTILINE_SECOND_PROMPT_PREFIX $'\u2570'$'\U2500 ' # ╰─
|
|
APPLE_ICON $'\uF179' #
|
|
FREEBSD_ICON $'\U1F608 ' # 😈
|
|
LINUX_ICON $'\uF17C' #
|
|
SUNOS_ICON $'\uF185 ' #
|
|
HOME_ICON $'\uF015' #
|
|
HOME_SUB_ICON $'\uF07C' #
|
|
FOLDER_ICON $'\uF115' #
|
|
NETWORK_ICON $'\uF09E' #
|
|
LOAD_ICON $'\uF080 ' #
|
|
SWAP_ICON $'\uF0E4' #
|
|
RAM_ICON $'\uF0E4' #
|
|
SERVER_ICON $'\uF296' #
|
|
VCS_UNTRACKED_ICON $'\uF059' #
|
|
VCS_UNSTAGED_ICON $'\uF06A' #
|
|
VCS_STAGED_ICON $'\uF055' #
|
|
VCS_STASH_ICON $'\uF01C ' #
|
|
VCS_INCOMING_CHANGES_ICON $'\uF01A ' #
|
|
VCS_OUTGOING_CHANGES_ICON $'\uF01B ' #
|
|
VCS_TAG_ICON $'\uF217 ' #
|
|
VCS_BOOKMARK_ICON $'\uF27B' #
|
|
VCS_COMMIT_ICON $'\uF221 ' #
|
|
VCS_BRANCH_ICON $'\uF126' #
|
|
VCS_REMOTE_BRANCH_ICON ' '$'\uF204 ' #
|
|
VCS_GIT_ICON $'\uF113 ' #
|
|
VCS_HG_ICON $'\uF0C3 ' #
|
|
VCS_SVN_ICON '(svn) '
|
|
RUST_ICON $'\uE6A8' #
|
|
PYTHON_ICON $'\U1F40D' # 🐍
|
|
)
|
|
;;
|
|
*)
|
|
# Powerline-Patched Font required!
|
|
# See https://github.com/Lokaltog/powerline-fonts
|
|
icons=(
|
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
|
LEFT_SUBSEGMENT_SEPARATOR $'\uE0B1' #
|
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
|
ROOT_ICON $'\u26A1' # ⚡
|
|
RUBY_ICON ''
|
|
AWS_ICON 'AWS:'
|
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
|
BACKGROUND_JOBS_ICON $'\u2699' # ⚙
|
|
TEST_ICON ''
|
|
TODO_ICON $'\u2611' # ☑
|
|
BATTERY_ICON $'\U1F50B' # 🔋
|
|
OK_ICON $'\u2713' # ✓
|
|
FAIL_ICON $'\u2718' # ✘
|
|
SYMFONY_ICON 'SF'
|
|
NODE_ICON $'\u2B22' # ⬢
|
|
MULTILINE_FIRST_PROMPT_PREFIX $'\u256D'$'\u2500'
|
|
MULTILINE_SECOND_PROMPT_PREFIX $'\u2570'$'\u2500 '
|
|
APPLE_ICON 'OSX'
|
|
FREEBSD_ICON 'BSD'
|
|
LINUX_ICON 'Lx'
|
|
SUNOS_ICON 'Sun'
|
|
HOME_ICON ''
|
|
HOME_SUB_ICON ''
|
|
FOLDER_ICON ''
|
|
NETWORK_ICON 'IP'
|
|
LOAD_ICON 'L'
|
|
SWAP_ICON 'SWP'
|
|
RAM_ICON 'RAM'
|
|
SERVER_ICON ''
|
|
VCS_UNTRACKED_ICON '?'
|
|
VCS_UNSTAGED_ICON $'\u25CF' # ●
|
|
VCS_STAGED_ICON $'\u271A' # ✚
|
|
VCS_STASH_ICON $'\u235F' # ⍟
|
|
VCS_INCOMING_CHANGES_ICON $'\u2193' # ↓
|
|
VCS_OUTGOING_CHANGES_ICON $'\u2191' # ↑
|
|
VCS_TAG_ICON ''
|
|
VCS_BOOKMARK_ICON $'\u263F' # ☿
|
|
VCS_COMMIT_ICON ''
|
|
VCS_BRANCH_ICON $'\uE0A0 ' #
|
|
VCS_REMOTE_BRANCH_ICON $'\u2192' # →
|
|
VCS_GIT_ICON ''
|
|
VCS_HG_ICON ''
|
|
VCS_SVN_ICON ''
|
|
RUST_ICON ''
|
|
PYTHON_ICON ''
|
|
)
|
|
;;
|
|
esac
|
|
|
|
# Override the above icon settings with any user-defined variables.
|
|
case $POWERLEVEL9K_MODE in
|
|
'flat')
|
|
icons[LEFT_SEGMENT_SEPARATOR]=''
|
|
icons[RIGHT_SEGMENT_SEPARATOR]=''
|
|
icons[LEFT_SUBSEGMENT_SEPARATOR]='|'
|
|
icons[RIGHT_SUBSEGMENT_SEPARATOR]='|'
|
|
;;
|
|
'compatible')
|
|
# Set the right locale to protect special characters
|
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
|
icons[LEFT_SEGMENT_SEPARATOR]=$'\u2B80' # ⮀
|
|
icons[RIGHT_SEGMENT_SEPARATOR]=$'\u2B82' # ⮂
|
|
icons[VCS_BRANCH_ICON]='@'
|
|
;;
|
|
esac
|
|
|
|
if [[ "$POWERLEVEL9K_HIDE_BRANCH_ICON" == true ]]; then
|
|
icons[VCS_BRANCH_ICON]=''
|
|
fi
|
|
|
|
# Safety function for printing icons
|
|
# Prints the named icon, or if that icon is undefined, the string name.
|
|
function print_icon() {
|
|
local icon_name=$1
|
|
local ICON_USER_VARIABLE=POWERLEVEL9K_${icon_name}
|
|
if defined "$ICON_USER_VARIABLE"; then
|
|
echo -n "${(P)ICON_USER_VARIABLE}"
|
|
else
|
|
echo -n "${icons[$icon_name]}"
|
|
fi
|
|
}
|
|
|
|
get_icon_names() {
|
|
for key in ${(@k)icons}; do
|
|
echo "POWERLEVEL9K_$key: ${icons[$key]}"
|
|
done
|
|
}
|