diff --git a/filepicker/filepicker.go b/filepicker/filepicker.go index 3f06921..5ab530d 100644 --- a/filepicker/filepicker.go +++ b/filepicker/filepicker.go @@ -113,24 +113,18 @@ type Styles struct { // DefaultStyles defines the default styling for the file picker. func DefaultStyles() Styles { - return DefaultStylesWithRenderer(lipgloss.DefaultRenderer()) -} - -// DefaultStylesWithRenderer defines the default styling for the file picker, -// with a given Lip Gloss renderer. -func DefaultStylesWithRenderer(r *lipgloss.Renderer) Styles { return Styles{ - DisabledCursor: r.NewStyle().Foreground(lipgloss.Color("247")), - Cursor: r.NewStyle().Foreground(lipgloss.Color("212")), - Symlink: r.NewStyle().Foreground(lipgloss.Color("36")), - Directory: r.NewStyle().Foreground(lipgloss.Color("99")), - File: r.NewStyle(), - DisabledFile: r.NewStyle().Foreground(lipgloss.Color("243")), - DisabledSelected: r.NewStyle().Foreground(lipgloss.Color("247")), - Permission: r.NewStyle().Foreground(lipgloss.Color("244")), - Selected: r.NewStyle().Foreground(lipgloss.Color("212")).Bold(true), - FileSize: r.NewStyle().Foreground(lipgloss.Color("240")).Width(fileSizeWidth).Align(lipgloss.Right), - EmptyDirectory: r.NewStyle().Foreground(lipgloss.Color("240")).PaddingLeft(paddingLeft).SetString("Bummer. No Files Found."), + DisabledCursor: lipgloss.NewStyle().Foreground(lipgloss.Color("247")), + Cursor: lipgloss.NewStyle().Foreground(lipgloss.Color("212")), + Symlink: lipgloss.NewStyle().Foreground(lipgloss.Color("36")), + Directory: lipgloss.NewStyle().Foreground(lipgloss.Color("99")), + File: lipgloss.NewStyle(), + DisabledFile: lipgloss.NewStyle().Foreground(lipgloss.Color("243")), + DisabledSelected: lipgloss.NewStyle().Foreground(lipgloss.Color("247")), + Permission: lipgloss.NewStyle().Foreground(lipgloss.Color("244")), + Selected: lipgloss.NewStyle().Foreground(lipgloss.Color("212")).Bold(true), + FileSize: lipgloss.NewStyle().Foreground(lipgloss.Color("240")).Width(fileSizeWidth).Align(lipgloss.Right), + EmptyDirectory: lipgloss.NewStyle().Foreground(lipgloss.Color("240")).PaddingLeft(paddingLeft).SetString("Bummer. No Files Found."), } } diff --git a/go.mod b/go.mod index 7cc3885..2670c99 100644 --- a/go.mod +++ b/go.mod @@ -21,17 +21,13 @@ require ( require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymanbagabas/go-udiff v0.2.0 // indirect - github.com/charmbracelet/x/input v0.1.0 // indirect github.com/charmbracelet/x/term v0.2.0 // indirect github.com/charmbracelet/x/windows v0.2.0 // indirect - github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-localereader v0.0.1 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.3.8 // indirect ) diff --git a/go.sum b/go.sum index cff9fce..81fa00d 100644 --- a/go.sum +++ b/go.sum @@ -6,44 +6,28 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8= github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA= -github.com/charmbracelet/bubbletea v0.27.0 h1:Mznj+vvYuYagD9Pn2mY7fuelGvP0HAXtZYGgRBCbHvU= -github.com/charmbracelet/bubbletea v0.27.0/go.mod h1:5MdP9XH6MbQkgGhnlxUqCNmBXf9I74KRQ8HIidRxV1Y= github.com/charmbracelet/bubbletea v0.27.1-0.20240822171457-833cc7865cbf h1:ikOQDpp9yCkJJ0N7XHqnkSXq7hf1NA4jnVCwbJFZw7s= github.com/charmbracelet/bubbletea v0.27.1-0.20240822171457-833cc7865cbf/go.mod h1:83gxYOCiWJ5xJjxGj4bxaRA7SvntKUl0XVid/+tuF9E= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= -github.com/charmbracelet/lipgloss v0.12.1 h1:/gmzszl+pedQpjCOH+wFkZr/N90Snz40J/NR7A0zQcs= -github.com/charmbracelet/lipgloss v0.12.1/go.mod h1:V2CiwIuhx9S1S1ZlADfOj9HmxeMAORuz5izHb0zGbB8= github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= -github.com/charmbracelet/x/ansi v0.1.4 h1:IEU3D6+dWwPSgZ6HBH+v6oUuZ/nVawMiWj5831KfiLM= -github.com/charmbracelet/x/ansi v0.1.4/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY= github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q= github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U= -github.com/charmbracelet/x/input v0.1.0 h1:TEsGSfZYQyOtp+STIjyBq6tpRaorH0qpwZUj8DavAhQ= -github.com/charmbracelet/x/input v0.1.0/go.mod h1:ZZwaBxPF7IG8gWWzPUVqHEtWhc1+HXJPNuerJGRGZ28= -github.com/charmbracelet/x/term v0.1.1 h1:3cosVAiPOig+EV4X9U+3LDgtwwAoEzJjNdwbXDjF6yI= -github.com/charmbracelet/x/term v0.1.1/go.mod h1:wB1fHt5ECsu3mXYusyzcngVWWlu1KKUmmLhfgr/Flxw= github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0= -github.com/charmbracelet/x/windows v0.1.2 h1:Iumiwq2G+BRmgoayww/qfcvof7W/3uLoelhxojXlRWg= -github.com/charmbracelet/x/windows v0.1.2/go.mod h1:GLEO/l+lizvFDBPLIOk+49gdX49L9YWMB5t+DZd0jkQ= github.com/charmbracelet/x/windows v0.2.0 h1:ilXA1GJjTNkgOm94CLPeSz7rar54jtFatdmoiONPuEw= github.com/charmbracelet/x/windows v0.2.0/go.mod h1:ZibNFR49ZFqCXgP76sYanisxRyC+EYrBE7TTknD8s1s= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= -github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= -github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= @@ -62,9 +46,6 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJu golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561 h1:MDc5xs78ZrZr3HMQugiXOAkSZtfTpbJLDr/lwfgO53E= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= diff --git a/help/help.go b/help/help.go index f4e1c97..6dd2844 100644 --- a/help/help.go +++ b/help/help.go @@ -41,6 +41,32 @@ type Styles struct { FullSeparator lipgloss.Style } +// DefaultStyles returns a set of default styles for the help bubble. +func DefaultStyles(isDark bool) Styles { + keyColor := "#909090" + descColor := "#B2B2B2" + sepColor := "#DDDADA" + if isDark { + keyColor = "#626262" + descColor = "#4A4A4A" + sepColor = "#3C3C3C" + } + + keyStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(keyColor)) + descStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(descColor)) + sepStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(sepColor)) + + return Styles{ + ShortKey: keyStyle, + ShortDesc: descStyle, + ShortSeparator: sepStyle, + Ellipsis: sepStyle, + FullKey: keyStyle, + FullDesc: descStyle, + FullSeparator: sepStyle, + } +} + // Model contains the state of the help view. type Model struct { Width int @@ -58,34 +84,11 @@ type Model struct { // New creates a new help view with some useful defaults. func New() Model { - keyStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ - Light: "#909090", - Dark: "#626262", - }) - - descStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ - Light: "#B2B2B2", - Dark: "#4A4A4A", - }) - - sepStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ - Light: "#DDDADA", - Dark: "#3C3C3C", - }) - return Model{ ShortSeparator: " • ", FullSeparator: " ", Ellipsis: "…", - Styles: Styles{ - ShortKey: keyStyle, - ShortDesc: descStyle, - ShortSeparator: sepStyle, - Ellipsis: sepStyle, - FullKey: keyStyle, - FullDesc: descStyle, - FullSeparator: sepStyle, - }, + Styles: DefaultStyles(true), } } diff --git a/list/defaultitem.go b/list/defaultitem.go index 3f07cef..c4e0905 100644 --- a/list/defaultitem.go +++ b/list/defaultitem.go @@ -32,29 +32,45 @@ type DefaultItemStyles struct { // NewDefaultItemStyles returns style definitions for a default item. See // DefaultItemView for when these come into play. -func NewDefaultItemStyles() (s DefaultItemStyles) { +func NewDefaultItemStyles(isDark bool) (s DefaultItemStyles) { + normalTitleColor := "#1a1a1a" + normalDescColor := "#A49FA5" + selectedTitleBorderFgColor := "#F793FF" + selectedTitleFgColor := "#EE6FF8" + selectedDescColor := "#F793FF" + dimmedTitleColor := "#A49FA5" + dimmedDescColor := "#C2B8C2" + if isDark { + normalTitleColor = "#dddddd" + normalDescColor = "#777777" + selectedTitleBorderFgColor = "#AD58B4" + selectedTitleFgColor = "#EE6FF8" + selectedDescColor = "#AD58B4" + dimmedTitleColor = "#777777" + dimmedDescColor = "#4D4D4D" + } s.NormalTitle = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#1a1a1a", Dark: "#dddddd"}). + Foreground(lipgloss.Color(normalTitleColor)). Padding(0, 0, 0, 2) s.NormalDesc = s.NormalTitle. - Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"}) + Foreground(lipgloss.Color(normalDescColor)) s.SelectedTitle = lipgloss.NewStyle(). Border(lipgloss.NormalBorder(), false, false, false, true). - BorderForeground(lipgloss.AdaptiveColor{Light: "#F793FF", Dark: "#AD58B4"}). - Foreground(lipgloss.AdaptiveColor{Light: "#EE6FF8", Dark: "#EE6FF8"}). + BorderForeground(lipgloss.Color(selectedTitleBorderFgColor)). + Foreground(lipgloss.Color(selectedTitleFgColor)). Padding(0, 0, 0, 1) s.SelectedDesc = s.SelectedTitle. - Foreground(lipgloss.AdaptiveColor{Light: "#F793FF", Dark: "#AD58B4"}) + Foreground(lipgloss.Color(selectedDescColor)) s.DimmedTitle = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"}). + Foreground(lipgloss.Color(dimmedTitleColor)). Padding(0, 0, 0, 2) s.DimmedDesc = s.DimmedTitle. - Foreground(lipgloss.AdaptiveColor{Light: "#C2B8C2", Dark: "#4D4D4D"}) + Foreground(lipgloss.Color(dimmedDescColor)) s.FilterMatch = lipgloss.NewStyle().Underline(true) @@ -95,7 +111,7 @@ type DefaultDelegate struct { func NewDefaultDelegate() DefaultDelegate { return DefaultDelegate{ ShowDescription: true, - Styles: NewDefaultItemStyles(), + Styles: NewDefaultItemStyles(true), height: 2, spacing: 1, } diff --git a/list/list.go b/list/list.go index 8d5fb50..f057937 100644 --- a/list/list.go +++ b/list/list.go @@ -195,7 +195,7 @@ type Model struct { // New returns a new model with sensible defaults. func New(items []Item, delegate ItemDelegate, width, height int) Model { - styles := DefaultStyles() + styles := DefaultStyles(true) sp := spinner.New() sp.Spinner = spinner.Line diff --git a/list/style.go b/list/style.go index e4451f8..351239f 100644 --- a/list/style.go +++ b/list/style.go @@ -41,9 +41,27 @@ type Styles struct { // DefaultStyles returns a set of default style definitions for this list // component. -func DefaultStyles() (s Styles) { - verySubduedColor := lipgloss.AdaptiveColor{Light: "#DDDADA", Dark: "#3C3C3C"} - subduedColor := lipgloss.AdaptiveColor{Light: "#9B9B9B", Dark: "#5C5C5C"} +func DefaultStyles(isDark bool) (s Styles) { + verySubduedColor := "#DDDADA" + subduedColor := "#9B9B9B" + spinnerColor := "#8E8E8E" + filterPromptColor := "#04B575" + filterCursorColor := "#EE6FF8" + statusBarColor := "#A49FA5" + statusBarActiveFilterColor := "#1a1a1a" + noItemsColor := "#909090" + activePaginationColor := "#847A85" + if isDark { + verySubduedColor = "#3C3C3C" + subduedColor = "#5C5C5C" + spinnerColor = "#747373" + filterPromptColor = "#ECFD65" + filterCursorColor = "#EE6FF8" + statusBarColor = "#777777" + statusBarActiveFilterColor = "#dddddd" + noItemsColor = "#626262" + activePaginationColor = "#979797" + } s.TitleBar = lipgloss.NewStyle().Padding(0, 0, 1, 2) @@ -53,46 +71,46 @@ func DefaultStyles() (s Styles) { Padding(0, 1) s.Spinner = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#8E8E8E", Dark: "#747373"}) + Foreground(lipgloss.Color(spinnerColor)) s.FilterPrompt = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#04B575", Dark: "#ECFD65"}) + Foreground(lipgloss.Color(filterPromptColor)) s.FilterCursor = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#EE6FF8", Dark: "#EE6FF8"}) + Foreground(lipgloss.Color(filterCursorColor)) s.DefaultFilterCharacterMatch = lipgloss.NewStyle().Underline(true) s.StatusBar = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"}). + Foreground(lipgloss.Color(statusBarColor)). Padding(0, 0, 1, 2) - s.StatusEmpty = lipgloss.NewStyle().Foreground(subduedColor) + s.StatusEmpty = lipgloss.NewStyle().Foreground(lipgloss.Color(subduedColor)) s.StatusBarActiveFilter = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#1a1a1a", Dark: "#dddddd"}) + Foreground(lipgloss.Color(statusBarActiveFilterColor)) - s.StatusBarFilterCount = lipgloss.NewStyle().Foreground(verySubduedColor) + s.StatusBarFilterCount = lipgloss.NewStyle().Foreground(lipgloss.Color(verySubduedColor)) s.NoItems = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#909090", Dark: "#626262"}) + Foreground(lipgloss.Color(noItemsColor)) - s.ArabicPagination = lipgloss.NewStyle().Foreground(subduedColor) + s.ArabicPagination = lipgloss.NewStyle().Foreground(lipgloss.Color(subduedColor)) s.PaginationStyle = lipgloss.NewStyle().PaddingLeft(2) //nolint:gomnd s.HelpStyle = lipgloss.NewStyle().Padding(1, 0, 0, 2) s.ActivePaginationDot = lipgloss.NewStyle(). - Foreground(lipgloss.AdaptiveColor{Light: "#847A85", Dark: "#979797"}). + Foreground(lipgloss.Color(activePaginationColor)). SetString(bullet) s.InactivePaginationDot = lipgloss.NewStyle(). - Foreground(verySubduedColor). + Foreground(lipgloss.Color(verySubduedColor)). SetString(bullet) s.DividerDot = lipgloss.NewStyle(). - Foreground(verySubduedColor). + Foreground(lipgloss.Color(verySubduedColor)). SetString(" " + bullet + " ") return s diff --git a/textarea/textarea.go b/textarea/textarea.go index 34c6f93..333fcab 100644 --- a/textarea/textarea.go +++ b/textarea/textarea.go @@ -280,7 +280,7 @@ func New() Model { vp.KeyMap = viewport.KeyMap{} cur := cursor.New() - focusedStyle, blurredStyle := DefaultStyles() + focusedStyle, blurredStyle := DefaultStyles(true) m := Model{ CharLimit: defaultCharLimit, @@ -312,26 +312,47 @@ func New() Model { // DefaultStyles returns the default styles for focused and blurred states for // the textarea. -func DefaultStyles() (Style, Style) { +func DefaultStyles(isDark bool) (Style, Style) { + focusedCursorLineColor := 255 + focusedCursorLineNrColor := 240 + focusedEobColor := 254 + focusedLineNrColor := 249 + blurredCursorLineColor := 245 + blurredCursorLineNrColor := 249 + blurredEobColor := 254 + blurredLineNrColor := 249 + blurredTextColor := 245 + if isDark { + focusedCursorLineColor = 0 + focusedCursorLineNrColor = 0 + focusedEobColor = 0 + focusedLineNrColor = 7 + blurredCursorLineColor = 7 + blurredCursorLineNrColor = 7 + blurredEobColor = 0 + blurredLineNrColor = 7 + blurredTextColor = 7 + } + focused := Style{ Base: lipgloss.NewStyle(), - CursorLine: lipgloss.NewStyle().Background(lipgloss.AdaptiveColor{Light: "255", Dark: "0"}), - CursorLineNumber: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "240"}), - EndOfBuffer: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "254", Dark: "0"}), - LineNumber: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "249", Dark: "7"}), + CursorLine: lipgloss.NewStyle().Background(lipgloss.Color(focusedCursorLineColor)), + CursorLineNumber: lipgloss.NewStyle().Foreground(lipgloss.Color(focusedCursorLineNrColor)), + EndOfBuffer: lipgloss.NewStyle().Foreground(lipgloss.Color(focusedEobColor)), + LineNumber: lipgloss.NewStyle().Foreground(lipgloss.Color(focusedLineNrColor)), Placeholder: lipgloss.NewStyle().Foreground(lipgloss.Color("240")), Prompt: lipgloss.NewStyle().Foreground(lipgloss.Color("7")), Text: lipgloss.NewStyle(), } blurred := Style{ Base: lipgloss.NewStyle(), - CursorLine: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "245", Dark: "7"}), - CursorLineNumber: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "249", Dark: "7"}), - EndOfBuffer: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "254", Dark: "0"}), - LineNumber: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "249", Dark: "7"}), + CursorLine: lipgloss.NewStyle().Foreground(lipgloss.Color(blurredCursorLineColor)), + CursorLineNumber: lipgloss.NewStyle().Foreground(lipgloss.Color(blurredCursorLineNrColor)), + EndOfBuffer: lipgloss.NewStyle().Foreground(lipgloss.Color(blurredEobColor)), + LineNumber: lipgloss.NewStyle().Foreground(lipgloss.Color(blurredLineNrColor)), Placeholder: lipgloss.NewStyle().Foreground(lipgloss.Color("240")), Prompt: lipgloss.NewStyle().Foreground(lipgloss.Color("7")), - Text: lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "245", Dark: "7"}), + Text: lipgloss.NewStyle().Foreground(lipgloss.Color(blurredTextColor)), } return focused, blurred