@kecan0406/ttheme 1.2.17 → 1.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -17
- package/bin/ttheme.js +233 -221
- package/bin/ttheme.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/package.json +9 -7
- package/shell/adapters/_bg.zsh +7 -6
- package/shell/adapters/_osc.zsh +20 -4
- package/shell/adapters/ghostty.zsh +1 -1
- package/shell/adapters/iterm2.zsh +6 -3
- package/shell/adapters/kitty.zsh +1 -1
- package/shell/adapters/konsole.zsh +1 -1
- package/shell/adapters/terminal-app.zsh +1 -1
- package/shell/adapters/warp.zsh +1 -1
- package/shell/adapters/wezterm.zsh +1 -1
- package/shell/preview.zsh +261 -113
- package/shell/ttheme.zsh +114 -39
package/shell/ttheme.zsh
CHANGED
|
@@ -2,6 +2,21 @@ typeset -g TTHEME_HOME=${${(%):-%x}:A:h} TTHEME_PALETTES_AT=""
|
|
|
2
2
|
|
|
3
3
|
zmodload -F zsh/stat b:zstat 2>/dev/null
|
|
4
4
|
|
|
5
|
+
typeset -gA TTHEME_SGR=(
|
|
6
|
+
reset $'\e[0m' /fg $'\e[39m' /bg $'\e[49m' /ink $'\e[39;49m'
|
|
7
|
+
dim $'\e[2m' /dim $'\e[22m'
|
|
8
|
+
bold $'\e[1m' /bold $'\e[22m'
|
|
9
|
+
under $'\e[4m' /under $'\e[24m'
|
|
10
|
+
reverse $'\e[7m' /reverse $'\e[27m'
|
|
11
|
+
accent $'\e[36m' /accent $'\e[39m'
|
|
12
|
+
pill $'\e[7;1;36m' /pill $'\e[22;27;39m'
|
|
13
|
+
match $'\e[1;4;36m' /match $'\e[22;24;39m'
|
|
14
|
+
ok $'\e[32m' /ok $'\e[39m'
|
|
15
|
+
warn $'\e[33m' /warn $'\e[39m'
|
|
16
|
+
error $'\e[31m' /error $'\e[39m'
|
|
17
|
+
fg0 $'\e[30m' fg1 $'\e[31m' fg2 $'\e[32m' fg3 $'\e[33m' fg4 $'\e[34m' fg5 $'\e[35m' fg6 $'\e[36m' fg7 $'\e[37m'
|
|
18
|
+
)
|
|
19
|
+
|
|
5
20
|
__tt_palettes_load() {
|
|
6
21
|
emulate -L zsh ${=${options[xtrace]:#off}:+-o xtrace}
|
|
7
22
|
local -a at
|
|
@@ -11,16 +26,38 @@ __tt_palettes_load() {
|
|
|
11
26
|
TTHEME_PALETTES_AT=$at[1]
|
|
12
27
|
}
|
|
13
28
|
|
|
29
|
+
__tt_specs_named() {
|
|
30
|
+
local v REPLY
|
|
31
|
+
reply=()
|
|
32
|
+
for v in TTHEME_SPEC TTHEME_PIN_SPEC TTHEME_BASE_SPEC TTHEME_SSH_SPEC TTHEME_SSH_BACK; do
|
|
33
|
+
[[ -n ${(P)v} ]] || continue
|
|
34
|
+
__tt_name_of "${(P)v}"
|
|
35
|
+
[[ -n ${TTHEME_PALETTE[$REPLY]} ]] && reply+=($v $REPLY)
|
|
36
|
+
done
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
__tt_respec() {
|
|
40
|
+
local spec=$TTHEME_SPEC v n worn
|
|
41
|
+
for v n in "$@"; do
|
|
42
|
+
[[ -n ${TTHEME_PALETTE[$n]} ]] || continue
|
|
43
|
+
typeset -g $v=${TTHEME_PALETTE[$n]}
|
|
44
|
+
[[ $v == TTHEME_SPEC ]] && worn=$n
|
|
45
|
+
done
|
|
46
|
+
[[ -n $worn && -n $TTHEME_PAINTED && $TTHEME_SPEC != "$spec" ]] && __tt_wear "$TTHEME_SPEC" $worn
|
|
47
|
+
return 0
|
|
48
|
+
}
|
|
49
|
+
|
|
14
50
|
__tt_fresh() {
|
|
15
51
|
emulate -L zsh ${=${options[xtrace]:#off}:+-o xtrace}
|
|
16
|
-
local -a at
|
|
52
|
+
local -a at reply
|
|
17
53
|
local was=$TTHEME_STARTUP start="$TTHEME_STARTUP ${TTHEME_PALETTE[$TTHEME_STARTUP]}"
|
|
18
54
|
if ! zstat -F %s.%N -A at +mtime -- $TTHEME_HOME/palettes.zsh 2>/dev/null; then
|
|
19
55
|
[[ -e $TTHEME_HOME ]] || __tt_gone
|
|
20
56
|
return 0
|
|
21
57
|
fi
|
|
22
58
|
if [[ $at[1] != "$TTHEME_PALETTES_AT" ]]; then
|
|
23
|
-
|
|
59
|
+
__tt_specs_named
|
|
60
|
+
__tt_palettes_load && { __tt_respec $reply; __tt_follow "$start" && __tt_sync; __tt_reloaded }
|
|
24
61
|
[[ -n $was && -z $TTHEME_STARTUP && -n $TTHEME_SPEC ]] && __tt_active && __tt_off_here
|
|
25
62
|
fi
|
|
26
63
|
at=("")
|
|
@@ -75,7 +112,7 @@ fi
|
|
|
75
112
|
|
|
76
113
|
typeset -g TTHEME_CONFIG=${XDG_CONFIG_HOME:-$HOME/.config}/ttheme/config.zsh
|
|
77
114
|
|
|
78
|
-
[[ -r $TTHEME_CONFIG ]] && source $TTHEME_CONFIG
|
|
115
|
+
[[ -r $TTHEME_CONFIG ]] && source "$TTHEME_CONFIG"
|
|
79
116
|
|
|
80
117
|
typeset -g TTHEME_PINS_FILE=${TTHEME_CONFIG:h}/pins
|
|
81
118
|
typeset -g TTHEME_PINS_RAW="" TTHEME_PINS_AT=""
|
|
@@ -268,10 +305,10 @@ __tt_mend() {
|
|
|
268
305
|
__tt_apply "$TTHEME_SPEC"
|
|
269
306
|
}
|
|
270
307
|
|
|
271
|
-
source $TTHEME_HOME/adapters/_osc.zsh
|
|
272
|
-
source $TTHEME_HOME/adapters/_wired.zsh
|
|
308
|
+
source "$TTHEME_HOME/adapters/_osc.zsh"
|
|
309
|
+
source "$TTHEME_HOME/adapters/_wired.zsh"
|
|
273
310
|
[[ -r $TTHEME_HOME/adapters/$TTHEME_ADAPTER.zsh ]] &&
|
|
274
|
-
source $TTHEME_HOME/adapters/$TTHEME_ADAPTER.zsh
|
|
311
|
+
source "$TTHEME_HOME/adapters/$TTHEME_ADAPTER.zsh"
|
|
275
312
|
|
|
276
313
|
__tt_empty() {
|
|
277
314
|
print -u2 'ttheme: no palettes installed yet — run `ttheme` in a terminal to pick some, or `ttheme add <palette>`'
|
|
@@ -283,7 +320,7 @@ __tt_name_of() { REPLY=${${(k)TTHEME_PALETTE[(re)$1]}:-custom} }
|
|
|
283
320
|
__tt_color() { [[ -t 1 && -z $NO_COLOR && $TERM != dumb ]] }
|
|
284
321
|
|
|
285
322
|
__tt_announce() {
|
|
286
|
-
(( TTHEME_ANNOUNCE )) || return 0
|
|
323
|
+
(( TTHEME_ANNOUNCE )) && [[ -t 1 ]] || return 0
|
|
287
324
|
local -a p=(${=TTHEME_SPEC})
|
|
288
325
|
(( ${#p} >= 20 )) || return 0
|
|
289
326
|
local REPLY
|
|
@@ -296,7 +333,7 @@ __tt_announce() {
|
|
|
296
333
|
return 0
|
|
297
334
|
fi
|
|
298
335
|
local cur=${p[3]#\#} sel=${p[4]#\#}
|
|
299
|
-
printf
|
|
336
|
+
printf "\033[48;2;%d;%d;%dm %s ${TTHEME_SGR[reset]}\n${TTHEME_SGR[reverse]}${TTHEME_SGR[bold]}\033[38;2;%d;%d;%dm %s ${TTHEME_SGR[reset]} ${TTHEME_SGR[dim]}· ANSI %s${TTHEME_SGR[reset]}\n" \
|
|
300
337
|
$((16#${sel:0:2})) $((16#${sel:2:2})) $((16#${sel:4:2})) "$grp" \
|
|
301
338
|
$((16#${cur:0:2})) $((16#${cur:2:2})) $((16#${cur:4:2})) "$name" "$src"
|
|
302
339
|
}
|
|
@@ -626,7 +663,7 @@ __tt_pin_save() {
|
|
|
626
663
|
k=$REPLY
|
|
627
664
|
__tt_pin_scope "$key"
|
|
628
665
|
if __tt_color; then
|
|
629
|
-
printf
|
|
666
|
+
printf "${TTHEME_SGR[dim]}Pinned · %s → %s · %s${TTHEME_SGR[reset]}\n" "$name" "$k" "$REPLY"
|
|
630
667
|
else
|
|
631
668
|
print -r -- "Pinned · $name → $k · $REPLY"
|
|
632
669
|
fi
|
|
@@ -656,7 +693,7 @@ __tt_unpin_drop() {
|
|
|
656
693
|
__tt_dir_sync
|
|
657
694
|
for k in $gone; do
|
|
658
695
|
if __tt_color; then
|
|
659
|
-
print -r -- $
|
|
696
|
+
print -r -- $TTHEME_SGR[dim]"$k"$TTHEME_SGR[reset]
|
|
660
697
|
else
|
|
661
698
|
print -r -- "$k"
|
|
662
699
|
fi
|
|
@@ -692,6 +729,14 @@ __tt_key() {
|
|
|
692
729
|
C) REPLY=right ;;
|
|
693
730
|
D) REPLY=left ;;
|
|
694
731
|
Z) REPLY=stab ;;
|
|
732
|
+
"200~")
|
|
733
|
+
seq=""
|
|
734
|
+
while read -sk 1 -t 0.5 c; do
|
|
735
|
+
seq+=$c
|
|
736
|
+
[[ $c == '~' && $seq == *$'\e[201~' ]] && break
|
|
737
|
+
done
|
|
738
|
+
REPLY=nop
|
|
739
|
+
;;
|
|
695
740
|
*) REPLY=nop ;;
|
|
696
741
|
esac
|
|
697
742
|
else
|
|
@@ -706,13 +751,13 @@ __tt_key() {
|
|
|
706
751
|
}
|
|
707
752
|
|
|
708
753
|
__tt_unpin_block() {
|
|
709
|
-
local b=$
|
|
754
|
+
local b=$TTHEME_SGR[bold] d=$TTHEME_SGR[dim] z=$TTHEME_SGR[reset] on=$TTHEME_SGR[pill] bar plain keys top k home=${HOME:a} here=${PWD:a} htip="" REPLY
|
|
710
755
|
local -A own=() below=() parent=() mark=() tstrip=()
|
|
711
756
|
local -a roots=() lp=() lpw=() ll=() lat=() lpal=() lnote=() lflag=() reply gone=(${(f)drops[$1]})
|
|
712
757
|
local -i i width=$(( (COLUMNS > 0 ? COLUMNS : 80) - 1 )) room=$(( (LINES > 0 ? LINES : 24) - 3 ))
|
|
713
758
|
(( color )) || b= d= z= on=
|
|
714
759
|
if (( color )); then
|
|
715
|
-
bar=$
|
|
760
|
+
bar=$TTHEME_SGR[pill]" UNPIN "$TTHEME_SGR[reset]" " plain=" UNPIN "
|
|
716
761
|
else
|
|
717
762
|
bar="[UNPIN]" plain=$bar
|
|
718
763
|
fi
|
|
@@ -738,7 +783,7 @@ __tt_unpin_block() {
|
|
|
738
783
|
[[ -n $cover ]] && __tt_pin_base "$cover" && top=$REPLY
|
|
739
784
|
__tt_map_build "$top"
|
|
740
785
|
__tt_map_fit $width
|
|
741
|
-
(( ${#reply} > room )) && reply=("${(@)reply[1,room-1]}" "
|
|
786
|
+
(( ${#reply} > room )) && reply=("${(@)reply[1,room-1]}" " …")
|
|
742
787
|
block=("$bar" "${reply[@]}")
|
|
743
788
|
__tt_unpin_then $width $gone
|
|
744
789
|
block+=("${reply[@]}")
|
|
@@ -758,7 +803,7 @@ __tt_unpin_choose() {
|
|
|
758
803
|
chosen=0
|
|
759
804
|
{
|
|
760
805
|
tty=$(stty -g 2>/dev/null && stty -echo -icanon -ixon min 1 time 0 2>/dev/null)
|
|
761
|
-
print -rn -- $'\e[?25l'
|
|
806
|
+
print -rn -- $'\e[?25l\e[?2004h'
|
|
762
807
|
while :; do
|
|
763
808
|
__tt_unpin_block $at
|
|
764
809
|
__tt_unpin_paint $n
|
|
@@ -774,7 +819,7 @@ __tt_unpin_choose() {
|
|
|
774
819
|
} always {
|
|
775
820
|
REPLY=$'\r'
|
|
776
821
|
(( n > 1 )) && REPLY+=$'\e['$(( n - 1 ))'A'
|
|
777
|
-
print -rn -- "$REPLY"$'\e[J\e[?25h'
|
|
822
|
+
print -rn -- "$REPLY"$'\e[J\e[?2004l\e[?25h'
|
|
778
823
|
[[ -n $tty ]] && stty "$tty" 2>/dev/null
|
|
779
824
|
}
|
|
780
825
|
(( chosen ))
|
|
@@ -909,7 +954,7 @@ __tt_clip() {
|
|
|
909
954
|
(( w += cw ))
|
|
910
955
|
done
|
|
911
956
|
REPLY=$out…
|
|
912
|
-
[[ $1 == *$'\e'* ]] && REPLY+=$
|
|
957
|
+
[[ $1 == *$'\e'* ]] && REPLY+=$TTHEME_SGR[reset]
|
|
913
958
|
return 1
|
|
914
959
|
}
|
|
915
960
|
|
|
@@ -923,14 +968,15 @@ __tt_map_tip() {
|
|
|
923
968
|
|
|
924
969
|
__tt_map_chip() {
|
|
925
970
|
local -a p=(${=TTHEME_PALETTE[$1]})
|
|
926
|
-
local bg=${p[1]#\#} fg=${p[2]#\#}
|
|
971
|
+
local bg=${p[1]#\#} fg=${p[2]#\#} name=$1
|
|
972
|
+
(( ${#name} > $2 )) && name=${name[1,$2-1]}…
|
|
927
973
|
if (( ! color )); then
|
|
928
|
-
printf -v REPLY '%-*s' $2 "$
|
|
974
|
+
printf -v REPLY '%-*s' $2 "$name"
|
|
929
975
|
elif (( ${#p} >= 20 )); then
|
|
930
|
-
printf -v REPLY
|
|
931
|
-
$((16#${fg:0:2})) $((16#${fg:2:2})) $((16#${fg:4:2})) $2 "$
|
|
976
|
+
printf -v REPLY "\e[48;2;%d;%d;%d;38;2;%d;%d;%dm %-*s ${TTHEME_SGR[/ink]}" $((16#${bg:0:2})) $((16#${bg:2:2})) $((16#${bg:4:2})) \
|
|
977
|
+
$((16#${fg:0:2})) $((16#${fg:2:2})) $((16#${fg:4:2})) $2 "$name"
|
|
932
978
|
else
|
|
933
|
-
printf -v REPLY
|
|
979
|
+
printf -v REPLY "${TTHEME_SGR[dim]} %-*s ${TTHEME_SGR[reset]}" $2 "$name"
|
|
934
980
|
fi
|
|
935
981
|
}
|
|
936
982
|
|
|
@@ -1016,22 +1062,22 @@ __tt_map_line() {
|
|
|
1016
1062
|
}
|
|
1017
1063
|
|
|
1018
1064
|
__tt_map_walk() {
|
|
1019
|
-
local at=$1 pre=$2 tip z=$
|
|
1065
|
+
local at=$1 pre=$2 tip z=$TTHEME_SGR[reset] REPLY
|
|
1020
1066
|
local -i i
|
|
1021
1067
|
local -a ks=(${(oi)${(k)parent[(Re)$1]}}) reply
|
|
1022
1068
|
(( color )) || z=
|
|
1023
1069
|
__tt_map_under "$at"
|
|
1024
1070
|
__tt_map_tip "$REPLY"
|
|
1025
1071
|
tip=$REPLY
|
|
1026
|
-
(( color )) && [[ -z $tip ]] && tip=$
|
|
1072
|
+
(( color )) && [[ -z $tip ]] && tip=$TTHEME_SGR[dim]
|
|
1027
1073
|
for (( i = 1; i <= ${#ks}; i++ )); do
|
|
1028
1074
|
__tt_map_chain "$ks[i]" "${ks[i]:t}"
|
|
1029
1075
|
if (( i < ${#ks} )); then
|
|
1030
|
-
__tt_map_line "$reply[1]" "$pre$tip
|
|
1031
|
-
__tt_map_walk "$reply[1]" "$pre$tip│
|
|
1076
|
+
__tt_map_line "$reply[1]" "$pre$tip├── $z" $(( $3 + 4 )) "$reply[2]/"
|
|
1077
|
+
__tt_map_walk "$reply[1]" "$pre$tip│ $z" $(( $3 + 4 ))
|
|
1032
1078
|
else
|
|
1033
|
-
__tt_map_line "$reply[1]" "$pre$tip
|
|
1034
|
-
__tt_map_walk "$reply[1]" "$pre
|
|
1079
|
+
__tt_map_line "$reply[1]" "$pre$tip└── $z" $(( $3 + 4 )) "$reply[2]/"
|
|
1080
|
+
__tt_map_walk "$reply[1]" "$pre " $(( $3 + 4 ))
|
|
1035
1081
|
fi
|
|
1036
1082
|
done
|
|
1037
1083
|
}
|
|
@@ -1072,8 +1118,8 @@ __tt_map_build() {
|
|
|
1072
1118
|
}
|
|
1073
1119
|
|
|
1074
1120
|
__tt_map_fit() {
|
|
1075
|
-
local b=$
|
|
1076
|
-
local -i width=$1 i lvl maxw namew need wr cap
|
|
1121
|
+
local b=$TTHEME_SGR[bold] d=$TTHEME_SGR[dim] y=$TTHEME_SGR[warn] r=$TTHEME_SGR[error] z=$TTHEME_SGR[reset] lab line tag tip note REPLY
|
|
1122
|
+
local -i width=$1 i lvl maxw namew need wr cap short
|
|
1077
1123
|
local -a lw=() rw=() cut=()
|
|
1078
1124
|
(( color )) || b= d= y= r= z=
|
|
1079
1125
|
reply=()
|
|
@@ -1112,11 +1158,16 @@ __tt_map_fit() {
|
|
|
1112
1158
|
(( lvl > 3 )) && lvl=3
|
|
1113
1159
|
cut=()
|
|
1114
1160
|
if (( need > width )); then
|
|
1115
|
-
cap=0
|
|
1161
|
+
cap=0 short=0
|
|
1116
1162
|
for (( i = 1; i <= ${#ll}; i++ )); do
|
|
1117
1163
|
(( rw[i] > cap )) && cap=$rw[i]
|
|
1164
|
+
(( rw[i] && lw[i] - ${(m)#ll[i]} + 1 > short )) && short=$(( lw[i] - ${(m)#ll[i]} + 1 ))
|
|
1118
1165
|
done
|
|
1119
1166
|
cap=$(( width - cap ))
|
|
1167
|
+
if (( short > cap )); then
|
|
1168
|
+
short=$(( short - cap > namew - 4 ? namew - 4 : short - cap ))
|
|
1169
|
+
(( short > 0 )) && (( namew -= short, cap += short ))
|
|
1170
|
+
fi
|
|
1120
1171
|
maxw=0
|
|
1121
1172
|
for (( i = 1; i <= ${#ll}; i++ )); do
|
|
1122
1173
|
wr=$(( rw[i] ? cap : width ))
|
|
@@ -1165,16 +1216,30 @@ __tt_map_fit() {
|
|
|
1165
1216
|
fi
|
|
1166
1217
|
fi
|
|
1167
1218
|
while [[ $line == *' ' ]]; do line=${line% }; done
|
|
1219
|
+
if (( need > width )); then
|
|
1220
|
+
__tt_clip "$line" $width
|
|
1221
|
+
line=$REPLY
|
|
1222
|
+
fi
|
|
1168
1223
|
reply+=("$line")
|
|
1169
1224
|
done
|
|
1170
1225
|
}
|
|
1171
1226
|
|
|
1172
1227
|
__tt_map_ssh() {
|
|
1173
|
-
local k name flag
|
|
1174
|
-
|
|
1175
|
-
|
|
1228
|
+
local k name flag tip=$TTHEME_SGR[dim] z=$TTHEME_SGR[reset]
|
|
1229
|
+
local -a ks=(${(oi)${(M)${(k)TTHEME_PINS}:#ssh:*}})
|
|
1230
|
+
local -i i
|
|
1231
|
+
(( ${#ks} )) || return 0
|
|
1232
|
+
(( color )) || tip= z=
|
|
1233
|
+
lp+=("") lpw+=(0) ll+=(ssh) lat+=(ssh:) lpal+=("") lnote+=("") lflag+=("")
|
|
1234
|
+
for (( i = 1; i <= ${#ks}; i++ )); do
|
|
1235
|
+
k=$ks[i] name=$TTHEME_PINS[$ks[i]] flag=""
|
|
1176
1236
|
[[ -n ${TTHEME_PALETTE[$name]} ]] || flag="not installed"
|
|
1177
|
-
|
|
1237
|
+
if (( i < ${#ks} )); then
|
|
1238
|
+
lp+=("$tip├── $z")
|
|
1239
|
+
else
|
|
1240
|
+
lp+=("$tip└── $z")
|
|
1241
|
+
fi
|
|
1242
|
+
lpw+=(4) ll+=("${k#ssh:}") lat+=("$k") lpal+=("$name") lnote+=("while connected") lflag+=("$flag")
|
|
1178
1243
|
done
|
|
1179
1244
|
}
|
|
1180
1245
|
|
|
@@ -1193,7 +1258,7 @@ __tt_map_tree() {
|
|
|
1193
1258
|
print -r -- "$REPLY"
|
|
1194
1259
|
__tt_tilde "$TTHEME_PINS_FILE"
|
|
1195
1260
|
if (( color )); then
|
|
1196
|
-
__tt_clip $
|
|
1261
|
+
__tt_clip $TTHEME_SGR[dim]"ttheme pin picks one here · ttheme unpin drops one · $REPLY"$TTHEME_SGR[reset] $width
|
|
1197
1262
|
else
|
|
1198
1263
|
__tt_clip "ttheme pin picks one here · ttheme unpin drops one · $REPLY" $width
|
|
1199
1264
|
fi
|
|
@@ -1228,7 +1293,7 @@ __tt_keep() {
|
|
|
1228
1293
|
__tt_worn_shown $2
|
|
1229
1294
|
__tt_reload
|
|
1230
1295
|
if __tt_color; then
|
|
1231
|
-
printf
|
|
1296
|
+
printf "${TTHEME_SGR[dim]}%s${TTHEME_SGR[reset]}\n" "${(@f)note}"
|
|
1232
1297
|
else
|
|
1233
1298
|
print -r -- "$note"
|
|
1234
1299
|
fi
|
|
@@ -1311,7 +1376,10 @@ __tt_catalog() {
|
|
|
1311
1376
|
__tt_catalog_done() {
|
|
1312
1377
|
[[ -r $TTHEME_HOME/palettes.zsh ]] || return 0
|
|
1313
1378
|
local was=$TTHEME_PALETTES_AT
|
|
1379
|
+
local -a reply
|
|
1380
|
+
__tt_specs_named
|
|
1314
1381
|
if __tt_palettes_load && [[ $TTHEME_PALETTES_AT != "$was" ]]; then
|
|
1382
|
+
__tt_respec $reply
|
|
1315
1383
|
__tt_reloaded
|
|
1316
1384
|
fi
|
|
1317
1385
|
[[ "$TTHEME_STARTUP ${TTHEME_PALETTE[$TTHEME_STARTUP]}" == "$1" ]] && return 0
|
|
@@ -1335,14 +1403,16 @@ __tt_switch() {
|
|
|
1335
1403
|
}
|
|
1336
1404
|
|
|
1337
1405
|
__tt_config() {
|
|
1338
|
-
local blur
|
|
1406
|
+
local blur tab
|
|
1339
1407
|
if [[ ! -e $TTHEME_CONFIG ]]; then
|
|
1340
1408
|
mkdir -p ${TTHEME_CONFIG:h} || return 1
|
|
1341
1409
|
__tt_put $TTHEME_CONFIG "$TTHEME_CONFIG_TEMPLATE"
|
|
1342
1410
|
fi
|
|
1343
1411
|
blur=${(M)${(@f)"$(<$TTHEME_CONFIG)"}:#': ${TTHEME_BG_BLUR:='*}
|
|
1412
|
+
tab=${(M)${(@f)"$(<$TTHEME_CONFIG)"}:#': ${TTHEME_TAB_PALETTE:='*}
|
|
1344
1413
|
${=${VISUAL:-${EDITOR:-vi}}} $TTHEME_CONFIG || return
|
|
1345
1414
|
[[ ${(M)${(@f)"$(<$TTHEME_CONFIG)"}:#': ${TTHEME_BG_BLUR:='*} == "$blur" ]] || __tt_redraw
|
|
1415
|
+
[[ ${(M)${(@f)"$(<$TTHEME_CONFIG)"}:#': ${TTHEME_TAB_PALETTE:='*} == "$tab" ]] || { __tt_cli sync && __tt_reload }
|
|
1346
1416
|
print -r -- "Settings apply in new tabs — $TTHEME_CONFIG"
|
|
1347
1417
|
}
|
|
1348
1418
|
|
|
@@ -1429,7 +1499,7 @@ __tt_next() {
|
|
|
1429
1499
|
REPLY=${TTHEME_PALETTE[$TTHEME_ORDER[idx]]}
|
|
1430
1500
|
}
|
|
1431
1501
|
|
|
1432
|
-
source $TTHEME_HOME/preview.zsh
|
|
1502
|
+
source "$TTHEME_HOME/preview.zsh"
|
|
1433
1503
|
|
|
1434
1504
|
__tt_hook() {
|
|
1435
1505
|
autoload -Uz add-zsh-hook add-zle-hook-widget
|
|
@@ -1488,7 +1558,12 @@ ttheme() {
|
|
|
1488
1558
|
fi
|
|
1489
1559
|
|
|
1490
1560
|
case $1 in
|
|
1491
|
-
list|add|remove|update|market|new
|
|
1561
|
+
list|add|remove|update|market|new) __tt_catalog "$@"; return ;;
|
|
1562
|
+
edit|check|share)
|
|
1563
|
+
local REPLY
|
|
1564
|
+
__tt_name_of "$TTHEME_SPEC"
|
|
1565
|
+
TTHEME_WORN=${TTHEME_PALETTE[$REPLY]:+$REPLY} __tt_catalog "$@"
|
|
1566
|
+
return ;;
|
|
1492
1567
|
on|off) __tt_switch "$@"; return ;;
|
|
1493
1568
|
info) TTHEME_ZSH=$ZSH_VERSION __tt_cli "$@"; return ;;
|
|
1494
1569
|
esac
|