mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-11 08:00:06 +00:00
f9d2f3a3a5
* upstream/next: (41 commits) vcs icons: fixing branch spacing and remote icon in fontawesome same deal for the "FAIL_ICON"! fixing the "OK_ICON" in 'awesome-fontconfig' which somehow got broken Change powerlevel9k_init to prompt_powerlevel_setup Fix MacOS specific battery segment logic. Minor fix-up to the README. Adding license note about the new logo. more typos Adding the new logo to the README! fixed typo fixed issue with POWERLEVEL9K_PUBLIC_IP_NONE being empty .. i hope fixed typo reverted testing value to default value added link to segemnt documenation in README fixed issue with POWERLEVEL9K_PUBLIC_IP_NONE being empty for real fixed issue with POWERLEVEL9K_PUBLIC_IP_NONE being empty added README section for public_ip segment added the ability to specify and only attempt a particular method Add Changelog for v0.5.0 added configurable string when there is no IP updated some comments changed some offline behavior ...
295 lines
15 KiB
Bash
295 lines
15 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 $'\u2192' # →
|
|
VCS_GIT_ICON $'\uE20E ' #
|
|
VCS_GIT_GITHUB_ICON $'\uE20E ' #
|
|
VCS_GIT_BITBUCKET_ICON $'\uE20E ' #
|
|
VCS_GIT_GITLAB_ICON $'\uE20E ' #
|
|
VCS_HG_ICON $'\uE1C3 ' #
|
|
VCS_SVN_ICON '(svn) '
|
|
RUST_ICON ''
|
|
PYTHON_ICON $'\U1F40D' # 🐍
|
|
SWIFT_ICON ''
|
|
PUBLIC_IP_ICON ''
|
|
)
|
|
;;
|
|
'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 $'\u2713' # ✓
|
|
FAIL_ICON $'\u2718' # ✘
|
|
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 $'\u2192' # →
|
|
VCS_GIT_ICON $'\uF1D3 ' #
|
|
VCS_GIT_GITHUB_ICON $'\uF113 ' #
|
|
VCS_GIT_BITBUCKET_ICON $'\uF171 ' #
|
|
VCS_GIT_GITLAB_ICON $'\uF296 ' #
|
|
VCS_HG_ICON $'\uF0C3 ' #
|
|
VCS_SVN_ICON '(svn) '
|
|
RUST_ICON $'\uE6A8' #
|
|
PYTHON_ICON $'\U1F40D' # 🐍
|
|
SWIFT_ICON ''
|
|
PUBLIC_IP_ICON ''
|
|
)
|
|
;;
|
|
'nerd-patched-complete')
|
|
# nerd-font patched (complete) font required! See
|
|
# https://github.com/ryanoasis/nerd-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 $'\uF219 ' #
|
|
AWS_ICON $'\uE7AD' #
|
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
|
BACKGROUND_JOBS_ICON $'\uF013 ' #
|
|
TEST_ICON $'\uF188' #
|
|
TODO_ICON $'\u2611' # ☑
|
|
BATTERY_ICON $'\uF241' #
|
|
OK_ICON $'\u2713' # ✓
|
|
FAIL_ICON $'\u2718' # ✘
|
|
SYMFONY_ICON $'\uE757' #
|
|
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 $'\uF1EB' #
|
|
LOAD_ICON $'\uF080 ' #
|
|
SWAP_ICON $'\uF464' #
|
|
RAM_ICON $'\uF0E4' #
|
|
SERVER_ICON $'\uF0AE' #
|
|
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 $'\uF02B ' #
|
|
VCS_BOOKMARK_ICON $'\uF462' #
|
|
VCS_COMMIT_ICON $'\uE729 ' #
|
|
VCS_BRANCH_ICON $'\uF126' #
|
|
VCS_REMOTE_BRANCH_ICON $'\uE728 ' #
|
|
VCS_GIT_ICON $'\uF113 ' #
|
|
VCS_HG_ICON $'\uF0C3 ' #
|
|
VCS_SVN_ICON '(svn) '
|
|
RUST_ICON $'\uE7A8' #
|
|
PYTHON_ICON $'\uE73C' #
|
|
SWIFT_ICON $'\uE755' #
|
|
PUBLIC_IP_ICON ''
|
|
)
|
|
;;
|
|
*)
|
|
# 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_GIT_GITHUB_ICON ''
|
|
VCS_GIT_BITBUCKET_ICON ''
|
|
VCS_GIT_GITLAB_ICON ''
|
|
VCS_HG_ICON ''
|
|
VCS_SVN_ICON ''
|
|
RUST_ICON ''
|
|
PYTHON_ICON ''
|
|
SWIFT_ICON 'Swift'
|
|
PUBLIC_IP_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
|
|
}
|