on main help sign in
Merge branch 'main' into list-select-pp
commit0a278fa3851b3eb0117f5ca8fb2e939d04026a40 authorChristian Rocha <christian@rocha.is> dateTue 5 Aug 2025, 23:02 (1 year ago) parent3671bd031dc01e
6 files changed+25−25
go.mod+5−5 go.sum+10−10 internal/tui/components/dialogs/permissions/keys.go+1−1 internal/tui/components/mcp/mcp.go+1−1 internal/tui/styles/crush.go → internal/tui/styles/charmtone.go+2−2 internal/tui/styles/theme.go+6−6
go.mod+5−5
@@ -10,16 +10,16 @@ require (
1010 github.com/anthropics/anthropic-sdk-go v1.6.2
1111 github.com/atotto/clipboard v0.1.4
1212 github.com/aymanbagabas/go-udiff v0.3.1
13− github.com/bmatcuk/doublestar/v4 v4.9.0
13+ github.com/bmatcuk/doublestar/v4 v4.9.1
1414 github.com/charlievieth/fastwalk v1.0.11
1515 github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250716191546-1e2ffbbcf5c5
16− github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250730165737-56ff7146d52d
17− github.com/charmbracelet/catwalk v0.4.5
16+ github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250805190305-70e94a2e0b2d
17+ github.com/charmbracelet/catwalk v0.4.6
1818 github.com/charmbracelet/fang v0.3.1-0.20250711140230-d5ebb8c1d674
1919 github.com/charmbracelet/glamour/v2 v2.0.0-20250516160903-6f1e2c8f9ebe
2020 github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250721205738-ea66aa652ee0
2121 github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706
22− github.com/charmbracelet/x/ansi v0.9.3
22+ github.com/charmbracelet/x/ansi v0.10.0
2323 github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3
2424 github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a
2525 github.com/disintegration/imageorient v0.0.0-20180920195336-8147d86e83ec
@@ -75,7 +75,7 @@ require (
7575 github.com/bahlo/generic-list-go v0.2.0 // indirect
7676 github.com/buger/jsonparser v1.1.1 // indirect
7777 github.com/charmbracelet/colorprofile v0.3.1 // indirect
78− github.com/charmbracelet/ultraviolet v0.0.0-20250731212901-76da584cc9a5
78+ github.com/charmbracelet/ultraviolet v0.0.0-20250805154935-01be9d7ef65d
7979 github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa // indirect
8080 github.com/charmbracelet/x/exp/slice v0.0.0-20250611152503-f53cdd7e01ef
8181 github.com/charmbracelet/x/term v0.2.1
go.sum+10−10
@@ -68,18 +68,18 @@ github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuP
6868github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
6969github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
7070github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
71−github.com/bmatcuk/doublestar/v4 v4.9.0 h1:DBvuZxjdKkRP/dr4GVV4w2fnmrk5Hxc90T51LZjv0JA=
72−github.com/bmatcuk/doublestar/v4 v4.9.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
71+github.com/bmatcuk/doublestar/v4 v4.9.1 h1:X8jg9rRZmJd4yRy7ZeNDRnM+T3ZfHv15JiBJ/avrEXE=
72+github.com/bmatcuk/doublestar/v4 v4.9.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
7373github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
7474github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
7575github.com/charlievieth/fastwalk v1.0.11 h1:5sLT/q9+d9xMdpKExawLppqvXFZCVKf6JHnr2u/ufj8=
7676github.com/charlievieth/fastwalk v1.0.11/go.mod h1:yGy1zbxog41ZVMcKA/i8ojXLFsuayX5VvwhQVoj9PBI=
7777github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250716191546-1e2ffbbcf5c5 h1:GTcMIfDQJKyNKS+xVt7GkNIwz+tBuQtIuiP50WpzNgs=
7878github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250716191546-1e2ffbbcf5c5/go.mod h1:6HamsBKWqEC/FVHuQMHgQL+knPyvHH55HwJDHl/adMw=
79−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250730165737-56ff7146d52d h1:YMXLZHSo8DjytVY/b5dK8LDuyQsVUmBK3ydQMpu2Ui4=
80−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250730165737-56ff7146d52d/go.mod h1:XIQ1qQfRph6Z5o2EikCydjumo0oDInQySRHuPATzbZc=
81−github.com/charmbracelet/catwalk v0.4.5 h1:Kv3PadDe8IF8gpcYTfAJdCee5Bv4HufvtNT61FXtq5g=
82−github.com/charmbracelet/catwalk v0.4.5/go.mod h1:WnKgNPmQHuMyk7GtwAQwl+ezHusfH40IvzML2qwUGwc=
79+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250805190305-70e94a2e0b2d h1:1C2whi5rgs+APtsQDE4riA+W5neYaMNY+Y+5o6J/rDU=
80+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250805190305-70e94a2e0b2d/go.mod h1:XIQ1qQfRph6Z5o2EikCydjumo0oDInQySRHuPATzbZc=
81+github.com/charmbracelet/catwalk v0.4.6 h1:Y0JDq5V4agK8oO3lKC/hhInrYXePGwZPNo8I1Lk08jc=
82+github.com/charmbracelet/catwalk v0.4.6/go.mod h1:WnKgNPmQHuMyk7GtwAQwl+ezHusfH40IvzML2qwUGwc=
8383github.com/charmbracelet/colorprofile v0.3.1 h1:k8dTHMd7fgw4bnFd7jXTLZrSU/CQrKnL3m+AxCzDz40=
8484github.com/charmbracelet/colorprofile v0.3.1/go.mod h1:/GkGusxNs8VB/RSOh3fu0TJmQ4ICMMPApIIVn0KszZ0=
8585github.com/charmbracelet/fang v0.3.1-0.20250711140230-d5ebb8c1d674 h1:+Cz+VfxD5DO+JT1LlswXWhre0HYLj6l2HW8HVGfMuC0=
@@ -90,10 +90,10 @@ github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250721205738-ea66aa652ee0
9090github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250721205738-ea66aa652ee0/go.mod h1:XIuqKpZTUXtVyeyiN1k9Tc/U7EzfaDnVc34feFHfBws=
9191github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706 h1:WkwO6Ks3mSIGnGuSdKl9qDSyfbYK50z2wc2gGMggegE=
9292github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706/go.mod h1:mjJGp00cxcfvD5xdCa+bso251Jt4owrQvuimJtVmEmM=
93−github.com/charmbracelet/ultraviolet v0.0.0-20250731212901-76da584cc9a5 h1:FrEzjuUbVbGd8UtZBfK8mf/IA4ExT2i3/fi+SEOv2eM=
94−github.com/charmbracelet/ultraviolet v0.0.0-20250731212901-76da584cc9a5/go.mod h1:XrrgNFfXLrFAyd9DUmrqVc3yQFVv8Uk+okj4PsNNzpc=
95−github.com/charmbracelet/x/ansi v0.9.3 h1:BXt5DHS/MKF+LjuK4huWrC6NCvHtexww7dMayh6GXd0=
96−github.com/charmbracelet/x/ansi v0.9.3/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE=
93+github.com/charmbracelet/ultraviolet v0.0.0-20250805154935-01be9d7ef65d h1:miSXsyi0ARm35O+DulTdaLYoUioWdGkoBfFoIhdqpCA=
94+github.com/charmbracelet/ultraviolet v0.0.0-20250805154935-01be9d7ef65d/go.mod h1:XrrgNFfXLrFAyd9DUmrqVc3yQFVv8Uk+okj4PsNNzpc=
95+github.com/charmbracelet/x/ansi v0.10.0 h1:jnOP9pFxY6/gw5nYjkpi6f17K0P/sN4fqT0Y1ioaORI=
96+github.com/charmbracelet/x/ansi v0.10.0/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE=
9797github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa h1:lphz0Z3rsiOtMYiz8axkT24i9yFiueDhJbzyNUADmME=
9898github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa/go.mod h1:xBlh2Yi3DL3zy/2n15kITpg0YZardf/aa/hgUaIM6Rk=
9999github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3 h1:1xwHZg6eMZ9Wv5TE1UGub6ARubyOd1Lo5kPUI/6VL50=
internal/tui/components/dialogs/permissions/keys.go+1−1
@@ -42,7 +42,7 @@ func DefaultKeyMap() KeyMap {
4242 key.WithHelp("s", "allow session"),
4343 ),
4444 Deny: key.NewBinding(
45− key.WithKeys("d", "D", "ctrl+d"),
45+ key.WithKeys("d", "D", "ctrl+d", "esc"),
4646 key.WithHelp("d", "deny"),
4747 ),
4848 Select: key.NewBinding(
internal/tui/components/mcp/mcp.go+1−1
@@ -68,7 +68,7 @@ func RenderMCPList(opts RenderOptions) []string {
6868 case agent.MCPStateConnected:
6969 icon = t.ItemOnlineIcon
7070 if state.ToolCount > 0 {
71− extraContent = t.S().Subtle.Render(fmt.Sprintf("(%d tools)", state.ToolCount))
71+ extraContent = t.S().Subtle.Render(fmt.Sprintf("%d tools", state.ToolCount))
7272 }
7373 case agent.MCPStateError:
7474 icon = t.ItemErrorIcon
internal/tui/styles/crush.go → internal/tui/styles/charmtone.gorenamed+2−2
@@ -5,9 +5,9 @@ import (
55 "github.com/charmbracelet/x/exp/charmtone"
66)
77
8−func NewCrushTheme() *Theme {
8+func NewCharmtoneTheme() *Theme {
99 t := &Theme{
10− Name: "crush",
10+ Name: "charmtone",
1111 IsDark: true,
1212
1313 Primary: charmtone.Charple,
internal/tui/styles/theme.go+6−6
@@ -491,26 +491,26 @@ func SetDefaultManager(m *Manager) {
491491
492492func DefaultManager() *Manager {
493493 if defaultManager == nil {
494− defaultManager = NewManager("crush")
494+ defaultManager = NewManager()
495495 }
496496 return defaultManager
497497}
498498
499499func CurrentTheme() *Theme {
500500 if defaultManager == nil {
501− defaultManager = NewManager("crush")
501+ defaultManager = NewManager()
502502 }
503503 return defaultManager.Current()
504504}
505505
506−func NewManager(defaultTheme string) *Manager {
506+func NewManager() *Manager {
507507 m := &Manager{
508508 themes: make(map[string]*Theme),
509509 }
510510
511− m.Register(NewCrushTheme())
512−
513− m.current = m.themes[defaultTheme]
511+ t := NewCharmtoneTheme() // default theme
512+ m.Register(t)
513+ m.current = m.themes[t.Name]
514514
515515 return m
516516}