Change summary
go.mod | 4 ++--
go.sum | 4 ++++
internal/tui/page/chat/chat.go | 4 +---
internal/tui/tui.go | 32 +++++++++++---------------------
4 files changed, 18 insertions(+), 26 deletions(-)
Detailed changes
@@ -6,7 +6,7 @@ require (
charm.land/bubbles/v2 v2.0.0-rc.1
charm.land/bubbletea/v2 v2.0.0-rc.2.0.20251202162339-5fa38b798f16
charm.land/fantasy v0.5.1
- charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251119143523-0334bb4562ca
+ charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251205162909-7869489d8971
charm.land/x/vcr v0.1.1
github.com/JohannesKaufmann/html-to-markdown v1.6.0
github.com/MakeNowJust/heredoc v1.0.0
@@ -21,7 +21,7 @@ require (
github.com/charmbracelet/fang v0.4.4
github.com/charmbracelet/glamour/v2 v2.0.0-20251106195642-800eb8175930
github.com/charmbracelet/log/v2 v2.0.0-20251106192421-eb64aaa963a0
- github.com/charmbracelet/ultraviolet v0.0.0-20251202162030-ecc8c1ae4b2b
+ github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318
github.com/charmbracelet/x/ansi v0.11.2
github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3
github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f
@@ -6,6 +6,8 @@ charm.land/fantasy v0.5.1 h1:Svi/UpI4/DwVjTqNYceDXoJJYn6SVEM5dnLH92UBiEs=
charm.land/fantasy v0.5.1/go.mod h1:SPOsnIlkBKnhw2Wnasv+wZ82EmCMIGesx0je3tgR6+M=
charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251119143523-0334bb4562ca h1:6bVc8OFotCS4sS7HKqxTudP7yn8Y0ODR6df2pdlY/+s=
charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251119143523-0334bb4562ca/go.mod h1:XSJjv7DaH4zd1Y27kZis295RkEj9OFR9zh2WffQQsKQ=
+charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251205162909-7869489d8971 h1:xZFcNsJMiIDbFtWRyDmkKNk1sjojfaom4Zoe0cyH/8c=
+charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251205162909-7869489d8971/go.mod h1:i61Y3FmdbcBNSKa+pKB3DaE4uVQmBLMs/xlvRyHcXAE=
charm.land/x/vcr v0.1.1 h1:PXCFMUG0rPtyk35rhfzYCJEduOzWXCIbrXTFq4OF/9Q=
charm.land/x/vcr v0.1.1/go.mod h1:eByq2gqzWvcct/8XE2XO5KznoWEBiXH56+y2gphbltM=
cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
@@ -100,6 +102,8 @@ github.com/charmbracelet/log/v2 v2.0.0-20251106192421-eb64aaa963a0 h1:lxHzxsHd4P
github.com/charmbracelet/log/v2 v2.0.0-20251106192421-eb64aaa963a0/go.mod h1:Q7oMtlboDPnnrYiJDXNwdWmJblOmuOnycPKczlVju6I=
github.com/charmbracelet/ultraviolet v0.0.0-20251202162030-ecc8c1ae4b2b h1:jY1J0PcfetoB1uJ+w8rd86gUFSpKpJJI35gnfpKF5hg=
github.com/charmbracelet/ultraviolet v0.0.0-20251202162030-ecc8c1ae4b2b/go.mod h1:Y6kE2GzHfkyQQVCSL9r2hwokSrIlHGzZG+71+wDYSZI=
+github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318 h1:OqDqxQZliC7C8adA7KjelW3OjtAxREfeHkNcd66wpeI=
+github.com/charmbracelet/ultraviolet v0.0.0-20251205161215-1948445e3318/go.mod h1:Y6kE2GzHfkyQQVCSL9r2hwokSrIlHGzZG+71+wDYSZI=
github.com/charmbracelet/x/ansi v0.11.2 h1:XAG3FSjiVtFvgEgGrNBkCNNYrsucAt8c6bfxHyROLLs=
github.com/charmbracelet/x/ansi v0.11.2/go.mod h1:9tY2bzX5SiJCU0iWyskjBeI2BRQfvPqI+J760Mjf+Rg=
github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3 h1:1xwHZg6eMZ9Wv5TE1UGub6ARubyOd1Lo5kPUI/6VL50=
@@ -525,9 +525,7 @@ func (p *chatPage) View() string {
)
layers = append(layers, lipgloss.NewLayer(details).X(1).Y(1))
}
- canvas := lipgloss.NewCanvas(
- layers...,
- )
+ canvas := lipgloss.NewCompositor(layers...)
return canvas.Render()
}
@@ -593,22 +593,15 @@ func (a *appModel) View() tea.View {
view.MouseMode = tea.MouseModeCellMotion
view.BackgroundColor = t.BgBase
if a.wWidth < 25 || a.wHeight < 15 {
- view.SetContent(
- lipgloss.NewCanvas(
- lipgloss.NewLayer(
- t.S().Base.Width(a.wWidth).Height(a.wHeight).
- Align(lipgloss.Center, lipgloss.Center).
- Render(
- t.S().Base.
- Padding(1, 4).
- Foreground(t.White).
- BorderStyle(lipgloss.RoundedBorder()).
- BorderForeground(t.Primary).
- Render("Window too small!"),
- ),
- ),
- ).Render(),
- )
+ view.Content = t.S().Base.Width(a.wWidth).Height(a.wHeight).
+ Align(lipgloss.Center, lipgloss.Center).
+ Render(t.S().Base.
+ Padding(1, 4).
+ Foreground(t.White).
+ BorderStyle(lipgloss.RoundedBorder()).
+ BorderForeground(t.Primary).
+ Render("Window too small!"),
+ )
return view
}
@@ -659,11 +652,8 @@ func (a *appModel) View() tea.View {
)
}
- canvas := lipgloss.NewCanvas(
- layers...,
- )
-
- view.Content = canvas.Render()
+ comp := lipgloss.NewCompositor(layers...)
+ view.Content = comp.Render()
view.Cursor = cursor
if a.sendProgressBar && a.app != nil && a.app.AgentCoordinator != nil && a.app.AgentCoordinator.IsBusy() {