Files
u-tabs/internal/style/style.go
绝尘 a027fe1703 新增: u-tabs 初始版本
Go TUI 项目启动器,基于 bubbletea v2 + lipgloss v2。
支持分组 Tab、多选启动、编号跳转、Windows Terminal 集成。
2026-05-16 21:01:03 +08:00

51 lines
2.1 KiB
Go

package style
import (
"charm.land/lipgloss/v2"
)
// ── palette: cool gray + single accent (teal) ──
var (
BgDark = lipgloss.Color("#1a1b26") // deep navy
BgPanel = lipgloss.Color("#292e42") // panel bg / borders
Dim = lipgloss.Color("#565f89") // muted text
Fg = lipgloss.Color("#a9b1d6") // normal text
Bright = lipgloss.Color("#c0caf5") // bright text
Accent = lipgloss.Color("#7aa2f7") // blue accent
Success = lipgloss.Color("#9ece6a") // green
Warning = lipgloss.Color("#e0af68") // yellow
Cyan = lipgloss.Color("#7dcfff") // cyan highlight
Purple = lipgloss.Color("#bb9af7") // purple for selected
Red = lipgloss.Color("#f7768e") // red
// ── component styles ──
TitleStyle = lipgloss.NewStyle().Bold(true).Foreground(Accent)
SubtitleStyle = lipgloss.NewStyle().Foreground(Dim)
TabActiveStyle = lipgloss.NewStyle().Bold(true).Background(BgPanel).Foreground(Bright).Padding(0, 1)
TabInactiveStyle = lipgloss.NewStyle().Foreground(Dim).Padding(0, 1)
TabSep = lipgloss.NewStyle().Foreground(BgPanel)
SelStyle = lipgloss.NewStyle().Foreground(BgDark).Background(Purple).Bold(true)
NormStyle = lipgloss.NewStyle().Foreground(Fg)
NumStyle = lipgloss.NewStyle().Foreground(Cyan)
MarkStyle = lipgloss.NewStyle().Foreground(Success).Bold(true)
HelpStyle = lipgloss.NewStyle().Foreground(Dim)
InputStyle = lipgloss.NewStyle().Foreground(Warning).Bold(true)
KeyStyle = lipgloss.NewStyle().Foreground(Dim).Width(6).Inline(true)
ValStyle = lipgloss.NewStyle().Foreground(Fg).Inline(true)
TechStyle = lipgloss.NewStyle().Foreground(Accent).Bold(true).Inline(true)
DeployStyle = lipgloss.NewStyle().Foreground(Success).Inline(true)
DetailTitle = lipgloss.NewStyle().Foreground(Cyan).Bold(true)
)
var GroupStyles = map[string]lipgloss.Style{
"CORE": lipgloss.NewStyle().Bold(true).Foreground(Red),
"LAB": lipgloss.NewStyle().Bold(true).Foreground(Success),
"TOOLS": lipgloss.NewStyle().Bold(true).Foreground(Warning),
"ME": lipgloss.NewStyle().Bold(true).Foreground(Purple),
"TEMP": lipgloss.NewStyle().Bold(true).Foreground(Cyan),
}