diff --git a/renderer.go b/renderer.go index b5e115d1..4bea8374 100644 --- a/renderer.go +++ b/renderer.go @@ -2,12 +2,15 @@ package lipgloss import ( "io" - "os" "github.com/muesli/termenv" ) -var renderer = NewRenderer(os.Stdout) +// We're manually creating the struct here to avoid initializing the output and +// query the terminal multiple times. +var renderer = &Renderer{ + output: termenv.DefaultOutput(), +} // Renderer is a lipgloss terminal renderer. type Renderer struct { diff --git a/style.go b/style.go index 54f6d39b..e94b8670 100644 --- a/style.go +++ b/style.go @@ -173,7 +173,7 @@ func (s Style) Inherit(i Style) Style { // Render applies the defined style formatting to a given string. func (s Style) Render(strs ...string) string { if s.r == nil { - s.r = DefaultRenderer() + s.r = renderer } if s.value != "" { strs = append([]string{s.value}, strs...)