mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-22 12:20:07 +00:00
new feature: ruler above the prompt; to enable: POWERLEVEL9K_SHOW_RULER=true
This commit is contained in:
parent
2e4235cffa
commit
4e3ec4850c
2 changed files with 34 additions and 8 deletions
|
@ -30,6 +30,7 @@ function _p9k_init_icons() {
|
||||||
# Set the right locale to protect special characters
|
# Set the right locale to protect special characters
|
||||||
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
|
RULER_CHAR $'\u2500' # ─
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
||||||
|
@ -132,6 +133,7 @@ function _p9k_init_icons() {
|
||||||
# Set the right locale to protect special characters
|
# Set the right locale to protect special characters
|
||||||
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
|
RULER_CHAR $'\u2500' # ─
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
||||||
|
@ -239,6 +241,7 @@ function _p9k_init_icons() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
icons=(
|
icons=(
|
||||||
|
RULER_CHAR $'\u2500' # ─
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
||||||
|
@ -334,6 +337,7 @@ function _p9k_init_icons() {
|
||||||
# Set the right locale to protect special characters
|
# Set the right locale to protect special characters
|
||||||
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
|
RULER_CHAR $'\u2500' # ─
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
||||||
|
@ -432,6 +436,7 @@ function _p9k_init_icons() {
|
||||||
# Set the right locale to protect special characters
|
# Set the right locale to protect special characters
|
||||||
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
|
RULER_CHAR $'\u2500' # ─
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
LEFT_SEGMENT_END_SEPARATOR ' ' # Whitespace
|
||||||
|
|
|
@ -2202,6 +2202,7 @@ function _p9k_update_prompt() {
|
||||||
typeset -gi _P9K_REGION_ACTIVE
|
typeset -gi _P9K_REGION_ACTIVE
|
||||||
|
|
||||||
set_default POWERLEVEL9K_PROMPT_ADD_NEWLINE false
|
set_default POWERLEVEL9K_PROMPT_ADD_NEWLINE false
|
||||||
|
set_default POWERLEVEL9K_SHOW_RULER false
|
||||||
|
|
||||||
powerlevel9k_refresh_prompt_inplace() {
|
powerlevel9k_refresh_prompt_inplace() {
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
|
@ -2439,6 +2440,34 @@ _p9k_init() {
|
||||||
done
|
done
|
||||||
_P9K_ALIGNED_RPROMPT+='$_P9K_RPROMPT'
|
_P9K_ALIGNED_RPROMPT+='$_P9K_RPROMPT'
|
||||||
|
|
||||||
|
if [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]]; then
|
||||||
|
repeat ${POWERLEVEL9K_PROMPT_ADD_NEWLINE_COUNT:-1} _P9K_LEFT_PREFIX+=$'\n'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $POWERLEVEL9K_SHOW_RULER == true ]]; then
|
||||||
|
_p9k_get_icon RULER_CHAR
|
||||||
|
local ruler_char=$_P9K_RETVAL
|
||||||
|
_p9k_prompt_length $ruler_char
|
||||||
|
if (( _P9K_RETVAL == 1 && $#ruler_char == 1 )); then
|
||||||
|
_p9k_color "" prompt_ruler BACKGROUND
|
||||||
|
_p9k_background $_P9K_RETVAL
|
||||||
|
_P9K_LEFT_PREFIX+=$_P9K_RETVAL
|
||||||
|
_p9k_color "" prompt_ruler FOREGROUND
|
||||||
|
_p9k_foreground $_P9K_RETVAL
|
||||||
|
_P9K_LEFT_PREFIX+=$_P9K_RETVAL
|
||||||
|
[[ $ruler_char == '.' ]] && local sep=',' || local sep='.'
|
||||||
|
local indent='${${ZLE_RPROMPT_INDENT:-1}/#-*/0}'
|
||||||
|
local ruler_len="\${\$((COLUMNS-$indent))/#-*/0}"
|
||||||
|
local pad_len="\$((COLUMNS-$ruler_len))"
|
||||||
|
_P9K_LEFT_PREFIX+="%b\${(pl$sep$ruler_len$sep$sep${(q)ruler_char}$sep)}%k%f"
|
||||||
|
_P9K_LEFT_PREFIX+="\${(l$sep$pad_len$sep$sep $sep)}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $ITERM_SHELL_INTEGRATION_INSTALLED == Yes ]]; then
|
||||||
|
_P9K_LEFT_PREFIX+="%{$(iterm2_prompt_mark)%}"
|
||||||
|
fi
|
||||||
|
|
||||||
_P9K_LEFT_PREFIX+='${${_P9K_BG::=NONE}+}${${_P9K_I::=0}+}'
|
_P9K_LEFT_PREFIX+='${${_P9K_BG::=NONE}+}${${_P9K_I::=0}+}'
|
||||||
_P9K_RIGHT_PREFIX+='${${_P9K_BG::=NONE}+}${${_P9K_I::=0}+}'
|
_P9K_RIGHT_PREFIX+='${${_P9K_BG::=NONE}+}${${_P9K_I::=0}+}'
|
||||||
|
|
||||||
|
@ -2471,14 +2500,6 @@ _p9k_init() {
|
||||||
_P9K_LEFT_PREFIX+="%f%b%k"
|
_P9K_LEFT_PREFIX+="%f%b%k"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]]; then
|
|
||||||
repeat ${POWERLEVEL9K_PROMPT_ADD_NEWLINE_COUNT:-1} { _P9K_LEFT_PREFIX=$'\n'$_P9K_LEFT_PREFIX }
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $ITERM_SHELL_INTEGRATION_INSTALLED == Yes ]]; then
|
|
||||||
_P9K_LEFT_PREFIX="%{$(iterm2_prompt_mark)%}$_P9K_LEFT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the terminal `LANG` is set to `C`, this theme will not work at all.
|
# If the terminal `LANG` is set to `C`, this theme will not work at all.
|
||||||
if [[ $LANG == "C" && $POWERLEVEL9K_IGNORE_TERM_LANG == false ]]; then
|
if [[ $LANG == "C" && $POWERLEVEL9K_IGNORE_TERM_LANG == false ]]; then
|
||||||
print -P "\t%F{red}WARNING!%f Your terminal's 'LANG' is set to 'C', which breaks this theme!"
|
print -P "\t%F{red}WARNING!%f Your terminal's 'LANG' is set to 'C', which breaks this theme!"
|
||||||
|
|
Loading…
Reference in a new issue