Skip to content

Commit e205a17

Browse files
committed
fix colors when running with shim
1 parent 7b391e8 commit e205a17

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

internal/cli/run.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/NitorCreations/tai/internal/config"
1111
tui "github.com/NitorCreations/tai/internal/tui"
1212
tea "github.com/charmbracelet/bubbletea"
13+
"github.com/charmbracelet/lipgloss"
1314
"github.com/spf13/cobra"
1415
)
1516

@@ -59,6 +60,8 @@ func runTUI(initialQuery string) int {
5960
}
6061
defer ttyFile.Close()
6162

63+
lipgloss.SetDefaultRenderer(lipgloss.NewRenderer(ttyFile))
64+
6265
restoreStderr := func() {}
6366
if restore, err := RedirectStderrToNull(); err == nil {
6467
restoreStderr = restore

internal/tui/view.go

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package tui
22

33
import (
44
"strings"
5+
"sync"
56

67
"github.com/NitorCreations/tai/internal/copilot"
78
tea "github.com/charmbracelet/bubbletea"
@@ -11,18 +12,32 @@ import (
1112
// ─── Styles ────────────────────────────────────────────────────────────────────
1213

1314
var (
14-
cyanBold = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("14"))
15-
gray = lipgloss.NewStyle().Foreground(lipgloss.Color("245"))
16-
dimGray = lipgloss.NewStyle().Foreground(lipgloss.Color("245")).Faint(true)
17-
red = lipgloss.NewStyle().Foreground(lipgloss.Color("9"))
18-
cyan = lipgloss.NewStyle().Foreground(lipgloss.Color("14"))
19-
selected = lipgloss.NewStyle().Foreground(lipgloss.Color("14"))
20-
normal = lipgloss.NewStyle()
15+
styleOnce sync.Once
16+
cyanBold lipgloss.Style
17+
gray lipgloss.Style
18+
dimGray lipgloss.Style
19+
red lipgloss.Style
20+
cyan lipgloss.Style
21+
selected lipgloss.Style
22+
normal lipgloss.Style
2123
)
2224

25+
func initStyles() {
26+
styleOnce.Do(func() {
27+
cyanBold = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("14"))
28+
gray = lipgloss.NewStyle().Foreground(lipgloss.Color("245"))
29+
dimGray = lipgloss.NewStyle().Foreground(lipgloss.Color("245")).Faint(true)
30+
red = lipgloss.NewStyle().Foreground(lipgloss.Color("9"))
31+
cyan = lipgloss.NewStyle().Foreground(lipgloss.Color("14"))
32+
selected = lipgloss.NewStyle().Foreground(lipgloss.Color("14"))
33+
normal = lipgloss.NewStyle()
34+
})
35+
}
36+
2337
// ─── View ──────────────────────────────────────────────────────────────────────
2438

2539
func (m Model) View() string {
40+
initStyles()
2641
var lines []string
2742

2843
// Header

0 commit comments

Comments
 (0)