on main help sign in
chore: truncate version number if too long
a74f652Christian Rocha
internal/tui/components/title/title.go+4
@@ -8,6 +8,7 @@ import (
8
8
9 "github.com/MakeNowJust/heredoc"
9 "github.com/MakeNowJust/heredoc"
10 "github.com/charmbracelet/lipgloss/v2"
10 "github.com/charmbracelet/lipgloss/v2"
11+ "github.com/charmbracelet/x/ansi"
11 "github.com/charmbracelet/x/exp/slice"
12 "github.com/charmbracelet/x/exp/slice"
12 "github.com/lucasb-eyer/go-colorful"
13 "github.com/lucasb-eyer/go-colorful"
13 "github.com/rivo/uniseg"
14 "github.com/rivo/uniseg"
@@ -50,6 +51,9 @@ func Render(version string, compact bool, o Opts) string {
50 crush = b.String()
51 crush = b.String()
51
52
52 // Charm and version.
53 // Charm and version.
54+ metaRowGap := 1
55+ maxVersionWidth := crushWidth - lipgloss.Width(charm) - metaRowGap
56+ version = ansi.Truncate(version, maxVersionWidth, "…") // truncate version if too long.
53 gap := max(0, crushWidth-lipgloss.Width(charm)-lipgloss.Width(version))
57 gap := max(0, crushWidth-lipgloss.Width(charm)-lipgloss.Width(version))
54 metaRow := fg(o.CharmColor, charm) + strings.Repeat(" ", gap) + fg(o.VersionColor, version)
58 metaRow := fg(o.CharmColor, charm) + strings.Repeat(" ", gap) + fg(o.VersionColor, version)
55
59