新增: u-tabs 初始版本
Go TUI 项目启动器,基于 bubbletea v2 + lipgloss v2。 支持分组 Tab、多选启动、编号跳转、Windows Terminal 集成。
This commit is contained in:
50
internal/style/style.go
Normal file
50
internal/style/style.go
Normal file
@@ -0,0 +1,50 @@
|
||||
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),
|
||||
}
|
||||
Reference in New Issue
Block a user