From d84f8c6ef2cad3451e866ae982e8f93006b86a44 Mon Sep 17 00:00:00 2001 From: David Schmitt Date: Mon, 3 Jun 2024 15:08:13 +0200 Subject: [PATCH] Fix "random" ANSI spew/UI hang It turns out that there is a lipgloss/termenv/bubbletea/reality incompatibility when querying the background color. By querying this once at the start before bubbletea takes control of the terminal, this can be avoided. See https://github.com/charmbracelet/lipgloss/issues/73#issuecomment-1144921037 for details. --- cmd/theme.go | 3 +-- main.go | 10 +++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cmd/theme.go b/cmd/theme.go index 6579978a..2c273d7b 100644 --- a/cmd/theme.go +++ b/cmd/theme.go @@ -9,7 +9,6 @@ import ( "github.com/charmbracelet/glamour" "github.com/charmbracelet/glamour/ansi" "github.com/charmbracelet/lipgloss" - "github.com/muesli/termenv" ) type LogoPalette struct { @@ -175,7 +174,7 @@ func MarkdownStyle() ansi.StyleConfig { var labelMuted string var labelTitle string - if termenv.HasDarkBackground() { + if lipgloss.HasDarkBackground() { bgBase = ColorPalette.BgBase.Dark bgMain = ColorPalette.BgMain.Dark labelBase = ColorPalette.LabelBase.Dark diff --git a/main.go b/main.go index 27cce098..e777ed31 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,15 @@ package main -import "github.com/overmindtech/cli/cmd" +import ( + "github.com/charmbracelet/lipgloss" + "github.com/muesli/termenv" + "github.com/overmindtech/cli/cmd" +) func main() { + // work around lipgloss/termenv integration bug. + // See https://github.com/charmbracelet/lipgloss/issues/73#issuecomment-1144921037 + lipgloss.SetHasDarkBackground(termenv.HasDarkBackground()) + cmd.Execute() }