aboutsummaryrefslogtreecommitdiff
path: root/internal/wizard.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-07-28 11:22:35 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-07-28 11:22:35 +0300
commit1731b69f5f98f52e22b2a2962889bf6c3cfd2c90 (patch)
tree7a445734135506118c889ce587095ee17a853fee /internal/wizard.zsh
parentef57656e882d11e9d5e186b0a06f306e7421c2c0 (diff)
wizard: encode generation source and options
Diffstat (limited to 'internal/wizard.zsh')
-rwxr-xr-xinternal/wizard.zsh33
1 files changed, 22 insertions, 11 deletions
diff --git a/internal/wizard.zsh b/internal/wizard.zsh
index f8283cfe..d37a0add 100755
--- a/internal/wizard.zsh
+++ b/internal/wizard.zsh
@@ -180,19 +180,19 @@ function _p9k_ask_style() {
_p9k_clear
print -P " %BChoose your prompt style%b"
print -P ""
- print -P " %B%3FLean%f%b"
+ print -P " %BLean%b"
print -P ""
print -P " %B%39F~%b%12F/%B%39Fpowerlevel10k%b %76Fmaster ⇡2%f"
print -P " %76F❯%f █"
print -P ""
- print -P " %B%3FClassic%f%b"
+ print -P " %BClassic%b"
print -P ""
print -P " %8F╭─%K{0} %B%39F~%b%K{0}%12F/%B%39Fpowerlevel10k%b%K{0} %244F\uE0B1 %76Fmaster ⇡2 %k%0F\uE0B0"
print -P " %8F╰─%f █"
print -P ""
- print -P "(%B1%b) %B%3FLean%f%b."
+ print -P "(%B1%b) Lean."
print -P ""
- print -P "(%B2%b) %B%4FClassic%f%b."
+ print -P "(%B2%b) Classic."
print -P ""
print -P "%248F(r) Restart from the beginning.%f"
print -P ""
@@ -223,7 +223,7 @@ function _p9k_ask_lines() {
print -P " %K{0} %B%39F~%b%K{0}%12F/%B%39Fpowerlevel10k%b%K{0} %244F\uE0B1 %76Fmaster ⇡2 %k%0F\uE0B0%f █"
fi
print -P ""
- print -P " %BTwo Lines%b"
+ print -P " %BTwo Lines%b"
print -P ""
if [[ $_p9k_style == lean ]]; then
print -P " %B%39F~%b%12F/%B%39Fpowerlevel10k%b %76Fmaster ⇡2%f"
@@ -288,8 +288,9 @@ function _p9k_ask_overwrite() {
}
function _p9k_generate_config() {
- local -a cfg && cfg=("${(@f)$(< $_p9k_root_dir/config/p10k-$_p9k_style.zsh)}") || return
- cfg=("${(@)cfg/# typeset -g POWERLEVEL9K_MODE=*/ typeset -g POWERLEVEL9K_MODE=$POWERLEVEL9K_MODE}")
+ local base && base="$(< $_p9k_root_dir/config/p10k-$_p9k_style.zsh)" || return
+ local lines=("${(@f)base}")
+ lines=("${(@)lines/# typeset -g POWERLEVEL9K_MODE=*/ typeset -g POWERLEVEL9K_MODE=$POWERLEVEL9K_MODE}")
if [[ $POWERLEVEL9K_MODE == (powerline|compatible) && $_p9k_style == lean ]]; then
local exp="''"
elif (( _p9k_caps_narrow_icons )); then
@@ -297,16 +298,26 @@ function _p9k_generate_config() {
else
local exp="'\${P9K_VISUAL_IDENTIFIER}'"
fi
- cfg=("${(@)cfg/# typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION=*/ typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION=$exp}")
+ lines=("${(@)lines/# typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION=*/ typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION=$exp}")
if (( _p9k_lines == 1 )); then
local -a tmp
local line
- for line in "$cfg[@]"; do
+ for line in "$lines[@]"; do
[[ $line == (' newline'|*'===[ Line #'*) ]] || tmp+=$line
done
- cfg=("$tmp[@]")
+ lines=("$tmp[@]")
fi
- print -lr -- "$cfg[@]" >$zd/.p10k.zsh
+ local header=${(%):-"# Generated by Powerlevel10k configuration wizard on %D{%Y-%m-%d at %H:%M %Z}."}$'\n'
+ header+="# Based on romkatv/powerlevel10k/config/p10k-$_p9k_style.zsh"
+ if [[ $commands[sum] == ('/bin'|'/usr/bin'|'/usr/local/bin')'/sum' ]]; then
+ local -a sum
+ if sum=($(sum <<<${base//$'\r\n'/$'\n'} 2>/dev/null)) && (( $#sum == 2 )); then
+ header+=", checksum $sum[1]"
+ fi
+ fi
+ header+=$'.\n'
+ header+="# Wizard options: font=$POWERLEVEL9K_MODE, lines=$_p9k_lines, narrow-icons=$_p9k_caps_narrow_icons."$'\n#'
+ print -lr -- "$header" "$lines[@]" >$zd/.p10k.zsh
}
function _p9k_configure() {