@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/dist/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kecan0406/ttheme",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.19",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ttheme": "bin/ttheme.js"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"shell",
|
|
12
12
|
"!shell/check.zsh"
|
|
13
13
|
],
|
|
14
|
-
"description": "Character terminal palettes for Ghostty, kitty, Alacritty, WezTerm,
|
|
14
|
+
"description": "Character terminal palettes for Ghostty, iTerm2, kitty, Alacritty, WezTerm, Windows Terminal, Warp, Konsole and Terminal.app",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"author": "kecan0406",
|
|
17
17
|
"repository": {
|
|
@@ -28,20 +28,22 @@
|
|
|
28
28
|
"alacritty",
|
|
29
29
|
"wezterm",
|
|
30
30
|
"iterm2",
|
|
31
|
-
"konsole"
|
|
31
|
+
"konsole",
|
|
32
|
+
"warp",
|
|
33
|
+
"windows-terminal"
|
|
32
34
|
],
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@biomejs/biome": "^2.
|
|
35
|
-
"@clack/prompts": "^1.
|
|
36
|
+
"@biomejs/biome": "^2.5.15",
|
|
37
|
+
"@clack/prompts": "^1.8.1",
|
|
36
38
|
"@jsquash/jpeg": "^1.6.0",
|
|
37
39
|
"@material/material-color-utilities": "^0.4.0",
|
|
38
|
-
"@types/bun": "^1.
|
|
40
|
+
"@types/bun": "^1.4.2",
|
|
39
41
|
"@types/pngjs": "6.0.5",
|
|
40
42
|
"@xterm/headless": "6.0.0",
|
|
41
43
|
"fast-string-width": "^3.0.2",
|
|
42
44
|
"pngjs": "7.0.0",
|
|
43
45
|
"smol-toml": "^1.9.0",
|
|
44
|
-
"typescript": "^
|
|
46
|
+
"typescript": "^7.0.2",
|
|
45
47
|
"uqr": "^0.1.3"
|
|
46
48
|
},
|
|
47
49
|
"engines": {
|
package/shell/adapters/_bg.zsh
CHANGED
|
@@ -476,7 +476,8 @@ __tt_pv_bg_find() {
|
|
|
476
476
|
__tt_bg_hide $name
|
|
477
477
|
err=$(__tt_cli find $name 2>&1 >/dev/tty)
|
|
478
478
|
rc=$?
|
|
479
|
-
printf %s "$pvmouse"
|
|
479
|
+
printf '\e[?2004h%s' "$pvmouse"
|
|
480
|
+
__tt_pv_size
|
|
480
481
|
for var in ${(k)parameters[(I)TTHEME_FIND_*]}; do
|
|
481
482
|
[[ ${parameters[$var]} == *export* ]] || unset $var
|
|
482
483
|
done
|
|
@@ -620,7 +621,7 @@ __tt_pv_bg_recolor() {
|
|
|
620
621
|
}
|
|
621
622
|
|
|
622
623
|
__tt_pv_bg_panel() {
|
|
623
|
-
local name=$1 z=$
|
|
624
|
+
local name=$1 z=$TTHEME_SGR[reset] b=$TTHEME_SGR[bold] d=$TTHEME_SGR[dim] c=$ac val sty mark choice REPLY
|
|
624
625
|
local -a labs=(Size Position Opacity Colors) at=(1 4 7 0) def=(${=bgdef[$1]})
|
|
625
626
|
local -i r0=$2 col=$3 end=$4 off=${bgoff[$1]} T=$(( $4 - $3 - 21 )) lo=100 hi=100 k i r knob pos=${bgpos[$1]} o tuned
|
|
626
627
|
(( color )) || z= b= d= c=
|
|
@@ -650,7 +651,7 @@ __tt_pv_bg_panel() {
|
|
|
650
651
|
elif [[ $choice != $val ]]; then
|
|
651
652
|
out+=$d" $choice "$z" "
|
|
652
653
|
elif (( tf == k && ! off )); then
|
|
653
|
-
out+=$
|
|
654
|
+
out+=$pl" $choice "$z" "
|
|
654
655
|
else
|
|
655
656
|
out+=$sty" $choice "$z" "
|
|
656
657
|
fi
|
|
@@ -710,7 +711,7 @@ __tt_pv_bg_panel() {
|
|
|
710
711
|
}
|
|
711
712
|
|
|
712
713
|
__tt_pv_bg_strip() {
|
|
713
|
-
local pal=$tune dir=${TTHEME_CONFIG:h}/backgrounds cur fill want sty top side bot cmd buf="" z=$
|
|
714
|
+
local pal=$tune dir=${TTHEME_CONFIG:h}/backgrounds cur fill want sty top side bot cmd buf="" z=$TTHEME_SGR[reset] d=$TTHEME_SGR[dim] REPLY
|
|
714
715
|
local -a keys=(${=bgpics[$tune]}) wh pd
|
|
715
716
|
local -i r0=$1 col=$2 end=$3 n=${#keys} at show tc tr=3 i k x r id slot first
|
|
716
717
|
if (( n < 1 )); then
|
|
@@ -741,7 +742,7 @@ __tt_pv_bg_strip() {
|
|
|
741
742
|
x=$(( col + i * (tc + 3) ))
|
|
742
743
|
slot=$(( i + 1 ))
|
|
743
744
|
if (( k == at )); then
|
|
744
|
-
sty=$
|
|
745
|
+
sty=$TTHEME_SGR[bold]$ac top="┏${(l:tc::━:)}┓" side="┃" bot="┗${(l:tc::━:)}┛"
|
|
745
746
|
else
|
|
746
747
|
sty=$d top="╭${(l:tc::─:)}╮" side="│" bot="╰${(l:tc::─:)}╯"
|
|
747
748
|
fi
|
|
@@ -816,7 +817,7 @@ __tt_pv_bg_save() {
|
|
|
816
817
|
note="Background · $name $REPLY"
|
|
817
818
|
fi
|
|
818
819
|
if __tt_color; then
|
|
819
|
-
printf
|
|
820
|
+
printf "${TTHEME_SGR[dim]}%s${TTHEME_SGR[reset]}\n" "$note"
|
|
820
821
|
else
|
|
821
822
|
print -r -- "$note"
|
|
822
823
|
fi
|
package/shell/adapters/_osc.zsh
CHANGED
|
@@ -165,7 +165,7 @@ __tt_b64s() {
|
|
|
165
165
|
|
|
166
166
|
__tt_ask() {
|
|
167
167
|
setopt localoptions extendedglob
|
|
168
|
-
local fd saved="" buf="" chunk
|
|
168
|
+
local fd saved="" buf="" chunk seq
|
|
169
169
|
local -a match mbegin mend
|
|
170
170
|
REPLY=""
|
|
171
171
|
{ exec {fd}<>/dev/tty } 2>/dev/null || return 1
|
|
@@ -185,10 +185,26 @@ __tt_ask() {
|
|
|
185
185
|
[[ -n $saved ]] && stty "$saved" <&$fd 2>/dev/null
|
|
186
186
|
exec {fd}>&-
|
|
187
187
|
[[ $buf == *$'\e[0n'* ]] || __tt_owed
|
|
188
|
-
while [[ $buf
|
|
189
|
-
|
|
188
|
+
while [[ -n $buf ]]; do
|
|
189
|
+
if [[ $buf == (#b)([^$'\e']##)(*) ]]; then
|
|
190
|
+
TTHEME_TYPED+=$match[1] buf=$match[2]
|
|
191
|
+
elif [[ $buf == (#b)($'\e'[]P_^X][^$'\a\e']#($'\a'|$'\e\\'))(*) ]]; then
|
|
192
|
+
REPLY+=$match[1] buf=$match[-1]
|
|
193
|
+
elif [[ $buf == (#b)($'\e['[0-?]#[ -/]#[@-~])(*) ]]; then
|
|
194
|
+
seq=$match[1] buf=$match[-1]
|
|
195
|
+
if [[ $seq == *[nt] || $seq == $'\e['[?\>]*c || $seq == *'$y' ]]; then
|
|
196
|
+
REPLY+=$seq
|
|
197
|
+
else
|
|
198
|
+
TTHEME_TYPED+=$seq
|
|
199
|
+
fi
|
|
200
|
+
elif [[ $buf == (#b)($'\e'(O?|[^][P_^XO$'\e']))(*) ]]; then
|
|
201
|
+
TTHEME_TYPED+=$match[1] buf=$match[-1]
|
|
202
|
+
elif [[ $buf == $'\e\e'* ]]; then
|
|
203
|
+
TTHEME_TYPED+=$'\e' buf=${buf:1}
|
|
204
|
+
else
|
|
205
|
+
break
|
|
206
|
+
fi
|
|
190
207
|
done
|
|
191
|
-
[[ $buf == $'\e'* ]] || TTHEME_TYPED+=$buf
|
|
192
208
|
REPLY=${REPLY%$'\e[0n'}
|
|
193
209
|
}
|
|
194
210
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
source $TTHEME_HOME/adapters/_bg.zsh
|
|
1
|
+
source "$TTHEME_HOME/adapters/_bg.zsh"
|
|
2
2
|
|
|
3
3
|
typeset -g TTHEME_GHOSTTY_TABS=$TTHEME_STATE_DIR/ghostty TTHEME_GHOSTTY_FRONT="" TTHEME_GHOSTTY_BLUR="" TTHEME_GHOSTTY_HEARD="" TTHEME_GHOSTTY_CODE=""
|
|
4
4
|
typeset -gF TTHEME_GHOSTTY_ASKED=0 TTHEME_GHOSTTY_WANT=0 TTHEME_GHOSTTY_HUSH=0 TTHEME_GHOSTTY_TOLD=0 TTHEME_GHOSTTY_NONE_AT=0
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
source $TTHEME_HOME/adapters/_bg.zsh
|
|
1
|
+
source "$TTHEME_HOME/adapters/_bg.zsh"
|
|
2
2
|
|
|
3
3
|
zmodload -F zsh/datetime p:EPOCHREALTIME 2>/dev/null
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
() {
|
|
6
|
+
emulate -L zsh ${=${options[xtrace]:#off}:+-o xtrace}
|
|
7
|
+
(( ${+TTHEME_ITERM_SHOWN} )) && return 0
|
|
6
8
|
typeset -gx TTHEME_ITERM_SHOWN="" TTHEME_ITERM_DYED=0
|
|
7
9
|
[[ $ITERM_PROFILE == 'ttheme · '* ]] && TTHEME_ITERM_SHOWN=${ITERM_PROFILE#ttheme · }
|
|
8
|
-
|
|
10
|
+
return 0
|
|
11
|
+
}
|
|
9
12
|
|
|
10
13
|
__tt_keepable() { return 0 }
|
|
11
14
|
|
package/shell/adapters/kitty.zsh
CHANGED
package/shell/adapters/warp.zsh
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
source $TTHEME_HOME/adapters/_bg.zsh
|
|
1
|
+
source "$TTHEME_HOME/adapters/_bg.zsh"
|
|
2
2
|
|
|
3
3
|
typeset -g TTHEME_WARP_SETTINGS=$HOME/.warp/settings.toml TTHEME_WARP_THEMES=$HOME/.warp/themes TTHEME_WARP_WORN=""
|
|
4
4
|
typeset -g TTHEME_WARP_TABS=$TTHEME_STATE_DIR/warp TTHEME_WARP_DB="" TTHEME_WARP_ID="" TTHEME_WARP_LAST="" TTHEME_WARP_LOOK="" TTHEME_WARP_SEEN=""
|