nerd-font patched (complete) font required! See
May 10, 2024 · View on GitHub
https://github.com/ryanoasis/nerd-fonts
Set the right locale to protect special characters
POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_VCS_GIT_ICON='\uF1D3'
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B8' POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B6' POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3'
POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND='yellow' POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND='green' POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=013 POWERLEVEL9K_BATTERY_LOW_THRESHOLD=10 POWERLEVEL9K_BATTERY_LOW_FOREGROUND=009 POWERLEVEL9K_BATTERY_ICON='\uF1E6'
POWERLEVEL9K_PROMPT_ON_NEWLINE='true' POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=' \u08' # have an empty line above the prompt POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=' \u276F ' # ❯
POWERLEVEL9K_FAIL_ICON='\u2718' # ✘
POWERLEVEL9K_VCS_CLEAN_FOREGROUND=000 POWERLEVEL9K_VCS_CLEAN_BACKGROUND=002 POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=000 POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=011 POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=000 POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=013
POWERLEVEL9K_SHORTEN_DELIMITER='\UF015' POWERLEVEL9K_HOME_SUB_ICON='\UF115'
taken from powerlevel9k:
Determine the correct sed parameter.
sed is unfortunately not consistent across OSes when it comes to flags.
SED_EXTENDED_REGEX_PARAMETER="r"; [ $(uname) = "Darwin" ] && sed --version &>> /dev/null || SED_EXTENDED_REGEX_PARAMETER="E"
Given a directory path, truncate it according to the settings for
truncate_from_right
truncatePathFromRight() { local delim_len={#POWERLEVEL9K_SHORTEN_DELIMITER:-1} echo \1 | sed -SED_EXTENDED_REGEX_PARAMETER \ "s@(([^/]{((POWERLEVEL9K_SHORTEN_DIR_LENGTH))})([^/]{delim_len}))[^/]+/@\2POWERLEVEL9K_SHORTEN_DELIMITER/@g" }
remove_private_from_tmp_on_macos() { local dir="$1" if [ dir" in /private/tmp/*) dir="dir" | sed -e "s#/private##g")" esac fi echo -n "$dir" }
git_toplevel_dir() {
if [[ -z "(git rev-parse --show-toplevel 2>/dev/null)"
fi
echo -n "my_git_dir")"
}
prompt_dir_or_repository_toplevel_dir() {
local icon=''
if [[ POWERLEVEL9K_HOME_ICON"
elif [[ POWERLEVEL9K_HOME_SUB_ICON"
else
icon="(git_toplevel_dir)
if [[ -n "icon (echo -n "base_dir" | sed -e "s,^HOME,,")" )"
else
echo -n "(truncatePathFromRight "(remove_private_from_tmp_on_macos pwd) | sed -e "s,^$HOME,,")" )"
fi
}
prompt_repository_cwd() { local base_dir=base_dir" ]; then local project_pwd=(remove_private_from_tmp_on_macos "base_dirg" -e 's*^/') echo -n "$project_pwd" fi } POWERLEVEL9K_CUSTOM_DIR_OR_REPOSITORY_TOPLEVEL_DIR="prompt_dir_or_repository_toplevel_dir" POWERLEVEL9K_CUSTOM_DIR_OR_REPOSITORY_TOPLEVEL_DIR_BACKGROUND=012 POWERLEVEL9K_CUSTOM_DIR_OR_REPOSITORY_TOPLEVEL_DIR_FOREGROUND=000
POWERLEVEL9K_CUSTOM_REPOSITORY_CWD="prompt_repository_cwd" POWERLEVEL9K_CUSTOM_REPOSITORY_CWD_BACKGROUND=000 POWERLEVEL9K_CUSTOM_REPOSITORY_CWD_FOREGROUND=007
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status command_execution_time root_indicator context custom_dir_or_repository_toplevel_dir vcs custom_repository_cwd) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(battery time)
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_with_package_name" POWERLEVEL9K_SHORTEN_DIR_LENGTH=4
POWERLEVEL9K_TIME_FORMAT="\uf073 %D{%d.%m.%y} \uf017 %D{%H:%M}" POWERLEVEL9K_TIME_ICON="" POWERLEVEL9K_TIME_FOREGROUND=000 POWERLEVEL9K_TIME_BACKGROUND=007
POWERLEVEL9K_STATUS_VERBOSE=false
POWERLEVEL9K_COMMAND_EXECUTION_TIME_STRING='\uF2D8' POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=010 POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=0 POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=10 POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0