main.go

 1package main
 2
 3// This is an example for testing logo treatments. Do not remove.
 4
 5import (
 6	"fmt"
 7	"os"
 8
 9	"charm.land/lipgloss/v2"
10	"github.com/charmbracelet/crush/internal/ui/logo"
11	"github.com/charmbracelet/crush/internal/ui/styles"
12	"github.com/charmbracelet/x/term"
13)
14
15func main() {
16	w, _, err := term.GetSize(os.Stdout.Fd())
17	if err != nil {
18		fmt.Fprintf(os.Stderr, "Could not get terminal size: %s", err)
19	}
20
21	s := styles.CharmtonePantera()
22	opts := logo.Opts{
23		FieldColor:   s.Logo.FieldColor,
24		TitleColorA:  s.Logo.TitleColorA,
25		TitleColorB:  s.Logo.TitleColorB,
26		CharmColor:   s.Logo.CharmColor,
27		VersionColor: s.Logo.VersionColor,
28		Width:        w,
29		Unstable:     true,
30	}
31
32	renderCompact := func(hyper bool) string {
33		opts.Hyper = hyper
34		return logo.Render(s.Logo.GradCanvas, "v1.0.0", true, opts)
35	}
36
37	renderWide := func(hyper bool) string {
38		opts.Hyper = hyper
39		return logo.Render(s.Logo.GradCanvas, "v1.0.0", false, opts)
40	}
41
42	lipgloss.Println(
43		lipgloss.JoinHorizontal(lipgloss.Top, renderCompact(false), "  ", renderCompact(true)),
44	)
45
46	for i := range 6 {
47		lipgloss.Println(renderWide(i > 0))
48	}
49}