summaryrefslogtreecommitdiff
path: root/internal/wizard.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-07-29 16:38:42 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-07-29 16:38:42 +0300
commit6e85de122f6943e2f39c38055998c3c2b03184a6 (patch)
treefa1f14eb49a64ccf7bddab4a343857600e9cd11c /internal/wizard.zsh
parent71835e31394c5ddec0514cd8e5deb848acdbe45d (diff)
add an option to insert prefixes similar to spaceship
Diffstat (limited to 'internal/wizard.zsh')
-rwxr-xr-xinternal/wizard.zsh65
1 files changed, 55 insertions, 10 deletions
diff --git a/internal/wizard.zsh b/internal/wizard.zsh
index 99f7dde1..9ec5c15d 100755
--- a/internal/wizard.zsh
+++ b/internal/wizard.zsh
@@ -26,37 +26,34 @@ fi
: ${__p9k_root_dir:=${0:h:h:A}}
+typeset -gr __p9k_root_dir
+typeset -gri force
+
source $__p9k_root_dir/internal/configure.zsh || return
typeset -ri prompt_indent=4
-local POWERLEVEL9K_MODE style config_backup gap_char=' '
-local -i num_lines write_config straight empty_line frame=1
-local -i cap_diamond cap_python cap_narrow_icons cap_lock
-local -a extra_icons=('' '')
-
typeset -ra lean_left=(
- '' '%31F$extra_icons[1]%B%39F~%b%31F/%B%39Fpowerlevel10k%b %76F$extra_icons[2]master ⇡2%f '
+ '' '%31F$extra_icons[1]%B%39F~%b%31F/%B%39Fpowerlevel10k%b%f $prefixes[1]%76F$extra_icons[2]master ⇡2%f '
'' '%76F❯%f █'
)
typeset -ra lean_right=(
- ' %134F⎈ minikube%f' ''
+ ' $prefixes[2]%134F⎈ minikube%f' ''
'' ''
)
typeset -ra classic_left=(
- '%240F╭─' '%K{236} %31F$extra_icons[1]%B%39F~%b%K{236}%31F/%B%39Fpowerlevel10k%b%K{236} %244F\uE0B1 %76F$extra_icons[2]master ⇡2 %k%236F\uE0B0%f'
+ '%240F╭─' '%K{236} %31F$extra_icons[1]%B%39F~%b%K{236}%31F/%B%39Fpowerlevel10k%b%K{236} %244F\uE0B1%f $prefixes[1]%76F$extra_icons[2]master ⇡2 %k%236F\uE0B0%f'
'%240F╰─' '%f █'
)
typeset -ra classic_right=(
- '%236F\uE0B2%K{236}%134F minikube ⎈ %k%f' '%240F─╮%f'
+ '%236F\uE0B2%K{236}%f $prefixes[2]%134Fminikube ⎈ %k%f' '%240F─╮%f'
'' '%240F─╯%f'
)
function prompt_length() {
- # eval "1=\"$1\""
local COLUMNS=1024
local -i x y=$#1 m
if (( y )); then
@@ -345,6 +342,36 @@ function ask_extra_icons() {
done
}
+function ask_prefixes() {
+ local fluent=('on ' 'at ')
+ while true; do
+ clear
+ centered "%BPrompt Flow%b"
+ print -P ""
+ print -P "%B(1) Concise.%b"
+ print -P ""
+ prefixes=('' '') print_prompt
+ print -P ""
+ print -P "%B(2) Fluent.%b"
+ print -P ""
+ prefixes=("$fluent[@]") print_prompt
+ print -P ""
+ print -P "(r) Restart from the beginning."
+ print -P ""
+ print -P "(q) Quit and do nothing."
+ print -P ""
+
+ local key=
+ read -k key${(%):-"?%BChoice [12rq]: %b"} || return 1
+ case $key in
+ q) quit; return 1;;
+ r) return 2;;
+ 1) prefixes=('' ''); break;;
+ 2) prefixes=("$fluent[@]"); break;;
+ esac
+ done
+}
+
function ask_straight() {
if [[ $style != classic || $cap_diamond == 0 ]]; then
straight=1
@@ -612,6 +639,16 @@ function generate_config() {
sub TIME_VISUAL_IDENTIFIER_EXPANSION ''
fi
+ if [[ -n ${(j::)prefixes} ]]; then
+ uncomment 'typeset -g POWERLEVEL9K_VCS_PREFIX'
+ uncomment 'typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX'
+ uncomment 'typeset -g POWERLEVEL9K_CONTEXT_PREFIX'
+ uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX'
+ uncomment 'typeset -g POWERLEVEL9K_TIME_PREFIX'
+ sub CONTEXT_TEMPLATE "'%n%f at %180F%m'"
+ sub CONTEXT_ROOT_TEMPLATE "'%n%f at %227F%m'"
+ fi
+
if (( straight )); then
[[ $POWERLEVEL9K_MODE == nerdfont-complete ]] && local subsep='\uE0BD' || local subsep='|'
sub LEFT_SUBSEGMENT_SEPARATOR "'%244F$subsep'"
@@ -661,6 +698,7 @@ function generate_config() {
header+="# Wizard options: $POWERLEVEL9K_MODE"
(( cap_narrow_icons )) && header+=", small icons" || header+=", big icons"
[[ -n ${(j::)extra_icons} ]] && header+=", many icons" || header+=", few icons"
+ [[ -n ${(j::)prefixes} ]] && header+=", fluent" || header+=", concise"
if [[ $style == classic ]]; then
(( straight )) && header+=", straight" || header+=", angled"
fi
@@ -718,6 +756,12 @@ _p9k_can_configure || return
source $__p9k_root_dir/internal/icons.zsh || return
while true; do
+ local POWERLEVEL9K_MODE= style= config_backup= gap_char=' '
+ local -i num_lines=0 write_config=0 straight=0 empty_line=0 frame=1
+ local -i cap_diamond=0 cap_python=0 cap_narrow_icons=0 cap_lock=0
+ local -a extra_icons=('' '')
+ local -a prefixes=('' '')
+
ask_diamond || { (( $? == 2 )) && continue || return }
(( cap_diamond )) || straight=1
if [[ -n $AWESOME_GLYPHS_LOADED ]]; then
@@ -742,6 +786,7 @@ while true; do
ask_narrow_icons || { (( $? == 2 )) && continue || return }
ask_style || { (( $? == 2 )) && continue || return }
ask_extra_icons || { (( $? == 2 )) && continue || return }
+ ask_prefixes || { (( $? == 2 )) && continue || return }
ask_straight || { (( $? == 2 )) && continue || return }
ask_num_lines || { (( $? == 2 )) && continue || return }
ask_gap_char || { (( $? == 2 )) && continue || return }