@zaly/tui 0.0.12 → 0.1.1
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 +226 -1046
- package/assets/themes/andromeeda.json +97 -0
- package/assets/themes/ayu-dark.json +31 -25
- package/assets/themes/ayu-light.json +106 -0
- package/assets/themes/ayu-mirage.json +106 -0
- package/assets/themes/catppuccin-frappe.json +43 -40
- package/assets/themes/catppuccin-latte.json +43 -40
- package/assets/themes/catppuccin-macchiato.json +43 -40
- package/assets/themes/catppuccin-mocha.json +43 -40
- package/assets/themes/dark-plus.json +99 -0
- package/assets/themes/dracula.json +47 -47
- package/assets/themes/everforest-dark.json +28 -26
- package/assets/themes/everforest-light.json +28 -26
- 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 -29
- 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 -49
- package/assets/themes/kanagawa-lotus.json +105 -0
- package/assets/themes/kanagawa-wave.json +56 -50
- 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 -45
- package/assets/themes/material-theme.json +102 -0
- package/assets/themes/min-dark.json +69 -14
- package/assets/themes/min-light.json +68 -17
- package/assets/themes/monokai.json +54 -47
- package/assets/themes/night-owl-light.json +105 -0
- package/assets/themes/night-owl.json +57 -49
- package/assets/themes/nord.json +53 -39
- package/assets/themes/one-dark-pro.json +46 -38
- package/assets/themes/one-light.json +52 -41
- package/assets/themes/poimandres.json +51 -49
- package/assets/themes/rose-pine-dawn.json +99 -0
- package/assets/themes/rose-pine-moon.json +99 -0
- package/assets/themes/rose-pine.json +50 -33
- package/assets/themes/solarized-dark.json +38 -31
- package/assets/themes/solarized-light.json +40 -33
- package/assets/themes/synthwave-84.json +47 -30
- package/assets/themes/tokyonight-day.json +3 -3
- package/assets/themes/tokyonight-moon.json +3 -2
- package/assets/themes/tokyonight-night.json +3 -2
- package/assets/themes/tokyonight-storm.json +3 -2
- package/assets/themes/vesper.json +50 -42
- package/assets/themes/vitesse-black.json +103 -0
- package/assets/themes/vitesse-dark.json +26 -30
- package/assets/themes/vitesse-light.json +26 -30
- package/dist/{actions-DEIKF2ts.mjs → actions-AY6avfEV.mjs} +2 -3
- package/dist/{actions-DEIKF2ts.mjs.map → actions-AY6avfEV.mjs.map} +1 -1
- package/dist/{actions-Dc4D4uSf.d.mts → actions-B0yyZ-Ww.d.mts} +4 -6
- package/dist/actions-B0yyZ-Ww.d.mts.map +1 -0
- package/dist/{ansi-DZlXaItJ.mjs → ansi-CxgRPLA2.mjs} +4 -33
- package/dist/ansi-CxgRPLA2.mjs.map +1 -0
- package/dist/ansi.d.mts +1 -3
- package/dist/ansi.d.mts.map +1 -1
- package/dist/ansi.mjs +1 -1
- package/dist/{autocomplete-StW1QJZJ.d.mts → autocomplete-wgceuhLr.d.mts} +5 -7
- package/dist/autocomplete-wgceuhLr.d.mts.map +1 -0
- package/dist/{box-BkP4MF82.mjs → box-DToDoXlU.mjs} +8 -10
- package/dist/{box-BkP4MF82.mjs.map → box-DToDoXlU.mjs.map} +1 -1
- package/dist/builder-BdYlK1Ew.mjs +195 -0
- package/dist/builder-BdYlK1Ew.mjs.map +1 -0
- package/dist/{callbacks-BwWTCqPJ.mjs → callbacks-DW8XKYKy.mjs} +9 -13
- package/dist/{callbacks-BwWTCqPJ.mjs.map → callbacks-DW8XKYKy.mjs.map} +1 -1
- package/dist/{client-C2GXKfJ1.mjs → client-BWm6dNZF.mjs} +9 -6
- package/dist/client-BWm6dNZF.mjs.map +1 -0
- package/dist/client-C69qWhMG.mjs +1 -0
- package/dist/{clipboard-CNPBTX7j.mjs → clipboard-UEoX9sup.mjs} +2 -3
- package/dist/{clipboard-CNPBTX7j.mjs.map → clipboard-UEoX9sup.mjs.map} +1 -1
- package/dist/clipboard.d.mts +0 -2
- package/dist/clipboard.d.mts.map +1 -1
- package/dist/clipboard.mjs +1 -1
- package/dist/color-Cr1VoL49.mjs +36 -0
- package/dist/color-Cr1VoL49.mjs.map +1 -0
- package/dist/ctx-CYEzzH-7.mjs +1 -0
- package/dist/{ctx-B7BmPUCD.mjs → ctx-DBeFcZt6.mjs} +4 -5
- package/dist/{ctx-B7BmPUCD.mjs.map → ctx-DBeFcZt6.mjs.map} +1 -1
- package/dist/{divider-TSx9NhI_.mjs → divider-qEj5prKE.mjs} +3 -4
- package/dist/{divider-TSx9NhI_.mjs.map → divider-qEj5prKE.mjs.map} +1 -1
- package/dist/{files-BvThQpOf.mjs → files-C3ZnFpvq.mjs} +3 -4
- package/dist/{files-BvThQpOf.mjs.map → files-C3ZnFpvq.mjs.map} +1 -1
- package/dist/{files-7DUYSeNc.d.mts → files-CdiDnwA_.d.mts} +3 -5
- package/dist/files-CdiDnwA_.d.mts.map +1 -0
- package/dist/{flex-Bguo-fUe.mjs → flex-CYp4etqn.mjs} +3 -4
- package/dist/{flex-Bguo-fUe.mjs.map → flex-CYp4etqn.mjs.map} +1 -1
- package/dist/{github-Cy2hfWJ7.mjs → github-CLveT9mq.mjs} +2 -3
- package/dist/{github-Cy2hfWJ7.mjs.map → github-CLveT9mq.mjs.map} +1 -1
- package/dist/{github-C1KfXk98.d.mts → github-DC0XemKa.d.mts} +3 -5
- package/dist/github-DC0XemKa.d.mts.map +1 -0
- package/dist/{image-VaT7AN-S.d.mts → image-DdRDv7q6.d.mts} +2 -4
- package/dist/image-DdRDv7q6.d.mts.map +1 -0
- package/dist/image-M--Bw4bs.mjs +177 -0
- package/dist/image-M--Bw4bs.mjs.map +1 -0
- package/dist/image.d.mts +1 -3
- package/dist/image.d.mts.map +1 -1
- package/dist/image.mjs +1 -1
- package/dist/index.d.mts +11 -14
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +12 -14
- package/dist/index.mjs.map +1 -1
- package/dist/{input-BGTTujDN.mjs → input-BkE4EpBw.mjs} +6 -7
- package/dist/{input-BGTTujDN.mjs.map → input-BkE4EpBw.mjs.map} +1 -1
- package/dist/{input-BAYux7qo.d.mts → input-C3kfYoEJ.d.mts} +3 -5
- package/dist/input-C3kfYoEJ.d.mts.map +1 -0
- package/dist/{inspect-jG_W4njH.mjs → inspect-Cli1beu8.mjs} +3 -4
- package/dist/{inspect-jG_W4njH.mjs.map → inspect-Cli1beu8.mjs.map} +1 -1
- package/dist/{inspect-CfNydMgO.d.mts → inspect-hSl3U2BD.d.mts} +2 -6
- package/dist/inspect-hSl3U2BD.d.mts.map +1 -0
- package/dist/kitty-0sJ8axU_.mjs +1 -0
- package/dist/{kitty-JbCJC0iQ.mjs → kitty-BH_eK6lz.mjs} +2 -3
- package/dist/{kitty-JbCJC0iQ.mjs.map → kitty-BH_eK6lz.mjs.map} +1 -1
- package/dist/{log-ByKlM4iI.mjs → log-96b1_J6G.mjs} +6 -7
- package/dist/{log-ByKlM4iI.mjs.map → log-96b1_J6G.mjs.map} +1 -1
- package/dist/{logger-DSQb0sLP.mjs → logger-DwfXp8LF.mjs} +5 -6
- package/dist/{logger-DSQb0sLP.mjs.map → logger-DwfXp8LF.mjs.map} +1 -1
- package/dist/{markdown-CwRmWuU6.mjs → markdown-CgRZBhIX.mjs} +12 -12
- package/dist/markdown-CgRZBhIX.mjs.map +1 -0
- package/dist/markdown.d.mts +2 -4
- package/dist/markdown.d.mts.map +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/math-Dk8hxbmz.mjs +1 -0
- package/dist/math-VPuwFCid.mjs +205 -0
- package/dist/math-VPuwFCid.mjs.map +1 -0
- package/dist/md.bun.d.mts +1 -3
- package/dist/md.bun.d.mts.map +1 -1
- package/dist/md.bun.mjs +2 -3
- package/dist/md.node.d.mts +1 -3
- package/dist/md.node.d.mts.map +1 -1
- package/dist/md.node.mjs +2 -3
- package/dist/{node-BZ7f6HzU.mjs → node-CXNobGaP.mjs} +3 -4
- package/dist/{node-BZ7f6HzU.mjs.map → node-CXNobGaP.mjs.map} +1 -1
- package/dist/oklch-Boh4YHEc.mjs +98 -0
- package/dist/oklch-Boh4YHEc.mjs.map +1 -0
- package/dist/{overlay-BnvOKtGT.mjs → overlay-CevDWgSF.mjs} +3 -4
- package/dist/{overlay-BnvOKtGT.mjs.map → overlay-CevDWgSF.mjs.map} +1 -1
- package/dist/{picker-Dh5IUrTk.mjs → picker-D9WrE3zF.mjs} +11 -16
- package/dist/{picker-Dh5IUrTk.mjs.map → picker-D9WrE3zF.mjs.map} +1 -1
- package/dist/{picker-DQs_IW77.d.mts → picker-DsB6--GN.d.mts} +6 -8
- package/dist/picker-DsB6--GN.d.mts.map +1 -0
- package/dist/{queries-B_lOwEiE.mjs → queries-BIniKnLL.mjs} +68 -7
- package/dist/queries-BIniKnLL.mjs.map +1 -0
- package/dist/{queries-BDX8mcl5.d.mts → queries-Dmd3IjSd.d.mts} +19 -52
- package/dist/queries-Dmd3IjSd.d.mts.map +1 -0
- package/dist/{reactive-f7NpAi69.mjs → reactive-DkP75TPk.mjs} +2 -3
- package/dist/{reactive-f7NpAi69.mjs.map → reactive-DkP75TPk.mjs.map} +1 -1
- package/dist/{registry-D-suU3g0.mjs → registry-CQU0VwpM.mjs} +205 -65
- package/dist/registry-CQU0VwpM.mjs.map +1 -0
- package/dist/{render-DEIUNLkh.mjs → render-Bp2N2i6J.mjs} +4 -5
- package/dist/{render-DEIUNLkh.mjs.map → render-Bp2N2i6J.mjs.map} +1 -1
- package/dist/{renderer-zDNlAovy.mjs → renderer-B9sAMA10.mjs} +123 -40
- package/dist/renderer-B9sAMA10.mjs.map +1 -0
- package/dist/{renderer-MQue4Da5.mjs → renderer-BYl2pbdx.mjs} +9 -9
- package/dist/renderer-BYl2pbdx.mjs.map +1 -0
- package/dist/renderer-Ctz0hv5o.mjs +1 -0
- package/dist/{search-FvGnswRl.d.mts → search-DsHzamic.d.mts} +1 -9
- package/dist/search-DsHzamic.d.mts.map +1 -0
- package/dist/{select-J2KtwxyK.d.mts → select-BZCFXdjp.d.mts} +3 -5
- package/dist/select-BZCFXdjp.d.mts.map +1 -0
- package/dist/{select-m7NE6Rwa.mjs → select-CUmAFKJh.mjs} +5 -6
- package/dist/{select-m7NE6Rwa.mjs.map → select-CUmAFKJh.mjs.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 -3
- package/dist/services/notifier.d.mts.map +1 -1
- package/dist/services/notifier.mjs +3 -4
- package/dist/services/picker.d.mts +5 -7
- package/dist/services/picker.d.mts.map +1 -1
- package/dist/services/picker.mjs +8 -9
- package/dist/services/prompt.d.mts +4 -6
- package/dist/services/prompt.d.mts.map +1 -1
- package/dist/services/prompt.mjs +7 -8
- package/dist/shiki/server.mjs +40 -19
- package/dist/shiki/server.mjs.map +1 -1
- package/dist/shiki-BAf9PdIc.mjs +19 -0
- package/dist/shiki-BAf9PdIc.mjs.map +1 -0
- package/dist/shiki-DUUAIE6f.mjs +632 -0
- package/dist/shiki-DUUAIE6f.mjs.map +1 -0
- package/dist/{show-DR2x1YFc.mjs → show-D5XNXgZf.mjs} +4 -5
- package/dist/{show-DR2x1YFc.mjs.map → show-D5XNXgZf.mjs.map} +1 -1
- package/dist/{size-D8JogYLy.mjs → size-BHRJuRk9.mjs} +2 -3
- package/dist/{size-D8JogYLy.mjs.map → size-BHRJuRk9.mjs.map} +1 -1
- package/dist/style-Cw_EuszU.mjs +108 -0
- package/dist/style-Cw_EuszU.mjs.map +1 -0
- package/dist/style.d.mts +4 -5
- package/dist/style.d.mts.map +1 -1
- package/dist/style.mjs +4 -4
- package/dist/{text-CkQ7Irmt.mjs → text-4arC3odI.mjs} +3 -4
- package/dist/{text-CkQ7Irmt.mjs.map → text-4arC3odI.mjs.map} +1 -1
- package/dist/{text-XvPfweeg.mjs → text-BArwVVkg.mjs} +5 -6
- package/dist/{text-XvPfweeg.mjs.map → text-BArwVVkg.mjs.map} +1 -1
- package/dist/{text-CCYs9RB2.d.mts → text-DdkJXgoC.d.mts} +3 -5
- package/dist/text-DdkJXgoC.d.mts.map +1 -0
- package/dist/text.d.mts +1 -1
- package/dist/text.mjs +1 -1
- package/dist/theme-B8hb1lPU.mjs +60 -0
- package/dist/theme-B8hb1lPU.mjs.map +1 -0
- package/dist/theme-BeSaXGNY.mjs +1792 -0
- package/dist/theme-BeSaXGNY.mjs.map +1 -0
- package/dist/themes.d.mts +211 -77
- package/dist/themes.d.mts.map +1 -1
- package/dist/themes.mjs +1 -1
- package/dist/{tree-DJl5W_B7.d.mts → tree-Berzv8Rz.d.mts} +3 -5
- package/dist/tree-Berzv8Rz.d.mts.map +1 -0
- package/dist/{tree-Bo1afYhe.mjs → tree-D6NvMQx8.mjs} +5 -6
- package/dist/{tree-Bo1afYhe.mjs.map → tree-D6NvMQx8.mjs.map} +1 -1
- package/dist/{types-D2EYlzmK.d.mts → types-ByMHEdCF.d.mts} +133 -131
- package/dist/types-ByMHEdCF.d.mts.map +1 -0
- package/dist/{types-D3jk1rtk.d.mts → types-CUVUJPz6.d.mts} +1 -3
- package/dist/types-CUVUJPz6.d.mts.map +1 -0
- package/dist/{utils-3M4D_AXZ.mjs → utils-DHXAegVW.mjs} +1 -2
- package/dist/{utils-3M4D_AXZ.mjs.map → utils-DHXAegVW.mjs.map} +1 -1
- package/dist/{widget-BkMwhY2p.mjs → widget-sFveyrZE.mjs} +3 -4
- package/dist/{widget-BkMwhY2p.mjs.map → widget-sFveyrZE.mjs.map} +1 -1
- package/dist/{widget-DPqBbB57.d.mts → widget-sPJaKVU2.d.mts} +2 -4
- package/dist/widget-sPJaKVU2.d.mts.map +1 -0
- package/dist/widgets/autocomplete.d.mts +1 -1
- package/dist/widgets/autocomplete.mjs +5 -6
- package/dist/widgets/box.d.mts +1 -1
- package/dist/widgets/box.mjs +1 -1
- package/dist/widgets/code.d.mts +4 -4
- package/dist/widgets/code.d.mts.map +1 -1
- package/dist/widgets/code.mjs +12 -12
- package/dist/widgets/code.mjs.map +1 -1
- package/dist/widgets/completions/actions.d.mts +1 -1
- package/dist/widgets/completions/actions.mjs +1 -1
- package/dist/widgets/completions/files.d.mts +1 -1
- package/dist/widgets/completions/files.mjs +1 -1
- package/dist/widgets/completions/github.d.mts +1 -1
- package/dist/widgets/completions/github.mjs +1 -1
- package/dist/widgets/completions/index.d.mts +3 -3
- package/dist/widgets/completions/index.mjs +3 -3
- package/dist/widgets/diff.d.mts +2 -4
- package/dist/widgets/diff.d.mts.map +1 -1
- package/dist/widgets/diff.mjs +38 -16
- package/dist/widgets/diff.mjs.map +1 -1
- package/dist/widgets/divider.d.mts +2 -4
- package/dist/widgets/divider.d.mts.map +1 -1
- package/dist/widgets/divider.mjs +1 -1
- package/dist/widgets/image.d.mts +1 -1
- package/dist/widgets/image.mjs +8 -9
- 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 +5 -7
- 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 +2 -4
- package/dist/widgets/progress.d.mts.map +1 -1
- package/dist/widgets/progress.mjs +4 -5
- package/dist/widgets/select.d.mts +1 -1
- package/dist/widgets/select.mjs +1 -1
- package/dist/widgets/show.d.mts +1 -3
- package/dist/widgets/show.d.mts.map +1 -1
- package/dist/widgets/show.mjs +1 -1
- package/dist/widgets/spinner.d.mts +2 -4
- package/dist/widgets/spinner.d.mts.map +1 -1
- package/dist/widgets/spinner.mjs +3 -4
- 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/tree.mjs +1 -1
- package/dist/widgets/widget.d.mts +1 -1
- package/dist/widgets/widget.mjs +1 -1
- package/dist/{worker-T6SdPzUH.mjs → worker-CtEowucz.mjs} +2 -3
- package/dist/{worker-T6SdPzUH.mjs.map → worker-CtEowucz.mjs.map} +1 -1
- package/dist/worker-Mqi380Et.mjs +1 -0
- package/package.json +5 -7
- package/assets/themes/dracula-soft.json +0 -100
- package/assets/themes/github-dark.json +0 -104
- package/assets/themes/github-light.json +0 -104
- package/dist/actions-Dc4D4uSf.d.mts.map +0 -1
- package/dist/ansi-DZlXaItJ.mjs.map +0 -1
- package/dist/autocomplete-StW1QJZJ.d.mts.map +0 -1
- package/dist/builder-1z5ewEWK.mjs +0 -386
- package/dist/builder-1z5ewEWK.mjs.map +0 -1
- package/dist/client-C2GXKfJ1.mjs.map +0 -1
- package/dist/client-bzdHIDL2.mjs +0 -1
- package/dist/ctx-D_JgJ8Eo.mjs +0 -1
- package/dist/files-7DUYSeNc.d.mts.map +0 -1
- package/dist/github-C1KfXk98.d.mts.map +0 -1
- package/dist/image-Cm5T-uw-.mjs +0 -108
- package/dist/image-Cm5T-uw-.mjs.map +0 -1
- package/dist/image-VaT7AN-S.d.mts.map +0 -1
- package/dist/input-BAYux7qo.d.mts.map +0 -1
- package/dist/inspect-CfNydMgO.d.mts.map +0 -1
- package/dist/markdown-CwRmWuU6.mjs.map +0 -1
- package/dist/picker-DQs_IW77.d.mts.map +0 -1
- package/dist/queries-BDX8mcl5.d.mts.map +0 -1
- package/dist/queries-B_lOwEiE.mjs.map +0 -1
- package/dist/registry-D-suU3g0.mjs.map +0 -1
- package/dist/renderer-DhqbEVVR.mjs +0 -1
- package/dist/renderer-MQue4Da5.mjs.map +0 -1
- package/dist/renderer-zDNlAovy.mjs.map +0 -1
- package/dist/search-FvGnswRl.d.mts.map +0 -1
- package/dist/select-J2KtwxyK.d.mts.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-CCYs9RB2.d.mts.map +0 -1
- package/dist/theme.config-B3Yx--C2.mjs +0 -855
- package/dist/theme.config-B3Yx--C2.mjs.map +0 -1
- package/dist/tree-DJl5W_B7.d.mts.map +0 -1
- package/dist/types-D2EYlzmK.d.mts.map +0 -1
- package/dist/types-D3jk1rtk.d.mts.map +0 -1
- package/dist/widget-DPqBbB57.d.mts.map +0 -1
- package/dist/worker-C01jK2Ip.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-
|
|
1
|
+
{"version":3,"file":"worker-CtEowucz.mjs","names":[],"sources":["../src/shiki/worker.ts"],"sourcesContent":["// oxlint-disable typescript/method-signature-style unicorn/require-post-message-target-origin\nimport type { MaybePromise } from \"@zaly/shared\"\n\nexport const workerHost = {\n onMessage: (handler: (message: any) => MaybePromise): void => {\n if (typeof globalThis.addEventListener === \"function\") {\n globalThis.addEventListener(\"message\", (event: MessageEvent) => void handler(event.data))\n return\n }\n void import(\"node:worker_threads\").then(({ parentPort }) => {\n parentPort?.on(\"message\", (message) => void handler(message))\n })\n },\n\n postMessage: (message: unknown): void => {\n if (typeof globalThis.postMessage === \"function\") {\n // oxlint-disable-next-line unicorn/require-post-message-target-origin\n globalThis.postMessage(message)\n return\n }\n void import(\"node:worker_threads\").then(({ parentPort }) => {\n // oxlint-disable-next-line unicorn/require-post-message-target-origin\n parentPort?.postMessage(message)\n })\n },\n}\n\nexport type WorkerInstance<In = unknown, Out = unknown> = {\n on(event: \"message\", handler: (message: Out) => MaybePromise): void\n on(event: \"error\", handler: (error: Error) => MaybePromise): void\n postMessage(message: In): void\n terminate(): void\n}\n\nexport async function createWorker<In = unknown, Out = unknown>(): Promise<\n WorkerInstance<In, Out>\n> {\n const scriptURL = new URL(import.meta.resolve(\"#shiki-worker\"))\n if (typeof globalThis.Worker === \"function\") {\n const w = new Worker(scriptURL, { type: \"module\" })\n // oxlint-disable-next-line typescript/no-unnecessary-condition\n w.unref?.()\n return {\n on: (event, handler) => {\n if (event === \"error\")\n w.addEventListener(event, (e) => void handler(e.error ?? new Error(e.message)))\n else w.addEventListener(event, (e) => void handler(e.data))\n // Registering a listener can re-reference the worker.\n // oxlint-disable-next-line typescript/no-unnecessary-condition\n w.unref?.()\n },\n postMessage: (message) => w.postMessage(message),\n terminate: () => w.terminate(),\n }\n }\n const { Worker: NodeWorker } = await import(\"node:worker_threads\")\n const worker = new NodeWorker(scriptURL)\n worker.unref()\n return {\n on: (event, handler) => {\n worker.on(event, (e) => void handler(e))\n // Registering a listener re-references the worker's MessagePort.\n worker.unref()\n },\n postMessage: (message) => worker.postMessage(message),\n terminate: () => void worker.terminate(),\n }\n}\n"],"mappings":";AAGA,MAAa,aAAa;CACxB,YAAY,YAAkD;EAC5D,IAAI,OAAO,WAAW,qBAAqB,YAAY;GACrD,WAAW,iBAAiB,YAAY,UAAwB,KAAK,QAAQ,MAAM,IAAI,CAAC;GACxF;EACF;EACA,OAAY,sBAAsB,CAAC,MAAM,EAAE,iBAAiB;GAC1D,YAAY,GAAG,YAAY,YAAY,KAAK,QAAQ,OAAO,CAAC;EAC9D,CAAC;CACH;CAEA,cAAc,YAA2B;EACvC,IAAI,OAAO,WAAW,gBAAgB,YAAY;GAEhD,WAAW,YAAY,OAAO;GAC9B;EACF;EACA,OAAY,sBAAsB,CAAC,MAAM,EAAE,iBAAiB;GAE1D,YAAY,YAAY,OAAO;EACjC,CAAC;CACH;AACF;AASA,eAAsB,eAEpB;CACA,MAAM,YAAY,IAAI,IAAI,YAAY,QAAQ,eAAe,CAAC;CAC9D,IAAI,OAAO,WAAW,WAAW,YAAY;EAC3C,MAAM,IAAI,IAAI,OAAO,WAAW,EAAE,MAAM,SAAS,CAAC;EAElD,EAAE,QAAQ;EACV,OAAO;GACL,KAAK,OAAO,YAAY;IACtB,IAAI,UAAU,SACZ,EAAE,iBAAiB,QAAQ,MAAM,KAAK,QAAQ,EAAE,SAAS,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;SAC3E,EAAE,iBAAiB,QAAQ,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAC;IAG1D,EAAE,QAAQ;GACZ;GACA,cAAc,YAAY,EAAE,YAAY,OAAO;GAC/C,iBAAiB,EAAE,UAAU;EAC/B;CACF;CACA,MAAM,EAAE,QAAQ,eAAe,MAAM,OAAO;CAC5C,MAAM,SAAS,IAAI,WAAW,SAAS;CACvC,OAAO,MAAM;CACb,OAAO;EACL,KAAK,OAAO,YAAY;GACtB,OAAO,GAAG,QAAQ,MAAM,KAAK,QAAQ,CAAC,CAAC;GAEvC,OAAO,MAAM;EACf;EACA,cAAc,YAAY,OAAO,YAAY,OAAO;EACpD,iBAAiB,KAAK,OAAO,UAAU;CACzC;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as createWorker } from "./worker-CtEowucz.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zaly/tui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Terminal UI framework used by zaly.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ansi",
|
|
@@ -79,18 +79,20 @@
|
|
|
79
79
|
"access": "public"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@
|
|
82
|
+
"@mathjax/src": "^4.1.3",
|
|
83
|
+
"@zaly/shared": "0.1.1",
|
|
83
84
|
"diff": "^9.0.0",
|
|
84
85
|
"marked": "^18.1.1",
|
|
85
86
|
"pathe": "^2.0.3",
|
|
86
87
|
"shiki": "^4.5.0"
|
|
87
88
|
},
|
|
88
89
|
"devDependencies": {
|
|
90
|
+
"@shikijs/vscode-textmate": "10.1.0",
|
|
89
91
|
"ghostty-web": "^0.4.0",
|
|
90
92
|
"mitata": "^1.0.34",
|
|
91
93
|
"slice-ansi": "^9.0.1",
|
|
92
94
|
"string-width": "^8.3.0",
|
|
93
|
-
"
|
|
95
|
+
"typebox": "^1.4.3",
|
|
94
96
|
"wrap-ansi": "^10.0.2"
|
|
95
97
|
},
|
|
96
98
|
"optionalDependencies": {
|
|
@@ -100,14 +102,10 @@
|
|
|
100
102
|
"bun": ">=1.2",
|
|
101
103
|
"node": ">=22.18.0"
|
|
102
104
|
},
|
|
103
|
-
"inlinedDependencies": {
|
|
104
|
-
"typia": "15.1.0"
|
|
105
|
-
},
|
|
106
105
|
"scripts": {
|
|
107
106
|
"bench": "z bench",
|
|
108
107
|
"build": "z build",
|
|
109
108
|
"build:themes-1-shiki": "bun scripts/themes-shiki.ts",
|
|
110
|
-
"build:themes-2-nvim": "exit 0; nvim -l scripts/themes-nvim.lua",
|
|
111
109
|
"build:themes-3-tokyonight": "bun scripts/themes-tokyonight.ts",
|
|
112
110
|
"build:themes-4-builtin": "bun scripts/themes-builtin.ts && oxfmt src/themes/builtin.ts",
|
|
113
111
|
"docs:api": "typedoc",
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "file:./../schemas/theme.schema.json",
|
|
3
|
-
"id": "dracula-soft",
|
|
4
|
-
"name": "Dracula Theme Soft",
|
|
5
|
-
"shiki": "dracula-soft",
|
|
6
|
-
"fg": "#f6f6f4",
|
|
7
|
-
"bg": "#282A36",
|
|
8
|
-
"primary": "#bf9eee",
|
|
9
|
-
"accent": "#f286c4",
|
|
10
|
-
"success": "#62e884",
|
|
11
|
-
"info": "#97e1f1",
|
|
12
|
-
"warn": "#97e1f1",
|
|
13
|
-
"error": "#ee6666",
|
|
14
|
-
"muted": "#7b7f8b",
|
|
15
|
-
"border": "#bf9eee",
|
|
16
|
-
"selection": {
|
|
17
|
-
"bg": "#44475A"
|
|
18
|
-
},
|
|
19
|
-
"diffAdd": {
|
|
20
|
-
"bg": "#2d443f",
|
|
21
|
-
"fg": "#62e884"
|
|
22
|
-
},
|
|
23
|
-
"diffDel": {
|
|
24
|
-
"bg": "#6b3740",
|
|
25
|
-
"fg": "#ee6666"
|
|
26
|
-
},
|
|
27
|
-
"diffTitle": {
|
|
28
|
-
"fg": "#7b7f8b"
|
|
29
|
-
},
|
|
30
|
-
"comment": {
|
|
31
|
-
"fg": "#7b7f8b"
|
|
32
|
-
},
|
|
33
|
-
"syntaxNumber": {
|
|
34
|
-
"fg": "#bf9eee"
|
|
35
|
-
},
|
|
36
|
-
"syntaxString": {
|
|
37
|
-
"fg": "#e7ee98"
|
|
38
|
-
},
|
|
39
|
-
"syntaxBoolean": {
|
|
40
|
-
"fg": "#bf9eee"
|
|
41
|
-
},
|
|
42
|
-
"syntaxFunction": {
|
|
43
|
-
"fg": "#62e884"
|
|
44
|
-
},
|
|
45
|
-
"syntaxField": {
|
|
46
|
-
"fg": "#f6f6f4"
|
|
47
|
-
},
|
|
48
|
-
"syntaxConstant": {
|
|
49
|
-
"fg": "#bf9eee"
|
|
50
|
-
},
|
|
51
|
-
"syntaxSpecial": {
|
|
52
|
-
"fg": "#f286c4"
|
|
53
|
-
},
|
|
54
|
-
"mdHeading": {
|
|
55
|
-
"bold": true,
|
|
56
|
-
"fg": "#bf9eee"
|
|
57
|
-
},
|
|
58
|
-
"mdHeading1": {
|
|
59
|
-
"bold": true,
|
|
60
|
-
"fg": "#bf9eee"
|
|
61
|
-
},
|
|
62
|
-
"mdHeading2": {
|
|
63
|
-
"bold": true,
|
|
64
|
-
"fg": "#bf9eee"
|
|
65
|
-
},
|
|
66
|
-
"mdHeading3": {
|
|
67
|
-
"bold": true,
|
|
68
|
-
"fg": "#bf9eee"
|
|
69
|
-
},
|
|
70
|
-
"mdHeading4": {
|
|
71
|
-
"bold": true,
|
|
72
|
-
"fg": "#bf9eee"
|
|
73
|
-
},
|
|
74
|
-
"mdHeading5": {
|
|
75
|
-
"bold": true,
|
|
76
|
-
"fg": "#bf9eee"
|
|
77
|
-
},
|
|
78
|
-
"mdHeading6": {
|
|
79
|
-
"bold": true,
|
|
80
|
-
"fg": "#bf9eee"
|
|
81
|
-
},
|
|
82
|
-
"mdBold": {
|
|
83
|
-
"bold": true,
|
|
84
|
-
"fg": "#FFB86C"
|
|
85
|
-
},
|
|
86
|
-
"mdItalic": {
|
|
87
|
-
"italic": true,
|
|
88
|
-
"fg": "#e7ee98"
|
|
89
|
-
},
|
|
90
|
-
"mdLink": {
|
|
91
|
-
"fg": "#97e1f1"
|
|
92
|
-
},
|
|
93
|
-
"mdQuote": {
|
|
94
|
-
"italic": true,
|
|
95
|
-
"fg": "#e7ee98"
|
|
96
|
-
},
|
|
97
|
-
"mdHr": {
|
|
98
|
-
"fg": "#7b7f8b"
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "file:./../schemas/theme.schema.json",
|
|
3
|
-
"id": "github-dark",
|
|
4
|
-
"name": "GitHub Dark",
|
|
5
|
-
"shiki": "github-dark",
|
|
6
|
-
"fg": "#e1e4e8",
|
|
7
|
-
"bg": "#24292e",
|
|
8
|
-
"primary": "#79b8ff",
|
|
9
|
-
"accent": "#c8e1ff",
|
|
10
|
-
"success": "#34d058",
|
|
11
|
-
"info": "#39c5cf",
|
|
12
|
-
"warn": "#ffea7f",
|
|
13
|
-
"error": "#f97583",
|
|
14
|
-
"muted": "#959da5",
|
|
15
|
-
"border": "#1b1f23",
|
|
16
|
-
"selection": {
|
|
17
|
-
"bg": "#284566"
|
|
18
|
-
},
|
|
19
|
-
"diffAdd": {
|
|
20
|
-
"bg": "#254132",
|
|
21
|
-
"fg": "#85e89d"
|
|
22
|
-
},
|
|
23
|
-
"diffDel": {
|
|
24
|
-
"bg": "#462c33",
|
|
25
|
-
"fg": "#fdaeb7"
|
|
26
|
-
},
|
|
27
|
-
"diffTitle": {
|
|
28
|
-
"fg": "#fdaeb7",
|
|
29
|
-
"bg": "#86181d"
|
|
30
|
-
},
|
|
31
|
-
"comment": {
|
|
32
|
-
"fg": "#6a737d"
|
|
33
|
-
},
|
|
34
|
-
"syntaxNumber": {
|
|
35
|
-
"fg": "#79b8ff"
|
|
36
|
-
},
|
|
37
|
-
"syntaxString": {
|
|
38
|
-
"fg": "#9ecbff"
|
|
39
|
-
},
|
|
40
|
-
"syntaxBoolean": {
|
|
41
|
-
"fg": "#79b8ff"
|
|
42
|
-
},
|
|
43
|
-
"syntaxFunction": {
|
|
44
|
-
"fg": "#b392f0"
|
|
45
|
-
},
|
|
46
|
-
"syntaxField": {
|
|
47
|
-
"fg": "#e1e4e8"
|
|
48
|
-
},
|
|
49
|
-
"syntaxConstant": {
|
|
50
|
-
"fg": "#79b8ff"
|
|
51
|
-
},
|
|
52
|
-
"syntaxSpecial": {
|
|
53
|
-
"fg": "#f97583"
|
|
54
|
-
},
|
|
55
|
-
"mdHeading": {
|
|
56
|
-
"bold": true,
|
|
57
|
-
"fg": "#79b8ff"
|
|
58
|
-
},
|
|
59
|
-
"mdHeading1": {
|
|
60
|
-
"bold": true,
|
|
61
|
-
"fg": "#79b8ff"
|
|
62
|
-
},
|
|
63
|
-
"mdHeading2": {
|
|
64
|
-
"bold": true,
|
|
65
|
-
"fg": "#79b8ff"
|
|
66
|
-
},
|
|
67
|
-
"mdHeading3": {
|
|
68
|
-
"bold": true,
|
|
69
|
-
"fg": "#79b8ff"
|
|
70
|
-
},
|
|
71
|
-
"mdHeading4": {
|
|
72
|
-
"bold": true,
|
|
73
|
-
"fg": "#79b8ff"
|
|
74
|
-
},
|
|
75
|
-
"mdHeading5": {
|
|
76
|
-
"bold": true,
|
|
77
|
-
"fg": "#79b8ff"
|
|
78
|
-
},
|
|
79
|
-
"mdHeading6": {
|
|
80
|
-
"bold": true,
|
|
81
|
-
"fg": "#79b8ff"
|
|
82
|
-
},
|
|
83
|
-
"mdBold": {
|
|
84
|
-
"bold": true,
|
|
85
|
-
"fg": "#e1e4e8"
|
|
86
|
-
},
|
|
87
|
-
"mdItalic": {
|
|
88
|
-
"italic": true,
|
|
89
|
-
"fg": "#e1e4e8"
|
|
90
|
-
},
|
|
91
|
-
"mdStrikethrough": {
|
|
92
|
-
"strikethrough": true
|
|
93
|
-
},
|
|
94
|
-
"mdLink": {
|
|
95
|
-
"underline": true
|
|
96
|
-
},
|
|
97
|
-
"mdQuote": {
|
|
98
|
-
"fg": "#85e89d"
|
|
99
|
-
},
|
|
100
|
-
"mdHr": {
|
|
101
|
-
"bold": true,
|
|
102
|
-
"fg": "#79b8ff"
|
|
103
|
-
}
|
|
104
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "file:./../schemas/theme.schema.json",
|
|
3
|
-
"id": "github-light",
|
|
4
|
-
"name": "GitHub Light",
|
|
5
|
-
"shiki": "github-light",
|
|
6
|
-
"fg": "#24292e",
|
|
7
|
-
"bg": "#fff",
|
|
8
|
-
"primary": "#0366d6",
|
|
9
|
-
"accent": "#005cc5",
|
|
10
|
-
"success": "#28a745",
|
|
11
|
-
"info": "#1b7c83",
|
|
12
|
-
"warn": "#f9c513",
|
|
13
|
-
"error": "#cb2431",
|
|
14
|
-
"muted": "#959da5",
|
|
15
|
-
"border": "#e1e4e8",
|
|
16
|
-
"selection": {
|
|
17
|
-
"bg": "#dae9f9"
|
|
18
|
-
},
|
|
19
|
-
"diffAdd": {
|
|
20
|
-
"bg": "#e4f9e9",
|
|
21
|
-
"fg": "#22863a"
|
|
22
|
-
},
|
|
23
|
-
"diffDel": {
|
|
24
|
-
"bg": "#fae5e7",
|
|
25
|
-
"fg": "#b31d28"
|
|
26
|
-
},
|
|
27
|
-
"diffTitle": {
|
|
28
|
-
"fg": "#b31d28",
|
|
29
|
-
"bg": "#ffeef0"
|
|
30
|
-
},
|
|
31
|
-
"comment": {
|
|
32
|
-
"fg": "#6a737d"
|
|
33
|
-
},
|
|
34
|
-
"syntaxNumber": {
|
|
35
|
-
"fg": "#005cc5"
|
|
36
|
-
},
|
|
37
|
-
"syntaxString": {
|
|
38
|
-
"fg": "#032f62"
|
|
39
|
-
},
|
|
40
|
-
"syntaxBoolean": {
|
|
41
|
-
"fg": "#005cc5"
|
|
42
|
-
},
|
|
43
|
-
"syntaxFunction": {
|
|
44
|
-
"fg": "#6f42c1"
|
|
45
|
-
},
|
|
46
|
-
"syntaxField": {
|
|
47
|
-
"fg": "#24292e"
|
|
48
|
-
},
|
|
49
|
-
"syntaxConstant": {
|
|
50
|
-
"fg": "#005cc5"
|
|
51
|
-
},
|
|
52
|
-
"syntaxSpecial": {
|
|
53
|
-
"fg": "#d73a49"
|
|
54
|
-
},
|
|
55
|
-
"mdHeading": {
|
|
56
|
-
"bold": true,
|
|
57
|
-
"fg": "#005cc5"
|
|
58
|
-
},
|
|
59
|
-
"mdHeading1": {
|
|
60
|
-
"bold": true,
|
|
61
|
-
"fg": "#005cc5"
|
|
62
|
-
},
|
|
63
|
-
"mdHeading2": {
|
|
64
|
-
"bold": true,
|
|
65
|
-
"fg": "#005cc5"
|
|
66
|
-
},
|
|
67
|
-
"mdHeading3": {
|
|
68
|
-
"bold": true,
|
|
69
|
-
"fg": "#005cc5"
|
|
70
|
-
},
|
|
71
|
-
"mdHeading4": {
|
|
72
|
-
"bold": true,
|
|
73
|
-
"fg": "#005cc5"
|
|
74
|
-
},
|
|
75
|
-
"mdHeading5": {
|
|
76
|
-
"bold": true,
|
|
77
|
-
"fg": "#005cc5"
|
|
78
|
-
},
|
|
79
|
-
"mdHeading6": {
|
|
80
|
-
"bold": true,
|
|
81
|
-
"fg": "#005cc5"
|
|
82
|
-
},
|
|
83
|
-
"mdBold": {
|
|
84
|
-
"bold": true,
|
|
85
|
-
"fg": "#24292e"
|
|
86
|
-
},
|
|
87
|
-
"mdItalic": {
|
|
88
|
-
"italic": true,
|
|
89
|
-
"fg": "#24292e"
|
|
90
|
-
},
|
|
91
|
-
"mdStrikethrough": {
|
|
92
|
-
"strikethrough": true
|
|
93
|
-
},
|
|
94
|
-
"mdLink": {
|
|
95
|
-
"underline": true
|
|
96
|
-
},
|
|
97
|
-
"mdQuote": {
|
|
98
|
-
"fg": "#22863a"
|
|
99
|
-
},
|
|
100
|
-
"mdHr": {
|
|
101
|
-
"bold": true,
|
|
102
|
-
"fg": "#005cc5"
|
|
103
|
-
}
|
|
104
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions-Dc4D4uSf.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ansi-DZlXaItJ.mjs","names":[],"sources":["../src/style/color.ts","../src/style/ansi.ts"],"sourcesContent":["import type { HexColor, RGB } from \"./types.ts\"\n\nimport { clamp } from \"@zaly/shared\"\n\nconst hexByte = (n: number): string => clamp(Math.round(n), 0, 255).toString(16).padStart(2, \"0\")\n\nexport function toHex(c: RGB): HexColor\nexport function toHex(r: number, g: number, b: number): HexColor\nexport function toHex(x: number | RGB, y?: number, z?: number): HexColor {\n const [r, g, b] = Array.isArray(x) ? x : [x, y!, z!]\n return `#${hexByte(r)}${hexByte(g)}${hexByte(b)}`\n}\n\nexport function parseHex(hex: string): RGB {\n let s = hex.charCodeAt(0) === 0x23 ? hex.slice(1) : hex // strip leading #\n if (s.length === 4) s = s.slice(0, 3) // strip alpha\n if (s.length === 8) s = s.slice(0, 6) // strip alpha\n if (s.length === 3) {\n // Expand \"abc\" → \"aabbcc\" without allocating an array.\n s = s[0] + s[0] + s[1] + s[1] + s[2] + s[2]\n }\n if (s.length !== 6) throw new Error(`invalid hex color: ${hex}`)\n const n = Number.parseInt(s, 16)\n if (Number.isNaN(n)) throw new Error(`invalid hex color: ${hex}`)\n return [(n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff]\n}\n\nexport function isHexColor(s: string): s is HexColor {\n return /^#[0-9a-fA-F]{3,8}$/.test(s)\n}\n","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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-StW1QJZJ.d.mts","names":[],"sources":["../src/widgets/autocomplete.ts"],"mappings":";;;;;;;;;KAgBY,SAAS,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;UAkBnB,iBAAiB,UAAU,SAAS;EACnD,mBAAmB;EACnB,UAAU,SAAS,YAAY;EAC/B,SAAS,SAAS;EAClB,SAAS,aAAa;;UAIP,0BAA0B;UAE1B,4BAA4B;;;;;;;EAO3C,OAAO,QAAQ,IAAI;EAMnB,SAAS,eAAe;;EAExB,YAAY;EACZ,UAAU;EACV;;UAGe,2BAA2B;;;;EAI1C;IAAY;IAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CvB,qBAAqB,KAAK,mBAAmB;;kBACxC;WACE;WAET,QAAQ;EAKjB,YAAY,MAAM;MAoDd;YAiFM,QAAQ,KAAK,uBAAuB;;;;;iBAmBhC,aAAa,MAAM,sBAAsB"}
|