@zaly/tui 0.0.11 → 0.1.0
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/assets/schemas/shiki-language.schema.json +352 -0
- package/assets/schemas/shiki-theme.schema.json +71 -0
- package/assets/schemas/theme.schema.json +227 -732
- package/assets/themes/andromeeda.json +97 -0
- package/assets/themes/ayu-dark.json +31 -44
- package/assets/themes/ayu-light.json +106 -0
- package/assets/themes/ayu-mirage.json +106 -0
- package/assets/themes/catppuccin-frappe.json +44 -60
- package/assets/themes/catppuccin-latte.json +44 -60
- package/assets/themes/catppuccin-macchiato.json +44 -60
- package/assets/themes/catppuccin-mocha.json +44 -60
- package/assets/themes/dark-plus.json +99 -0
- package/assets/themes/dracula.json +47 -66
- package/assets/themes/everforest-dark.json +28 -45
- package/assets/themes/everforest-light.json +28 -45
- package/assets/themes/github-dark-default.json +107 -0
- package/assets/themes/github-dark-dimmed.json +107 -0
- package/assets/themes/github-light-default.json +107 -0
- package/assets/themes/gruvbox-dark-hard.json +98 -0
- package/assets/themes/gruvbox-dark-medium.json +34 -48
- package/assets/themes/gruvbox-light-medium.json +98 -0
- package/assets/themes/horizon-bright.json +101 -0
- package/assets/themes/horizon.json +101 -0
- package/assets/themes/iterm2/LICENSE +25 -0
- package/assets/themes/iterm2/README.md +28 -0
- package/assets/themes/iterm2/catppuccin-latte.json +140 -0
- package/assets/themes/iterm2/catppuccin-mocha.json +140 -0
- package/assets/themes/iterm2/github-dark.json +140 -0
- package/assets/themes/iterm2/github.json +140 -0
- package/assets/themes/iterm2/gruvbox-dark.json +140 -0
- package/assets/themes/iterm2/gruvbox-light.json +140 -0
- package/assets/themes/iterm2/nord.json +140 -0
- package/assets/themes/iterm2/tokyonight-day.json +140 -0
- package/assets/themes/iterm2/tokyonight-moon.json +140 -0
- package/assets/themes/kanagawa-dragon.json +55 -68
- package/assets/themes/kanagawa-lotus.json +105 -0
- package/assets/themes/kanagawa-wave.json +55 -68
- package/assets/themes/light-plus.json +99 -0
- package/assets/themes/material-theme-lighter.json +102 -0
- package/assets/themes/material-theme-palenight.json +52 -64
- package/assets/themes/material-theme.json +102 -0
- package/assets/themes/min-dark.json +67 -28
- package/assets/themes/min-light.json +67 -32
- package/assets/themes/monokai.json +55 -67
- package/assets/themes/night-owl-light.json +105 -0
- package/assets/themes/night-owl.json +57 -68
- package/assets/themes/nord.json +53 -55
- package/assets/themes/one-dark-pro.json +46 -57
- package/assets/themes/one-light.json +52 -59
- package/assets/themes/poimandres.json +51 -68
- package/assets/themes/rose-pine-dawn.json +99 -0
- package/assets/themes/rose-pine-moon.json +99 -0
- package/assets/themes/rose-pine.json +51 -50
- package/assets/themes/solarized-dark.json +39 -51
- package/assets/themes/solarized-light.json +40 -52
- package/assets/themes/synthwave-84.json +48 -50
- package/assets/themes/tokyonight-day.json +6 -7
- package/assets/themes/tokyonight-moon.json +6 -6
- package/assets/themes/tokyonight-night.json +6 -6
- package/assets/themes/tokyonight-storm.json +6 -6
- package/assets/themes/vesper.json +51 -58
- package/assets/themes/vitesse-black.json +103 -0
- package/assets/themes/vitesse-dark.json +26 -49
- package/assets/themes/vitesse-light.json +26 -49
- package/dist/{actions-DFboj3g5.d.mts → actions--ODlgCQ5.d.mts} +4 -4
- package/dist/{actions-DFboj3g5.d.mts.map → actions--ODlgCQ5.d.mts.map} +1 -1
- package/dist/{ansi-Clq0ozyA.mjs → ansi-CMv71xVr.mjs} +38 -31
- package/dist/ansi-CMv71xVr.mjs.map +1 -0
- package/dist/ansi.d.mts +3 -1
- package/dist/ansi.d.mts.map +1 -1
- package/dist/ansi.mjs +1 -1
- package/dist/{autocomplete-CxzetPOo.d.mts → autocomplete-CD30kSe_.d.mts} +4 -4
- package/dist/{autocomplete-CxzetPOo.d.mts.map → autocomplete-CD30kSe_.d.mts.map} +1 -1
- package/dist/{box-DLEcEvDH.mjs → box-C_N_7ChP.mjs} +2 -2
- package/dist/box-C_N_7ChP.mjs.map +1 -0
- package/dist/builder-Chwtk0nQ.mjs +196 -0
- package/dist/builder-Chwtk0nQ.mjs.map +1 -0
- package/dist/{callbacks-D132G8dy.mjs → callbacks-DLecWn7G.mjs} +4 -4
- package/dist/{callbacks-D132G8dy.mjs.map → callbacks-DLecWn7G.mjs.map} +1 -1
- package/dist/client-CNGt-dOt.mjs +1 -0
- package/dist/{client-C2GXKfJ1.mjs → client-D7qz4TZt.mjs} +7 -3
- package/dist/client-D7qz4TZt.mjs.map +1 -0
- package/dist/color-DBMQLv4Y.mjs +37 -0
- package/dist/color-DBMQLv4Y.mjs.map +1 -0
- package/dist/{ctx-8Nuf5BrN.mjs → ctx-BaQ2hP5u.mjs} +3 -3
- package/dist/{ctx-8Nuf5BrN.mjs.map → ctx-BaQ2hP5u.mjs.map} +1 -1
- package/dist/ctx-CndlTp1T.mjs +1 -0
- package/dist/{divider-l0-JPEIm.mjs → divider-BlNNN2OS.mjs} +2 -2
- package/dist/divider-BlNNN2OS.mjs.map +1 -0
- package/dist/{files-BUsa-RVl.d.mts → files-B_5HDBPp.d.mts} +3 -3
- package/dist/{files-BUsa-RVl.d.mts.map → files-B_5HDBPp.d.mts.map} +1 -1
- package/dist/github-Cy2hfWJ7.mjs.map +1 -1
- package/dist/{github-D89A3F9U.d.mts → github-CyRwUQ3y.d.mts} +3 -3
- package/dist/{github-D89A3F9U.d.mts.map → github-CyRwUQ3y.d.mts.map} +1 -1
- package/dist/{image-34bU73bW.d.mts → image-BLls2F4t.d.mts} +2 -2
- package/dist/{image-34bU73bW.d.mts.map → image-BLls2F4t.d.mts.map} +1 -1
- package/dist/image-Cqtj3yRA.mjs +178 -0
- package/dist/image-Cqtj3yRA.mjs.map +1 -0
- package/dist/image.d.mts +1 -1
- package/dist/index.d.mts +13 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +8 -7
- package/dist/index.mjs.map +1 -1
- package/dist/{input-D7fQEUdt.mjs → input-ET2YEMcl.mjs} +16 -11
- package/dist/input-ET2YEMcl.mjs.map +1 -0
- package/dist/{input-Dylds_sI.d.mts → input-NuD8TH8N.d.mts} +3 -3
- package/dist/{input-Dylds_sI.d.mts.map → input-NuD8TH8N.d.mts.map} +1 -1
- package/dist/{inspect-DPLRum7L.d.mts → inspect-B1uXxdKC.d.mts} +11 -15
- package/dist/inspect-B1uXxdKC.d.mts.map +1 -0
- package/dist/{inspect-CcgiZ_F9.mjs → inspect-Cxzs-W0g.mjs} +2 -2
- package/dist/{inspect-CcgiZ_F9.mjs.map → inspect-Cxzs-W0g.mjs.map} +1 -1
- package/dist/kitty-DKQYsQfH.mjs +1 -0
- package/dist/{log-Dy_QnPZF.mjs → log-B4djzy2m.mjs} +5 -5
- package/dist/log-B4djzy2m.mjs.map +1 -0
- package/dist/{logger-DvuX9DPS.mjs → logger-CvJCITzP.mjs} +3 -3
- package/dist/{logger-DvuX9DPS.mjs.map → logger-CvJCITzP.mjs.map} +1 -1
- package/dist/{markdown-BGPa7UzD.mjs → markdown-D3ZtRn6C.mjs} +9 -8
- package/dist/markdown-D3ZtRn6C.mjs.map +1 -0
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.mts.map +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/math-CU0wmC9N.mjs +1 -0
- package/dist/math-Dd7a1irv.mjs +206 -0
- package/dist/math-Dd7a1irv.mjs.map +1 -0
- package/dist/oklch-Bsh5swbC.mjs +99 -0
- package/dist/oklch-Bsh5swbC.mjs.map +1 -0
- package/dist/{overlay-9WXYiGgW.mjs → overlay-LvOjG7kn.mjs} +2 -2
- package/dist/{overlay-9WXYiGgW.mjs.map → overlay-LvOjG7kn.mjs.map} +1 -1
- package/dist/{picker-JL8lZfRH.d.mts → picker-B-OxKKnD.d.mts} +5 -5
- package/dist/{picker-JL8lZfRH.d.mts.map → picker-B-OxKKnD.d.mts.map} +1 -1
- package/dist/{picker-BqHINl_a.mjs → picker-f6xjgACX.mjs} +2 -2
- package/dist/{picker-BqHINl_a.mjs.map → picker-f6xjgACX.mjs.map} +1 -1
- package/dist/{queries-B_lOwEiE.mjs → queries-BUkBxkuM.mjs} +66 -3
- package/dist/queries-BUkBxkuM.mjs.map +1 -0
- package/dist/{queries-Cvalgu6P.d.mts → queries-C75-wG1B.d.mts} +42 -11
- package/dist/queries-C75-wG1B.d.mts.map +1 -0
- package/dist/{registry-3hLzS4ks.mjs → registry-DUWpSPoo.mjs} +208 -68
- package/dist/registry-DUWpSPoo.mjs.map +1 -0
- package/dist/{render-f7M2856V.mjs → render-B7LfNM5K.mjs} +2 -2
- package/dist/{render-f7M2856V.mjs.map → render-B7LfNM5K.mjs.map} +1 -1
- package/dist/{renderer-V6AGjbyf.mjs → renderer-BLsd-wrG.mjs} +167 -20
- package/dist/renderer-BLsd-wrG.mjs.map +1 -0
- package/dist/renderer-YHbR7JZ4.mjs +1 -0
- package/dist/{renderer-DesbRwjQ.mjs → renderer-aAtkFgll.mjs} +8 -7
- package/dist/renderer-aAtkFgll.mjs.map +1 -0
- package/dist/{select-zGd5pbiB.d.mts → select-BKE5LzdN.d.mts} +3 -3
- package/dist/{select-zGd5pbiB.d.mts.map → select-BKE5LzdN.d.mts.map} +1 -1
- package/dist/services/logger.d.mts +1 -1
- package/dist/services/logger.mjs +1 -1
- package/dist/services/notifier.d.mts +1 -1
- package/dist/services/notifier.mjs +2 -2
- package/dist/services/picker.d.mts +5 -5
- package/dist/services/picker.mjs +6 -6
- package/dist/services/prompt.d.mts +4 -4
- package/dist/services/prompt.mjs +5 -5
- package/dist/shiki/server.mjs +37 -14
- package/dist/shiki/server.mjs.map +1 -1
- package/dist/shiki-B4U0s8jT.mjs +635 -0
- package/dist/shiki-B4U0s8jT.mjs.map +1 -0
- package/dist/shiki-CJauRusM.mjs +20 -0
- package/dist/shiki-CJauRusM.mjs.map +1 -0
- package/dist/style-DslRHzI4.mjs +109 -0
- package/dist/style-DslRHzI4.mjs.map +1 -0
- package/dist/style.d.mts +4 -3
- package/dist/style.d.mts.map +1 -1
- package/dist/style.mjs +4 -4
- package/dist/{text-CRZD9KTN.mjs → text-BoJdKXLU.mjs} +2 -2
- package/dist/{text-CRZD9KTN.mjs.map → text-BoJdKXLU.mjs.map} +1 -1
- package/dist/{text-BefiXAFW.d.mts → text-CmxbA8lk.d.mts} +3 -3
- package/dist/{text-BefiXAFW.d.mts.map → text-CmxbA8lk.d.mts.map} +1 -1
- package/dist/{text-BLz1tRoC.mjs → text-DPrhma4x.mjs} +2 -2
- package/dist/text-DPrhma4x.mjs.map +1 -0
- package/dist/text.d.mts +1 -1
- package/dist/text.mjs +1 -1
- package/dist/theme-C8LkcoaK.mjs +61 -0
- package/dist/theme-C8LkcoaK.mjs.map +1 -0
- package/dist/theme-DVX8dvGG.mjs +1794 -0
- package/dist/theme-DVX8dvGG.mjs.map +1 -0
- package/dist/themes.d.mts +213 -73
- package/dist/themes.d.mts.map +1 -1
- package/dist/themes.mjs +1 -1
- package/dist/{tree-CArtDRec.d.mts → tree-CTvSpF9b.d.mts} +3 -3
- package/dist/{tree-CArtDRec.d.mts.map → tree-CTvSpF9b.d.mts.map} +1 -1
- package/dist/{types-C0EOLZDc.d.mts → types-C9ceMsbJ.d.mts} +137 -137
- package/dist/types-C9ceMsbJ.d.mts.map +1 -0
- package/dist/{widget-DtJU2-BJ.d.mts → widget-DlF32PRp.d.mts} +2 -2
- package/dist/{widget-DtJU2-BJ.d.mts.map → widget-DlF32PRp.d.mts.map} +1 -1
- package/dist/widgets/autocomplete.d.mts +1 -1
- package/dist/widgets/autocomplete.mjs +2 -2
- package/dist/widgets/box.d.mts +1 -1
- package/dist/widgets/box.mjs +1 -1
- package/dist/widgets/code.d.mts +4 -2
- package/dist/widgets/code.d.mts.map +1 -1
- package/dist/widgets/code.mjs +8 -7
- package/dist/widgets/code.mjs.map +1 -1
- package/dist/widgets/completions/actions.d.mts +1 -1
- package/dist/widgets/completions/files.d.mts +1 -1
- package/dist/widgets/completions/github.d.mts +1 -1
- package/dist/widgets/completions/index.d.mts +3 -3
- package/dist/widgets/diff.d.mts +2 -2
- package/dist/widgets/diff.d.mts.map +1 -1
- package/dist/widgets/diff.mjs +35 -12
- package/dist/widgets/diff.mjs.map +1 -1
- package/dist/widgets/divider.d.mts +3 -3
- package/dist/widgets/divider.mjs +1 -1
- package/dist/widgets/image.d.mts +1 -1
- package/dist/widgets/image.mjs +4 -4
- package/dist/widgets/image.mjs.map +1 -1
- package/dist/widgets/input.d.mts +1 -1
- package/dist/widgets/input.mjs +1 -1
- package/dist/widgets/log.d.mts +1 -1
- package/dist/widgets/log.mjs +1 -1
- package/dist/widgets/markdown.d.mts +4 -4
- package/dist/widgets/markdown.d.mts.map +1 -1
- package/dist/widgets/markdown.mjs +1 -1
- package/dist/widgets/overlay.d.mts +1 -1
- package/dist/widgets/overlay.mjs +1 -1
- package/dist/widgets/picker.d.mts +1 -1
- package/dist/widgets/picker.mjs +1 -1
- package/dist/widgets/progress.d.mts +4 -4
- package/dist/widgets/progress.mjs.map +1 -1
- package/dist/widgets/select.d.mts +1 -1
- package/dist/widgets/show.d.mts +1 -1
- package/dist/widgets/spinner.d.mts +2 -2
- package/dist/widgets/text.d.mts +1 -1
- package/dist/widgets/text.mjs +1 -1
- package/dist/widgets/tree.d.mts +1 -1
- package/dist/widgets/widget.d.mts +1 -1
- package/package.json +5 -7
- package/assets/themes/dracula-soft.json +0 -119
- package/assets/themes/github-dark.json +0 -123
- package/assets/themes/github-light.json +0 -123
- package/dist/ansi-Clq0ozyA.mjs.map +0 -1
- package/dist/box-DLEcEvDH.mjs.map +0 -1
- package/dist/builder-DC9byAmK.mjs +0 -386
- package/dist/builder-DC9byAmK.mjs.map +0 -1
- package/dist/client-C2GXKfJ1.mjs.map +0 -1
- package/dist/client-bzdHIDL2.mjs +0 -1
- package/dist/ctx-k0wTqeql.mjs +0 -1
- package/dist/divider-l0-JPEIm.mjs.map +0 -1
- package/dist/image-Cm5T-uw-.mjs +0 -108
- package/dist/image-Cm5T-uw-.mjs.map +0 -1
- package/dist/input-D7fQEUdt.mjs.map +0 -1
- package/dist/inspect-DPLRum7L.d.mts.map +0 -1
- package/dist/log-Dy_QnPZF.mjs.map +0 -1
- package/dist/markdown-BGPa7UzD.mjs.map +0 -1
- package/dist/queries-B_lOwEiE.mjs.map +0 -1
- package/dist/queries-Cvalgu6P.d.mts.map +0 -1
- package/dist/registry-3hLzS4ks.mjs.map +0 -1
- package/dist/renderer-BSMOuiLM.mjs +0 -1
- package/dist/renderer-DesbRwjQ.mjs.map +0 -1
- package/dist/renderer-V6AGjbyf.mjs.map +0 -1
- package/dist/shiki--ASSYv4_.mjs +0 -12
- package/dist/shiki--ASSYv4_.mjs.map +0 -1
- package/dist/shiki-D7l5--zz.mjs +0 -432
- package/dist/shiki-D7l5--zz.mjs.map +0 -1
- package/dist/text-BLz1tRoC.mjs.map +0 -1
- package/dist/theme.config-BKXX_noZ.mjs +0 -863
- package/dist/theme.config-BKXX_noZ.mjs.map +0 -1
- package/dist/types-C0EOLZDc.d.mts.map +0 -1
|
@@ -1,103 +1,96 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/folke/zaly/main/packages/tui/assets/schemas/theme.schema.json",
|
|
3
3
|
"id": "vesper",
|
|
4
4
|
"name": "Vesper",
|
|
5
5
|
"shiki": "vesper",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"error": "#FF8080",
|
|
15
|
-
"code": {
|
|
16
|
-
"bg": "#101010"
|
|
17
|
-
},
|
|
18
|
-
"mdCodeBlock": {
|
|
19
|
-
"bg": "#101010"
|
|
20
|
-
},
|
|
21
|
-
"overlay": {
|
|
22
|
-
"bg": "#101010"
|
|
23
|
-
},
|
|
24
|
-
"highlight": {
|
|
25
|
-
"bg": "#333333"
|
|
26
|
-
},
|
|
6
|
+
"bg": "#101010",
|
|
7
|
+
"fg": "#ffffff",
|
|
8
|
+
"primary": "#ffc799",
|
|
9
|
+
"accent": "#ffcfa8",
|
|
10
|
+
"success": "#99ffe4",
|
|
11
|
+
"info": "#ffc799",
|
|
12
|
+
"warn": "#ffc799",
|
|
13
|
+
"error": "#ff8080",
|
|
27
14
|
"selection": {
|
|
28
15
|
"bg": "#333333"
|
|
29
16
|
},
|
|
30
17
|
"diffAdd": {
|
|
31
|
-
"bg": "#1b2421"
|
|
32
|
-
"fg": "#99FFE4"
|
|
18
|
+
"bg": "#1b2421"
|
|
33
19
|
},
|
|
34
20
|
"diffDel": {
|
|
35
|
-
"bg": "#241919"
|
|
36
|
-
"fg": "#FF8080"
|
|
21
|
+
"bg": "#241919"
|
|
37
22
|
},
|
|
38
|
-
"
|
|
39
|
-
"fg": "#
|
|
23
|
+
"syntaxBoolean": {
|
|
24
|
+
"fg": "#ffc799"
|
|
40
25
|
},
|
|
41
|
-
"
|
|
42
|
-
"fg": "#
|
|
26
|
+
"syntaxBracket": {
|
|
27
|
+
"fg": "#ffffff"
|
|
43
28
|
},
|
|
44
|
-
"
|
|
45
|
-
"fg": "#
|
|
29
|
+
"syntaxConstant": {
|
|
30
|
+
"fg": "#ffffff"
|
|
46
31
|
},
|
|
47
|
-
"
|
|
48
|
-
"fg": "#
|
|
32
|
+
"syntaxDelimiter": {
|
|
33
|
+
"fg": "#ffffff"
|
|
34
|
+
},
|
|
35
|
+
"syntaxField": {
|
|
36
|
+
"fg": "#ffffff"
|
|
49
37
|
},
|
|
50
38
|
"syntaxFunction": {
|
|
51
|
-
"fg": "#
|
|
39
|
+
"fg": "#ffc799"
|
|
52
40
|
},
|
|
53
|
-
"
|
|
54
|
-
"fg": "#
|
|
41
|
+
"syntaxNumber": {
|
|
42
|
+
"fg": "#ffc799"
|
|
55
43
|
},
|
|
56
44
|
"syntaxSpecial": {
|
|
57
|
-
"fg": "#
|
|
45
|
+
"fg": "#a0a0a0"
|
|
46
|
+
},
|
|
47
|
+
"syntaxString": {
|
|
48
|
+
"fg": "#99ffe4"
|
|
49
|
+
},
|
|
50
|
+
"comment": {
|
|
51
|
+
"fg": "#575757"
|
|
58
52
|
},
|
|
59
53
|
"mdHeading": {
|
|
60
|
-
"
|
|
61
|
-
"
|
|
54
|
+
"bold": true,
|
|
55
|
+
"fg": "#ffc799"
|
|
62
56
|
},
|
|
63
57
|
"mdHeading1": {
|
|
64
|
-
"
|
|
65
|
-
"
|
|
58
|
+
"bold": true,
|
|
59
|
+
"fg": "#ffc799"
|
|
66
60
|
},
|
|
67
61
|
"mdHeading2": {
|
|
68
|
-
"
|
|
69
|
-
"
|
|
62
|
+
"bold": true,
|
|
63
|
+
"fg": "#ffc799"
|
|
70
64
|
},
|
|
71
65
|
"mdHeading3": {
|
|
72
|
-
"
|
|
73
|
-
"
|
|
66
|
+
"bold": true,
|
|
67
|
+
"fg": "#ffc799"
|
|
74
68
|
},
|
|
75
69
|
"mdHeading4": {
|
|
76
|
-
"
|
|
77
|
-
"
|
|
70
|
+
"bold": true,
|
|
71
|
+
"fg": "#ffc799"
|
|
78
72
|
},
|
|
79
73
|
"mdHeading5": {
|
|
80
|
-
"
|
|
81
|
-
"
|
|
74
|
+
"bold": true,
|
|
75
|
+
"fg": "#ffc799"
|
|
82
76
|
},
|
|
83
77
|
"mdHeading6": {
|
|
84
|
-
"
|
|
85
|
-
"
|
|
78
|
+
"bold": true,
|
|
79
|
+
"fg": "#ffc799"
|
|
86
80
|
},
|
|
87
81
|
"mdBold": {
|
|
88
82
|
"bold": true,
|
|
89
|
-
"fg": "#
|
|
83
|
+
"fg": "#ffffff"
|
|
90
84
|
},
|
|
91
85
|
"mdItalic": {
|
|
92
|
-
"
|
|
93
|
-
"
|
|
86
|
+
"fg": "#ffffff",
|
|
87
|
+
"italic": true
|
|
94
88
|
},
|
|
95
89
|
"mdLink": {
|
|
96
|
-
"
|
|
97
|
-
"fg": "#FFC799"
|
|
90
|
+
"fg": "#ffffff"
|
|
98
91
|
},
|
|
99
92
|
"mdHr": {
|
|
100
93
|
"bold": true,
|
|
101
|
-
"fg": "#
|
|
94
|
+
"fg": "#65737e"
|
|
102
95
|
}
|
|
103
96
|
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/folke/zaly/main/packages/tui/assets/schemas/theme.schema.json",
|
|
3
|
+
"id": "vitesse-black",
|
|
4
|
+
"name": "Vitesse Black",
|
|
5
|
+
"shiki": "vitesse-black",
|
|
6
|
+
"bg": "#000000",
|
|
7
|
+
"fg": "#afaca2",
|
|
8
|
+
"primary": "#4d9375",
|
|
9
|
+
"accent": "#4d9375",
|
|
10
|
+
"success": "#4d9375",
|
|
11
|
+
"info": "#5eaab5",
|
|
12
|
+
"warn": "#d4976c",
|
|
13
|
+
"error": "#cb7676",
|
|
14
|
+
"selection": {
|
|
15
|
+
"bg": "#161616"
|
|
16
|
+
},
|
|
17
|
+
"diffAdd": {
|
|
18
|
+
"bg": "#182e25"
|
|
19
|
+
},
|
|
20
|
+
"diffDel": {
|
|
21
|
+
"bg": "#361c1c"
|
|
22
|
+
},
|
|
23
|
+
"syntaxBoolean": {
|
|
24
|
+
"fg": "#4d9375"
|
|
25
|
+
},
|
|
26
|
+
"syntaxBracket": {
|
|
27
|
+
"fg": "#444444"
|
|
28
|
+
},
|
|
29
|
+
"syntaxConstant": {
|
|
30
|
+
"fg": "#bd976a"
|
|
31
|
+
},
|
|
32
|
+
"syntaxDelimiter": {
|
|
33
|
+
"fg": "#444444"
|
|
34
|
+
},
|
|
35
|
+
"syntaxField": {
|
|
36
|
+
"fg": "#bd976a"
|
|
37
|
+
},
|
|
38
|
+
"syntaxFunction": {
|
|
39
|
+
"fg": "#80a665"
|
|
40
|
+
},
|
|
41
|
+
"syntaxNumber": {
|
|
42
|
+
"fg": "#4c9a91"
|
|
43
|
+
},
|
|
44
|
+
"syntaxSpecial": {
|
|
45
|
+
"fg": "#4d9375"
|
|
46
|
+
},
|
|
47
|
+
"syntaxString": {
|
|
48
|
+
"fg": "#c98a7d"
|
|
49
|
+
},
|
|
50
|
+
"border": "#191919",
|
|
51
|
+
"comment": {
|
|
52
|
+
"fg": "#657365"
|
|
53
|
+
},
|
|
54
|
+
"mdHeading": {
|
|
55
|
+
"bold": true,
|
|
56
|
+
"fg": "#4d9375"
|
|
57
|
+
},
|
|
58
|
+
"mdHeading1": {
|
|
59
|
+
"bold": true,
|
|
60
|
+
"fg": "#4d9375"
|
|
61
|
+
},
|
|
62
|
+
"mdHeading2": {
|
|
63
|
+
"bold": true,
|
|
64
|
+
"fg": "#4d9375"
|
|
65
|
+
},
|
|
66
|
+
"mdHeading3": {
|
|
67
|
+
"bold": true,
|
|
68
|
+
"fg": "#4d9375"
|
|
69
|
+
},
|
|
70
|
+
"mdHeading4": {
|
|
71
|
+
"bold": true,
|
|
72
|
+
"fg": "#4d9375"
|
|
73
|
+
},
|
|
74
|
+
"mdHeading5": {
|
|
75
|
+
"bold": true,
|
|
76
|
+
"fg": "#4d9375"
|
|
77
|
+
},
|
|
78
|
+
"mdHeading6": {
|
|
79
|
+
"bold": true,
|
|
80
|
+
"fg": "#4d9375"
|
|
81
|
+
},
|
|
82
|
+
"mdBold": {
|
|
83
|
+
"bold": true,
|
|
84
|
+
"fg": "#afaca2"
|
|
85
|
+
},
|
|
86
|
+
"mdItalic": {
|
|
87
|
+
"fg": "#afaca2",
|
|
88
|
+
"italic": true
|
|
89
|
+
},
|
|
90
|
+
"mdLink": {
|
|
91
|
+
"fg": "#c98a7d"
|
|
92
|
+
},
|
|
93
|
+
"mdQuote": {
|
|
94
|
+
"fg": "#5d99a9"
|
|
95
|
+
},
|
|
96
|
+
"mdListBullet": {
|
|
97
|
+
"fg": "#d4976c"
|
|
98
|
+
},
|
|
99
|
+
"mdHr": {
|
|
100
|
+
"bold": true,
|
|
101
|
+
"fg": "#79b8ff"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -1,78 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/folke/zaly/main/packages/tui/assets/schemas/theme.schema.json",
|
|
3
3
|
"id": "vitesse-dark",
|
|
4
4
|
"name": "Vitesse Dark",
|
|
5
5
|
"shiki": "vitesse-dark",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"ui": {
|
|
9
|
-
"bg": "#121212",
|
|
10
|
-
"fg": "#dbd7caee"
|
|
11
|
-
},
|
|
6
|
+
"bg": "#121212",
|
|
7
|
+
"fg": "#cecabe",
|
|
12
8
|
"primary": "#4d9375",
|
|
13
9
|
"accent": "#4d9375",
|
|
14
10
|
"success": "#4d9375",
|
|
15
11
|
"info": "#5eaab5",
|
|
16
12
|
"warn": "#d4976c",
|
|
17
13
|
"error": "#cb7676",
|
|
18
|
-
"muted": "#777777",
|
|
19
|
-
"border": "#191919",
|
|
20
|
-
"code": {
|
|
21
|
-
"bg": "#121212"
|
|
22
|
-
},
|
|
23
|
-
"mdCodeBlock": {
|
|
24
|
-
"bg": "#121212"
|
|
25
|
-
},
|
|
26
|
-
"overlay": {
|
|
27
|
-
"bg": "#121212"
|
|
28
|
-
},
|
|
29
|
-
"highlight": {
|
|
30
|
-
"bg": "#272727"
|
|
31
|
-
},
|
|
32
14
|
"selection": {
|
|
33
15
|
"bg": "#272727"
|
|
34
16
|
},
|
|
35
17
|
"diffAdd": {
|
|
36
|
-
"bg": "#253a31"
|
|
37
|
-
"fg": "#85e89d"
|
|
18
|
+
"bg": "#253a31"
|
|
38
19
|
},
|
|
39
20
|
"diffDel": {
|
|
40
|
-
"bg": "#422828"
|
|
41
|
-
"fg": "#fdaeb7"
|
|
21
|
+
"bg": "#422828"
|
|
42
22
|
},
|
|
43
|
-
"
|
|
44
|
-
"fg": "#
|
|
45
|
-
"bg": "#86181d"
|
|
23
|
+
"syntaxBoolean": {
|
|
24
|
+
"fg": "#4d9375"
|
|
46
25
|
},
|
|
47
|
-
"
|
|
48
|
-
"fg": "#
|
|
26
|
+
"syntaxBracket": {
|
|
27
|
+
"fg": "#666666"
|
|
49
28
|
},
|
|
50
|
-
"
|
|
51
|
-
"fg": "#
|
|
29
|
+
"syntaxConstant": {
|
|
30
|
+
"fg": "#bd976a"
|
|
52
31
|
},
|
|
53
|
-
"
|
|
54
|
-
"fg": "#
|
|
32
|
+
"syntaxDelimiter": {
|
|
33
|
+
"fg": "#666666"
|
|
55
34
|
},
|
|
56
|
-
"
|
|
57
|
-
"fg": "#
|
|
35
|
+
"syntaxField": {
|
|
36
|
+
"fg": "#bd976a"
|
|
58
37
|
},
|
|
59
38
|
"syntaxFunction": {
|
|
60
39
|
"fg": "#80a665"
|
|
61
40
|
},
|
|
62
|
-
"
|
|
63
|
-
"fg": "#
|
|
64
|
-
},
|
|
65
|
-
"syntaxConstant": {
|
|
66
|
-
"fg": "#c99076"
|
|
41
|
+
"syntaxNumber": {
|
|
42
|
+
"fg": "#4c9a91"
|
|
67
43
|
},
|
|
68
44
|
"syntaxSpecial": {
|
|
69
45
|
"fg": "#4d9375"
|
|
70
46
|
},
|
|
71
|
-
"
|
|
72
|
-
"fg": "#
|
|
47
|
+
"syntaxString": {
|
|
48
|
+
"fg": "#c98a7d"
|
|
73
49
|
},
|
|
74
|
-
"
|
|
75
|
-
|
|
50
|
+
"border": "#191919",
|
|
51
|
+
"comment": {
|
|
52
|
+
"fg": "#687668"
|
|
76
53
|
},
|
|
77
54
|
"mdHeading": {
|
|
78
55
|
"bold": true,
|
|
@@ -107,8 +84,8 @@
|
|
|
107
84
|
"fg": "#cecabe"
|
|
108
85
|
},
|
|
109
86
|
"mdItalic": {
|
|
110
|
-
"
|
|
111
|
-
"
|
|
87
|
+
"fg": "#cecabe",
|
|
88
|
+
"italic": true
|
|
112
89
|
},
|
|
113
90
|
"mdLink": {
|
|
114
91
|
"fg": "#c98a7d"
|
|
@@ -116,8 +93,8 @@
|
|
|
116
93
|
"mdQuote": {
|
|
117
94
|
"fg": "#5d99a9"
|
|
118
95
|
},
|
|
119
|
-
"
|
|
120
|
-
"fg": "#
|
|
96
|
+
"mdListBullet": {
|
|
97
|
+
"fg": "#d4976c"
|
|
121
98
|
},
|
|
122
99
|
"mdHr": {
|
|
123
100
|
"bold": true,
|
|
@@ -1,78 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/folke/zaly/main/packages/tui/assets/schemas/theme.schema.json",
|
|
3
3
|
"id": "vitesse-light",
|
|
4
4
|
"name": "Vitesse Light",
|
|
5
5
|
"shiki": "vitesse-light",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"ui": {
|
|
9
|
-
"bg": "#ffffff",
|
|
10
|
-
"fg": "#393a34"
|
|
11
|
-
},
|
|
6
|
+
"bg": "#ffffff",
|
|
7
|
+
"fg": "#393a34",
|
|
12
8
|
"primary": "#1c6b48",
|
|
13
9
|
"accent": "#1c6b48",
|
|
14
10
|
"success": "#1e754f",
|
|
15
11
|
"info": "#2993a3",
|
|
16
12
|
"warn": "#a65e2b",
|
|
17
13
|
"error": "#ab5959",
|
|
18
|
-
"muted": "#aaaaaa",
|
|
19
|
-
"border": "#f0f0f0",
|
|
20
|
-
"code": {
|
|
21
|
-
"bg": "#ffffff"
|
|
22
|
-
},
|
|
23
|
-
"mdCodeBlock": {
|
|
24
|
-
"bg": "#ffffff"
|
|
25
|
-
},
|
|
26
|
-
"overlay": {
|
|
27
|
-
"bg": "#ffffff"
|
|
28
|
-
},
|
|
29
|
-
"highlight": {
|
|
30
|
-
"bg": "#eaeaea"
|
|
31
|
-
},
|
|
32
14
|
"selection": {
|
|
33
15
|
"bg": "#eaeaea"
|
|
34
16
|
},
|
|
35
17
|
"diffAdd": {
|
|
36
|
-
"bg": "#d4e3dd"
|
|
37
|
-
"fg": "#22863a"
|
|
18
|
+
"bg": "#d4e3dd"
|
|
38
19
|
},
|
|
39
20
|
"diffDel": {
|
|
40
|
-
"bg": "#ead5d5"
|
|
41
|
-
"fg": "#b31d28"
|
|
21
|
+
"bg": "#ead5d5"
|
|
42
22
|
},
|
|
43
|
-
"
|
|
44
|
-
"fg": "#
|
|
45
|
-
"bg": "#ffeef0"
|
|
23
|
+
"syntaxBoolean": {
|
|
24
|
+
"fg": "#1e754f"
|
|
46
25
|
},
|
|
47
|
-
"
|
|
48
|
-
"fg": "#
|
|
26
|
+
"syntaxBracket": {
|
|
27
|
+
"fg": "#999999"
|
|
49
28
|
},
|
|
50
|
-
"
|
|
51
|
-
"fg": "#
|
|
29
|
+
"syntaxConstant": {
|
|
30
|
+
"fg": "#b07d48"
|
|
52
31
|
},
|
|
53
|
-
"
|
|
54
|
-
"fg": "#
|
|
32
|
+
"syntaxDelimiter": {
|
|
33
|
+
"fg": "#999999"
|
|
55
34
|
},
|
|
56
|
-
"
|
|
57
|
-
"fg": "#
|
|
35
|
+
"syntaxField": {
|
|
36
|
+
"fg": "#b07d48"
|
|
58
37
|
},
|
|
59
38
|
"syntaxFunction": {
|
|
60
39
|
"fg": "#59873a"
|
|
61
40
|
},
|
|
62
|
-
"
|
|
63
|
-
"fg": "#
|
|
64
|
-
},
|
|
65
|
-
"syntaxConstant": {
|
|
66
|
-
"fg": "#a65e2b"
|
|
41
|
+
"syntaxNumber": {
|
|
42
|
+
"fg": "#2f798a"
|
|
67
43
|
},
|
|
68
44
|
"syntaxSpecial": {
|
|
69
45
|
"fg": "#1e754f"
|
|
70
46
|
},
|
|
71
|
-
"
|
|
72
|
-
"fg": "#
|
|
47
|
+
"syntaxString": {
|
|
48
|
+
"fg": "#b56959"
|
|
73
49
|
},
|
|
74
|
-
"
|
|
75
|
-
|
|
50
|
+
"border": "#f0f0f0",
|
|
51
|
+
"comment": {
|
|
52
|
+
"fg": "#a0ada0"
|
|
76
53
|
},
|
|
77
54
|
"mdHeading": {
|
|
78
55
|
"bold": true,
|
|
@@ -107,8 +84,8 @@
|
|
|
107
84
|
"fg": "#393a34"
|
|
108
85
|
},
|
|
109
86
|
"mdItalic": {
|
|
110
|
-
"
|
|
111
|
-
"
|
|
87
|
+
"fg": "#393a34",
|
|
88
|
+
"italic": true
|
|
112
89
|
},
|
|
113
90
|
"mdLink": {
|
|
114
91
|
"fg": "#b56959"
|
|
@@ -116,8 +93,8 @@
|
|
|
116
93
|
"mdQuote": {
|
|
117
94
|
"fg": "#2e808f"
|
|
118
95
|
},
|
|
119
|
-
"
|
|
120
|
-
"fg": "#
|
|
96
|
+
"mdListBullet": {
|
|
97
|
+
"fg": "#a65e2b"
|
|
121
98
|
},
|
|
122
99
|
"mdHr": {
|
|
123
100
|
"bold": true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as PickerItem } from "./picker-
|
|
3
|
-
import { o as CompletionSource } from "./autocomplete-
|
|
1
|
+
import { Ht as Actions, Rt as ActionDef } from "./queries-C75-wG1B.mjs";
|
|
2
|
+
import { n as PickerItem } from "./picker-B-OxKKnD.mjs";
|
|
3
|
+
import { o as CompletionSource } from "./autocomplete-CD30kSe_.mjs";
|
|
4
4
|
//#region src/widgets/completions/actions.d.ts
|
|
5
5
|
/** Completion item produced by `actionsSource`. Carries the full
|
|
6
6
|
* `ActionInfo` plus the action `id` so the source's `accept` can
|
|
@@ -38,4 +38,4 @@ interface ActionsSourceOptions {
|
|
|
38
38
|
declare function actionsSource(opts: ActionsSourceOptions): CompletionSource<ActionCompletionItem>;
|
|
39
39
|
//#endregion
|
|
40
40
|
export { ActionsSourceOptions as n, actionsSource as r, ActionCompletionItem as t };
|
|
41
|
-
//# sourceMappingURL=actions
|
|
41
|
+
//# sourceMappingURL=actions--ODlgCQ5.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions
|
|
1
|
+
{"version":3,"file":"actions--ODlgCQ5.d.mts","names":[],"sources":["../src/widgets/completions/actions.ts"],"mappings":";;;;;;;;KAQY,uBAAuB,YAAY;EAAe;EAAY;;UAEzD;;EAEf,SAAS;;EAET,UAAU;;;EAGV,UAAU,YAAY,MAAM;;;;;;;;;;;;;;;;;;iBAmBd,cAAc,MAAM,uBAAuB,iBAAiB"}
|
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as toHex, n as isHexColor, r as parseHex } from "./color-DBMQLv4Y.mjs";
|
|
2
2
|
import { sliceAnsi } from "@zaly/shared/ansi";
|
|
3
3
|
import { hasColors } from "@zaly/shared/env";
|
|
4
|
-
//#region src/style/color.ts
|
|
5
|
-
const hexByte = (n) => clamp(Math.round(n), 0, 255).toString(16).padStart(2, "0");
|
|
6
|
-
function toHex(x, y, z) {
|
|
7
|
-
const [r, g, b] = Array.isArray(x) ? x : [
|
|
8
|
-
x,
|
|
9
|
-
y,
|
|
10
|
-
z
|
|
11
|
-
];
|
|
12
|
-
return `#${hexByte(r)}${hexByte(g)}${hexByte(b)}`;
|
|
13
|
-
}
|
|
14
|
-
function parseHex(hex) {
|
|
15
|
-
let s = hex.charCodeAt(0) === 35 ? hex.slice(1) : hex;
|
|
16
|
-
if (s.length === 4) s = s.slice(0, 3);
|
|
17
|
-
if (s.length === 8) s = s.slice(0, 6);
|
|
18
|
-
if (s.length === 3) s = s[0] + s[0] + s[1] + s[1] + s[2] + s[2];
|
|
19
|
-
if (s.length !== 6) throw new Error(`invalid hex color: ${hex}`);
|
|
20
|
-
const n = Number.parseInt(s, 16);
|
|
21
|
-
if (Number.isNaN(n)) throw new Error(`invalid hex color: ${hex}`);
|
|
22
|
-
return [
|
|
23
|
-
n >> 16 & 255,
|
|
24
|
-
n >> 8 & 255,
|
|
25
|
-
n & 255
|
|
26
|
-
];
|
|
27
|
-
}
|
|
28
|
-
function isHexColor(s) {
|
|
29
|
-
return /^#[0-9a-fA-F]{3,8}$/.test(s);
|
|
30
|
-
}
|
|
31
|
-
//#endregion
|
|
32
4
|
//#region src/style/ansi.ts
|
|
33
5
|
const OSC8 = "\x1B]8;;";
|
|
34
6
|
const ST = "\x1B\\";
|
|
@@ -154,6 +126,41 @@ function reapplyStyle(s, escape) {
|
|
|
154
126
|
}
|
|
155
127
|
return result + s.slice(lastPos);
|
|
156
128
|
}
|
|
129
|
+
/** Resolve terminal-default color resets without changing explicit child colors. */
|
|
130
|
+
function applyDefaultColors(text, fg, bg) {
|
|
131
|
+
if (!fg && !bg || !text.includes("\x1B[")) return text;
|
|
132
|
+
const fgParams = fg.slice(2, -1);
|
|
133
|
+
const bgParams = bg.slice(2, -1);
|
|
134
|
+
return text.replaceAll(/\x1b\[([\d;:]*)m/g, (match, raw) => {
|
|
135
|
+
const params = raw.split(";");
|
|
136
|
+
const next = [];
|
|
137
|
+
let changed = false;
|
|
138
|
+
for (let i = 0; i < params.length; i++) {
|
|
139
|
+
const param = params[i];
|
|
140
|
+
const code = Number(param);
|
|
141
|
+
if (code === 0) {
|
|
142
|
+
next.push(param, ...[fgParams, bgParams].filter(Boolean));
|
|
143
|
+
changed = true;
|
|
144
|
+
} else if (code === 39 && fgParams) {
|
|
145
|
+
next.push(fgParams);
|
|
146
|
+
changed = true;
|
|
147
|
+
} else if (code === 49 && bgParams) {
|
|
148
|
+
next.push(bgParams);
|
|
149
|
+
changed = true;
|
|
150
|
+
} else {
|
|
151
|
+
next.push(param);
|
|
152
|
+
if (code === 38 || code === 48 || code === 58) {
|
|
153
|
+
let count = 0;
|
|
154
|
+
if (params[i + 1] === "2") count = 4;
|
|
155
|
+
else if (params[i + 1] === "5") count = 2;
|
|
156
|
+
next.push(...params.slice(i + 1, i + 1 + count));
|
|
157
|
+
i += count;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return changed ? `\x1b[${next.join(";")}m` : match;
|
|
162
|
+
});
|
|
163
|
+
}
|
|
157
164
|
function stripAnsiBg(s) {
|
|
158
165
|
return s.replaceAll(/\x1b\[([0-9;]*)m/g, (match, raw) => {
|
|
159
166
|
const next = stripBgParams(raw);
|
|
@@ -201,6 +208,6 @@ function ansiBg(str, idx) {
|
|
|
201
208
|
return bg;
|
|
202
209
|
}
|
|
203
210
|
//#endregion
|
|
204
|
-
export {
|
|
211
|
+
export { hyperlink as a, stripAnsiBg as c, applyDefaultColors as i, styleAnsi as l, ansiBg as n, openAnsi as o, ansiColor as r, reapplyStyle as s, RESET as t };
|
|
205
212
|
|
|
206
|
-
//# sourceMappingURL=ansi-
|
|
213
|
+
//# sourceMappingURL=ansi-CMv71xVr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi-CMv71xVr.mjs","names":[],"sources":["../src/style/ansi.ts"],"sourcesContent":["import type { AnsiColor, AnsiStyle } from \"./types.ts\"\n\nimport { sliceAnsi } from \"@zaly/shared/ansi\"\nimport { hasColors } from \"@zaly/shared/env\"\nimport { isHexColor, parseHex, toHex } from \"./color.ts\"\n\n/** Optional wrap mode: `\"word\"` (default) breaks at word boundaries;\n * `\"char\"` hard-wraps mid-word. */\nexport interface WrapOpts {\n mode?: \"word\" | \"char\"\n}\n\n// ---- ANSI escape categories -------------------------------------------\n// OSC 8 hyperlink sequence. ESC + backslash is the \"string terminator\" (ST)\n// that closes the OSC. Format: `ESC]8;;URL ST TEXT ESC]8;; ST`.\nconst OSC8 = \"\\x1b]8;;\"\nconst ST = \"\\x1b\\\\\"\nexport const RESET = \"\\x1b[0m\"\n\n// Attribute → SGR code. Order matters for stable output.\nconst ATTRS = [\n [\"bold\", 1],\n [\"dim\", 2],\n [\"italic\", 3],\n [\"underline\", 4],\n [\"inverse\", 7],\n [\"strikethrough\", 9],\n] as const satisfies readonly (readonly [keyof AnsiStyle, number])[]\n\n// Standard 8-color ANSI palette. Offsets from SGR 30 (fg) and 40 (bg).\nconst ANSI_OFFSET: Record<string, number> = {\n black: 0,\n blue: 4,\n cyan: 6,\n green: 2,\n magenta: 5,\n red: 1,\n white: 7,\n yellow: 3,\n}\n\nconst ANSI_BG: Record<number, AnsiColor> = {\n 100: \"gray\", // or \"brightBlack\" if that exists\n 101: \"brightRed\",\n 102: \"brightGreen\",\n 103: \"brightYellow\",\n 104: \"brightBlue\",\n 105: \"brightMagenta\",\n 106: \"brightCyan\",\n 107: \"brightWhite\",\n 40: \"black\",\n 41: \"red\",\n 42: \"green\",\n 43: \"yellow\",\n 44: \"blue\",\n 45: \"magenta\",\n 46: \"cyan\",\n 47: \"white\",\n}\n\nconst notFound = Symbol(\"not found\")\nconst colorCache = new Map<string, string | typeof notFound>()\n\n/**\n * Wrap `text` in an OSC 8 hyperlink pointing at `url`. Modern terminals\n * (iTerm2, kitty, WezTerm, VS Code, Ghostty, …) render the text as\n * clickable while falling back gracefully to plain text elsewhere.\n *\n * Safe to nest ANSI SGR styling inside the `text` argument — OSC 8 is a\n * separate escape category and doesn't conflict.\n *\n * An empty `url` short-circuits and returns `text` unchanged, so callers\n * can unconditionally pipe link text through this helper.\n *\n * @internal\n */\nexport function hyperlink(url: string, text: string): string {\n if (url === \"\") return text\n return `${OSC8}${url}${ST}${text}${OSC8}${ST}`\n}\n\nexport function ansiColor(color: AnsiColor, kind: \"fg\" | \"bg\"): string | undefined {\n if (!hasColors) return\n const key = `${color}-${kind}`\n let cached = colorCache.get(key)\n if (cached === undefined) colorCache.set(key, (cached = _ansiColor(color, kind)) ?? notFound)\n return cached === notFound ? undefined : cached\n}\n\nfunction _ansiColor(color: AnsiColor, kind: \"fg\" | \"bg\"): string | undefined {\n if (color === \"inherit\") return\n // Gray aliases to brightBlack.\n if (color === \"gray\" || color === \"grey\") return String(kind === \"fg\" ? 90 : 100)\n\n const base = color in ANSI_OFFSET ? color : undefined\n if (base !== undefined) return String((kind === \"fg\" ? 30 : 40) + ANSI_OFFSET[base])\n\n if (color.startsWith(\"bright\")) {\n const rest = color.slice(\"bright\".length).toLowerCase()\n if (rest in ANSI_OFFSET) return String((kind === \"fg\" ? 90 : 100) + ANSI_OFFSET[rest])\n }\n\n const rgb = isHexColor(color) ? parseHex(color) : undefined\n if (rgb) {\n const indicator = kind === \"fg\" ? 38 : 48\n return `${indicator};2;${rgb[0]};${rgb[1]};${rgb[2]}`\n }\n}\n\nexport function openAnsi(style: AnsiStyle) {\n if (!hasColors) return \"\"\n const params: (number | string | undefined)[] = []\n for (const [key, code] of ATTRS) if (style[key]) params.push(code)\n if (style.fg !== undefined) params.push(ansiColor(style.fg, \"fg\"))\n if (style.bg !== undefined) params.push(ansiColor(style.bg, \"bg\"))\n const attrs = params.filter((p) => p !== undefined)\n if (attrs.length === 0) return \"\"\n return `\\x1b[${attrs.join(\";\")}m`\n}\n\nexport function styleAnsi(text: string, style?: AnsiStyle): string {\n if (!style) return text\n const open = openAnsi(style)\n if (open === \"\") return text\n return `${open}${text}${RESET}`\n}\n\n/**\n * Post-process a styled string so an outer style is re-applied after any\n * inner full-reset (`\\x1b[0m`). Without this, a child's reset clobbers\n * the parent's bg/fg/attrs for the remainder of the line.\n *\n * `escape` is the already-built SGR run to re-emit after each reset\n * (typically the return value of `openStyle(parentStyle, theme)`). If\n * empty, the input is returned unchanged.\n *\n * Inlined indexOf loop rather than `String.prototype.replaceAll` — the\n * manual version avoids the regex/object allocation overhead of\n * `replaceAll` and runs meaningfully faster on short strings (hot in\n * the builder's `apply`, called once per styled span). Pattern taken\n * from ansis's nested-style resolver.\n *\n * @internal\n */\nexport function reapplyStyle(s: string, escape: string): string {\n if (escape === \"\" || !s.includes(RESET)) return s\n const replacement = RESET + escape\n const searchLength = RESET.length\n let result = \"\"\n let lastPos = 0\n let pos = s.indexOf(RESET)\n while (pos !== -1) {\n result += s.slice(lastPos, pos) + replacement\n lastPos = pos + searchLength\n pos = s.indexOf(RESET, lastPos)\n }\n return result + s.slice(lastPos)\n}\n\n/** Resolve terminal-default color resets without changing explicit child colors. */\nexport function applyDefaultColors(text: string, fg: string, bg: string): string {\n if ((!fg && !bg) || !text.includes(\"\\x1b[\")) return text\n const fgParams = fg.slice(2, -1)\n const bgParams = bg.slice(2, -1)\n return text.replaceAll(/\\x1b\\[([\\d;:]*)m/g, (match, raw: string) => {\n const params = raw.split(\";\")\n const next: string[] = []\n let changed = false\n for (let i = 0; i < params.length; i++) {\n const param = params[i]\n const code = Number(param)\n if (code === 0) {\n next.push(param, ...[fgParams, bgParams].filter(Boolean))\n changed = true\n } else if (code === 39 && fgParams) {\n next.push(fgParams)\n changed = true\n } else if (code === 49 && bgParams) {\n next.push(bgParams)\n changed = true\n } else {\n next.push(param)\n // RGB components and palette indexes can themselves be 0, 39, or 49.\n if (code === 38 || code === 48 || code === 58) {\n let count = 0\n if (params[i + 1] === \"2\") count = 4\n else if (params[i + 1] === \"5\") count = 2\n next.push(...params.slice(i + 1, i + 1 + count))\n i += count\n }\n }\n }\n return changed ? `\\x1b[${next.join(\";\")}m` : match\n })\n}\n\nexport function stripAnsiBg(s: string): string {\n return s.replaceAll(/\\x1b\\[([0-9;]*)m/g, (match, raw: string) => {\n const next = stripBgParams(raw)\n if (next === raw) return match\n return next === \"\" ? \"\" : `\\x1b[${next}m`\n })\n}\n\nfunction stripBgParams(raw: string): string {\n if (raw === \"\") return raw\n const params = raw.split(\";\").map(Number)\n const ret: number[] = []\n for (let i = 0; i < params.length; i++) {\n const p = params[i]\n if ((p >= 40 && p <= 47) || (p >= 100 && p <= 107) || p === 49) continue\n if (p === 48) {\n const mode = params[i + 1]\n if (mode === 2) {\n i += 4\n continue\n }\n if (mode === 5) {\n i += 2\n continue\n }\n continue\n }\n ret.push(p)\n }\n return ret.join(\";\")\n}\n\nexport function ansiBg(str: string, idx: number): AnsiColor | undefined {\n const cell = sliceAnsi(str, idx, idx + 1)\n\n let bg: AnsiColor | undefined\n\n for (const match of cell.matchAll(/\\x1b\\[([0-9;]*)m/g)) {\n const params = match[1].split(\";\").map(Number)\n\n for (let i = 0; i < params.length; i++) {\n const p = params[i]\n\n if ((p >= 40 && p <= 47) || (p >= 100 && p <= 107)) {\n bg = ANSI_BG[p]\n } else if (p === 48 && params[i + 1] === 2) {\n bg = toHex(params[i + 2], params[i + 3], params[i + 4])\n i += 4\n }\n }\n }\n\n return bg\n}\n"],"mappings":"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"}
|
package/dist/ansi.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as AnsiStyle, t as AnsiColor } from "./types-C9ceMsbJ.mjs";
|
|
2
2
|
//#region src/style/ansi.d.ts
|
|
3
3
|
/** Optional wrap mode: `"word"` (default) breaks at word boundaries;
|
|
4
4
|
* `"char"` hard-wraps mid-word. */
|
|
@@ -41,6 +41,8 @@ export declare function styleAnsi(text: string, style?: AnsiStyle): string;
|
|
|
41
41
|
* @internal
|
|
42
42
|
*/
|
|
43
43
|
export declare function reapplyStyle(s: string, escape: string): string;
|
|
44
|
+
/** Resolve terminal-default color resets without changing explicit child colors. */
|
|
45
|
+
export declare function applyDefaultColors(text: string, fg: string, bg: string): string;
|
|
44
46
|
export declare function stripAnsiBg(s: string): string;
|
|
45
47
|
export declare function ansiBg(str: string, idx: number): AnsiColor | undefined;
|
|
46
48
|
//#endregion
|
package/dist/ansi.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.d.mts","names":[],"sources":["../src/style/ansi.ts"],"mappings":";;;;iBAQiB;EACf;;qBAQW;;;;;;;;;;;;;;wBA2DG,UAAU,aAAa;wBAKvB,UAAU,OAAO,WAAW;wBA4B5B,SAAS,OAAO;wBAWhB,UAAU,cAAc,QAAQ;;;;;;;;;;;;;;;;;;wBAwBhC,aAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"ansi.d.mts","names":[],"sources":["../src/style/ansi.ts"],"mappings":";;;;iBAQiB;EACf;;qBAQW;;;;;;;;;;;;;;wBA2DG,UAAU,aAAa;wBAKvB,UAAU,OAAO,WAAW;wBA4B5B,SAAS,OAAO;wBAWhB,UAAU,cAAc,QAAQ;;;;;;;;;;;;;;;;;;wBAwBhC,aAAa,WAAW;;wBAgBxB,mBAAmB,cAAc,YAAY;wBAoC7C,YAAY;wBAgCZ,OAAO,aAAa,cAAc"}
|
package/dist/ansi.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as RESET, n as ansiBg, r as ansiColor, i as
|
|
1
|
+
export { t as RESET, n as ansiBg, r as ansiColor, i as applyDefaultColors, a as hyperlink, o as openAnsi, s as reapplyStyle, c as stripAnsiBg, l as styleAnsi } from "./ansi-CMv71xVr.mjs";
|