@kecan0406/ttheme 1.0.45 → 1.0.46
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/bin/ttheme.js +154 -154
- package/bin/ttheme.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/package.json +1 -1
- package/shell/ttheme.zsh +65 -68
package/dist/manifest.json
CHANGED
package/package.json
CHANGED
package/shell/ttheme.zsh
CHANGED
|
@@ -169,15 +169,22 @@ __tt_name_of() { REPLY=${${(k)TTHEME_PALETTE[(re)$1]}:-custom} }
|
|
|
169
169
|
__tt_color() { [[ -t 1 && -z $NO_COLOR && $TERM != dumb ]] }
|
|
170
170
|
|
|
171
171
|
__tt_palette_line() {
|
|
172
|
-
local name=$1
|
|
173
|
-
local -a p=(${=TTHEME_PALETTE[$name]})
|
|
172
|
+
local name=$1 width=$2 on=$3 hex cell="" bar=""
|
|
173
|
+
local -a p=(${=TTHEME_PALETTE[$name]}) sw=(${=TTHEME_SWATCH[$name]})
|
|
174
174
|
(( ${#p} >= 20 )) || return 1
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
for hex in $sw; do
|
|
176
|
+
hex=${hex#\#}
|
|
177
|
+
cell+=$'\e[38;2;'$((16#${hex:0:2}))';'$((16#${hex:2:2}))';'$((16#${hex:4:2}))'m■ '
|
|
178
|
+
done
|
|
179
|
+
if [[ -n $on ]]; then
|
|
180
|
+
local cur=${p[3]#\#} sel=${p[4]#\#} fg=${p[2]#\#} ac
|
|
181
|
+
printf -v ac '\e[38;2;%d;%d;%dm' $((16#${cur:0:2})) $((16#${cur:2:2})) $((16#${cur:4:2}))
|
|
182
|
+
printf -v bar '\e[48;2;%d;%d;%d;38;2;%d;%d;%dm' \
|
|
183
|
+
$((16#${sel:0:2})) $((16#${sel:2:2})) $((16#${sel:4:2})) $((16#${fg:0:2})) $((16#${fg:2:2})) $((16#${fg:4:2}))
|
|
184
|
+
printf '%s▌\e[39m %s %s■\e[39m \e[1m%-*s\e[22m %s\e[0m\n' "$ac" "$bar" "$ac" "$width" "$name" "$cell"
|
|
185
|
+
else
|
|
186
|
+
printf ' %-*s %s\e[0m\n' "$width" "$name" "$cell"
|
|
187
|
+
fi
|
|
181
188
|
}
|
|
182
189
|
|
|
183
190
|
__tt_announce() {
|
|
@@ -384,8 +391,9 @@ __tt_order() {
|
|
|
384
391
|
}
|
|
385
392
|
|
|
386
393
|
__tt_menu() {
|
|
387
|
-
local k cur=""
|
|
394
|
+
local k cur="" grp last_grp="" REPLY
|
|
388
395
|
local -a reply
|
|
396
|
+
local -i width=0
|
|
389
397
|
__tt_order
|
|
390
398
|
if ! __tt_color; then
|
|
391
399
|
for k in $reply; do
|
|
@@ -394,27 +402,21 @@ __tt_menu() {
|
|
|
394
402
|
return 0
|
|
395
403
|
fi
|
|
396
404
|
[[ -n $TTHEME_SPEC ]] && __tt_name_of "$TTHEME_SPEC" && cur=$REPLY
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
local ch=${cp[3]#\#}
|
|
401
|
-
printf -v gutter '\033[38;2;%d;%d;%dm◆\033[0m ' \
|
|
402
|
-
$((16#${ch:0:2})) $((16#${ch:2:2})) $((16#${ch:4:2}))
|
|
403
|
-
fi
|
|
405
|
+
for k in $reply; do
|
|
406
|
+
(( ${#k} > width )) && width=${#k}
|
|
407
|
+
done
|
|
404
408
|
for k in $reply; do
|
|
405
409
|
grp=${TTHEME_GROUP[$k]:-Other}
|
|
406
410
|
if [[ $grp != $last_grp ]]; then
|
|
407
|
-
[[ $grp == *@* && $last_grp != *@* && -n $last_grp ]] && printf '\033[2m── markets ──────────\033[0m\n'
|
|
408
|
-
printf '\033[1m%s\033[0m' "$grp"
|
|
411
|
+
[[ $grp == *@* && $last_grp != *@* && -n $last_grp ]] && printf ' \033[2m── markets ──────────\033[0m\n'
|
|
412
|
+
printf ' \033[1m%s\033[0m' "$grp"
|
|
409
413
|
[[ -n ${TTHEME_NATIVE[$k]} ]] && printf ' \033[2m%s\033[0m' "${TTHEME_NATIVE[$k]}"
|
|
410
414
|
printf '\n'
|
|
411
415
|
last_grp=$grp
|
|
412
416
|
fi
|
|
413
|
-
|
|
414
|
-
[[ $k == $cur ]] && mark=$gutter
|
|
415
|
-
__tt_palette_line "$k" "$mark"
|
|
417
|
+
__tt_palette_line "$k" $width ${${(M)k:#$cur}:+1}
|
|
416
418
|
done
|
|
417
|
-
printf '\n\033[2mttheme use <palette> paints this tab · ttheme preview · ttheme help\033[0m\n'
|
|
419
|
+
printf '\n \033[2mttheme use <palette> paints this tab · ttheme preview · ttheme help\033[0m\n'
|
|
418
420
|
}
|
|
419
421
|
|
|
420
422
|
__tt_help() {
|
|
@@ -734,19 +736,22 @@ __tt_pv_hl() {
|
|
|
734
736
|
}
|
|
735
737
|
|
|
736
738
|
__tt_pv_row() {
|
|
737
|
-
local t=${rval[$1]} b=$'\e[1m' d=$'\e[2m' r=$'\e[22;24;39m' z=$'\e[0m' on="" base="" lead=$'\e[2m' mark=" " name arrow=▸
|
|
739
|
+
local t=${rval[$1]} b=$'\e[1m' d=$'\e[2m' r=$'\e[22;24;39m' z=$'\e[0m' on="" gut=" " base="" lead=$'\e[2m' mark=" " name arrow=▸
|
|
738
740
|
local -i w
|
|
739
741
|
(( color )) || b= d= r= z= lead=
|
|
740
|
-
(( $1 == cur
|
|
742
|
+
if (( $1 == cur )); then
|
|
743
|
+
gut=$ac"▌"$r" "
|
|
744
|
+
(( color )) && on=$sb
|
|
745
|
+
fi
|
|
741
746
|
if [[ ${rtype[$1]} == rule ]]; then
|
|
742
747
|
name='── markets '
|
|
743
|
-
REPLY
|
|
748
|
+
REPLY=" "$d$name${(l:lw - 4 - ${#name}::─:)}$z
|
|
744
749
|
return 0
|
|
745
750
|
fi
|
|
746
751
|
if [[ ${rtype[$1]} == hdr ]]; then
|
|
747
752
|
[[ -n $flt || -n ${exp[$t]} ]] && arrow=▾
|
|
748
753
|
name=$t
|
|
749
|
-
(( ${(m)#name} > lw -
|
|
754
|
+
(( ${(m)#name} > lw - 10 )) && name="${name[1,lw-11]}…"
|
|
750
755
|
base=$b
|
|
751
756
|
if (( color )) && [[ $t == "$ag" ]]; then
|
|
752
757
|
base+=$ac lead=$ac
|
|
@@ -754,24 +759,24 @@ __tt_pv_row() {
|
|
|
754
759
|
lead=""
|
|
755
760
|
fi
|
|
756
761
|
__tt_pv_hl "$name" "$base"
|
|
757
|
-
w=$(( lw -
|
|
762
|
+
w=$(( lw - 6 - ${(m)#name} - ${#rcnt[$1]} ))
|
|
758
763
|
(( w < 1 )) && w=1
|
|
759
|
-
REPLY=$on$lead$arrow$r" "$base$REPLY$r${(l:w:: :)}$d${rcnt[$1]}$z
|
|
764
|
+
REPLY=$gut$on" "$lead$arrow$r" "$base$REPLY$r${(l:w:: :)}$d${rcnt[$1]}$r" "$z
|
|
760
765
|
return 0
|
|
761
766
|
fi
|
|
762
767
|
if (( $1 == cur )); then
|
|
763
|
-
mark=$
|
|
768
|
+
mark=$ac"■"$r base=$b
|
|
764
769
|
elif [[ -n $cdot && $t == "$cn" ]]; then
|
|
765
770
|
mark=$cdot
|
|
766
771
|
fi
|
|
767
772
|
__tt_pv_hl "$t" "$base"
|
|
768
773
|
if (( color )); then
|
|
769
774
|
[[ -n ${tstrip[$t]} ]] || __tt_pv_strip $t
|
|
770
|
-
w=$(( lw -
|
|
775
|
+
w=$(( lw - 19 - ${#t} ))
|
|
771
776
|
(( w < 1 )) && w=1
|
|
772
|
-
REPLY
|
|
777
|
+
REPLY=$gut$on" $mark $base$REPLY$r${(l:w:: :)}${tstrip[$t]} "$z
|
|
773
778
|
else
|
|
774
|
-
REPLY="
|
|
779
|
+
REPLY="$gut $mark $REPLY"
|
|
775
780
|
fi
|
|
776
781
|
}
|
|
777
782
|
|
|
@@ -1151,8 +1156,8 @@ __tt_pv_flush() {
|
|
|
1151
1156
|
}
|
|
1152
1157
|
|
|
1153
1158
|
__tt_pv_draw() {
|
|
1154
|
-
local out line cnt ex ag="" ac="" sb=""
|
|
1155
|
-
local -i lw sw split sc se=$(( pw - 2 )) h k i N=${#rval}
|
|
1159
|
+
local out line cnt ex ag="" ac="" sb="" dd="" zz="" state=on src="" REPLY
|
|
1160
|
+
local -i lw sw split sc se=$(( pw - 2 )) h k i N=${#rval} mt=${#TTHEME_ORDER} wiped=0
|
|
1156
1161
|
__tt_pv_lw
|
|
1157
1162
|
lw=$reply[1] sw=$reply[2]
|
|
1158
1163
|
split=$(( sw > 0 )) sc=$(( pw - 1 - sw ))
|
|
@@ -1164,21 +1169,14 @@ __tt_pv_draw() {
|
|
|
1164
1169
|
(( cur >= top + h )) && top=$(( cur - h + 1 ))
|
|
1165
1170
|
(( top < 1 )) && top=1
|
|
1166
1171
|
(( N > h && top > N - h + 1 )) && top=$(( N - h + 1 ))
|
|
1167
|
-
if (( N > h )); then
|
|
1168
|
-
rail=1
|
|
1169
|
-
rl=$(( h * h / N ))
|
|
1170
|
-
(( rl < 1 )) && rl=1
|
|
1171
|
-
rs=$(( 1 + (top - 1) * (h - rl) / (N - h) ))
|
|
1172
|
-
fi
|
|
1173
1172
|
if (( color )); then
|
|
1174
|
-
dd=$'\e[2m' zz=$'\e[0m'
|
|
1173
|
+
dd=$'\e[2m' zz=$'\e[0m'
|
|
1175
1174
|
if [[ -n $applied ]]; then
|
|
1176
1175
|
local -a ap=(${=applied})
|
|
1177
1176
|
local acx=${ap[3]#\#} sbx=${ap[4]#\#}
|
|
1178
1177
|
printf -v ac '\e[38;2;%d;%d;%dm' $((16#${acx:0:2})) $((16#${acx:2:2})) $((16#${acx:4:2}))
|
|
1179
1178
|
printf -v sb '\e[48;2;%d;%d;%dm' $((16#${sbx:0:2})) $((16#${sbx:2:2})) $((16#${sbx:4:2}))
|
|
1180
1179
|
fi
|
|
1181
|
-
rthumb=$ac"█"$zz cmark=$ac"▶"$'\e[39m'
|
|
1182
1180
|
[[ ${rtype[cur]} == thm ]] && ag=${TTHEME_GROUP[${rval[cur]}]:-Other}
|
|
1183
1181
|
fi
|
|
1184
1182
|
if [[ -n $flt ]]; then
|
|
@@ -1204,13 +1202,13 @@ __tt_pv_draw() {
|
|
|
1204
1202
|
fi
|
|
1205
1203
|
if [[ -n $flt ]]; then
|
|
1206
1204
|
if (( color )); then
|
|
1207
|
-
line="
|
|
1205
|
+
line=" "$'\e[1m'$flt$zz$ac$'\e[7m \e[0m'
|
|
1208
1206
|
else
|
|
1209
|
-
line="
|
|
1207
|
+
line=" ${flt}_"
|
|
1210
1208
|
fi
|
|
1211
1209
|
else
|
|
1212
1210
|
ex="$expal | $exgrp"
|
|
1213
|
-
(( ${#ex} > lw -
|
|
1211
|
+
(( ${#ex} > lw - 19 - ${#cnt} )) && ex="${ex[1,lw-20-${#cnt}]}…"
|
|
1214
1212
|
if (( gstep > 0 )); then
|
|
1215
1213
|
local gkeep=$(( ${#ex} * (8 - gstep) / 8 ))
|
|
1216
1214
|
if [[ $TTHEME_FX == (decode|glitch) ]]; then
|
|
@@ -1228,39 +1226,34 @@ __tt_pv_draw() {
|
|
|
1228
1226
|
ex="${ex[1,gkeep]}▏"
|
|
1229
1227
|
fi
|
|
1230
1228
|
fi
|
|
1231
|
-
line="
|
|
1229
|
+
line=" "$dd"search… e.g. $ex"$zz
|
|
1232
1230
|
fi
|
|
1233
|
-
out+=$line$'\e[K\e['$(( lw - ${#cnt}
|
|
1231
|
+
out+=$line$'\e[K\e['$(( lw - ${#cnt} ))'G'
|
|
1234
1232
|
if [[ -n $flt ]]; then
|
|
1235
|
-
out+=$cnt
|
|
1233
|
+
out+=$cnt
|
|
1236
1234
|
else
|
|
1237
|
-
out+=$dd$cnt$zz
|
|
1235
|
+
out+=$dd$cnt$zz
|
|
1238
1236
|
fi
|
|
1239
|
-
out+=$
|
|
1237
|
+
out+=$'\n\e[K\n'
|
|
1238
|
+
(( N > h && top > 1 )) && out+=" "$dd"…"$zz
|
|
1239
|
+
out+=$'\e[K\n'
|
|
1240
1240
|
for (( k = 0; k < ph - 4; k++ )); do
|
|
1241
1241
|
i=$(( top + k ))
|
|
1242
1242
|
line=""
|
|
1243
1243
|
if (( k < h )); then
|
|
1244
1244
|
if (( ! N )); then
|
|
1245
|
-
(( k == 0 )) && line="
|
|
1245
|
+
(( k == 0 )) && line=" ${dd}no palettes match '$flt'$zz"
|
|
1246
1246
|
elif (( i <= N )); then
|
|
1247
1247
|
__tt_pv_row $i
|
|
1248
1248
|
line=$REPLY
|
|
1249
1249
|
fi
|
|
1250
|
+
elif (( k == h && N > h && top + h <= N )); then
|
|
1251
|
+
line=" "$dd"…"$zz
|
|
1250
1252
|
fi
|
|
1251
|
-
out+=$line$'\e[K'
|
|
1252
|
-
if (( rail && k < h )); then
|
|
1253
|
-
if (( k + 1 >= rs && k + 1 < rs + rl )); then
|
|
1254
|
-
out+=$'\e['$(( lw + 2 ))'G'$rthumb
|
|
1255
|
-
else
|
|
1256
|
-
out+=$'\e['$(( lw + 2 ))'G'$rtrack
|
|
1257
|
-
fi
|
|
1258
|
-
fi
|
|
1259
|
-
out+=$'\n'
|
|
1253
|
+
out+=$line$'\e[K\n'
|
|
1260
1254
|
done
|
|
1261
1255
|
__tt_pv_foot $(( split ? se : pw ))
|
|
1262
1256
|
if (( split )); then
|
|
1263
|
-
out+=$'\e[2;'$sc'H'$dd${(l:$(( se - sc + 1 ))::─:)}$zz
|
|
1264
1257
|
if (( help && sw >= 48 )); then
|
|
1265
1258
|
__tt_pv_head 1 $sc $se keys
|
|
1266
1259
|
__tt_pv_help
|
|
@@ -1323,15 +1316,19 @@ __tt_pv_canpick() {
|
|
|
1323
1316
|
}
|
|
1324
1317
|
|
|
1325
1318
|
__tt_pv_strip() {
|
|
1326
|
-
local
|
|
1327
|
-
local -a
|
|
1319
|
+
local hex cell=""
|
|
1320
|
+
local -a sw=(${=TTHEME_SWATCH[$1]})
|
|
1328
1321
|
local -i j
|
|
1329
|
-
for (( j =
|
|
1330
|
-
|
|
1331
|
-
|
|
1322
|
+
for (( j = 1; j <= 6; j++ )); do
|
|
1323
|
+
hex=${sw[j]#\#}
|
|
1324
|
+
(( j > 1 )) && cell+=" "
|
|
1325
|
+
if [[ -n $hex ]]; then
|
|
1326
|
+
cell+=$'\e[38;2;'$((16#${hex:0:2}))';'$((16#${hex:2:2}))';'$((16#${hex:4:2}))'m■'
|
|
1327
|
+
else
|
|
1328
|
+
cell+=" "
|
|
1329
|
+
fi
|
|
1332
1330
|
done
|
|
1333
|
-
|
|
1334
|
-
tstrip[$1]=$cell$'\e[0m'
|
|
1331
|
+
tstrip[$1]=$cell$'\e[39m'
|
|
1335
1332
|
}
|
|
1336
1333
|
|
|
1337
1334
|
__tt_pv_init() {
|