gitstack

grindlemire/go-tui code browser

577 B Go 32 lines 2026-02-27 · 9f8e903 raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package main

import (
	"fmt"
	"os"

	tui "github.com/grindlemire/go-tui"
	"golang.org/x/term"
)

func main() {
	// Get terminal width for text wrapping
	width, _, err := term.GetSize(int(os.Stdout.Fd()))
	if err != nil {
		width = 80 // fallback
	}

	app, err := tui.NewApp(
		tui.WithInlineHeight(3), // Start with 3, will grow as needed
		tui.WithRootComponent(Chat(width)),
	)
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error: %v\n", err)
		os.Exit(1)
	}
	defer app.Close()

	if err := app.Run(); err != nil {
		fmt.Fprintf(os.Stderr, "Error: %v\n", err)
		os.Exit(1)
	}
}