@@ -121,6 +121,78 @@ func RosePine() Theme {
121121 }
122122}
123123
124+ // CatppuccinLatte returns the Catppuccin Latte light palette
125+ // (https://github.com/catppuccin/catppuccin).
126+ func CatppuccinLatte () Theme {
127+ return Theme {
128+ Name : "catppuccin-latte" ,
129+ Background : lipgloss .Color ("#eff1f5" ), // Base
130+ Foreground : lipgloss .Color ("#4c4f69" ), // Text
131+ Muted : lipgloss .Color ("#9ca0b0" ), // Overlay0
132+ Subtle : lipgloss .Color ("#ccd0da" ), // Surface0
133+ Primary : lipgloss .Color ("#8839ef" ), // Mauve
134+ Secondary : lipgloss .Color ("#1e66f5" ), // Blue
135+ Accent : lipgloss .Color ("#ea76cb" ), // Pink
136+ Success : lipgloss .Color ("#40a02b" ), // Green
137+ Warning : lipgloss .Color ("#df8e1d" ), // Yellow
138+ Info : lipgloss .Color ("#04a5e5" ), // Sky
139+ }
140+ }
141+
142+ // RosePineDawn returns the Rose Pine Dawn light palette
143+ // (https://rosepinetheme.com/).
144+ func RosePineDawn () Theme {
145+ return Theme {
146+ Name : "rose-pine-dawn" ,
147+ Background : lipgloss .Color ("#faf4ed" ), // Base
148+ Foreground : lipgloss .Color ("#575279" ), // Text
149+ Muted : lipgloss .Color ("#9893a5" ), // Muted
150+ Subtle : lipgloss .Color ("#fffaf3" ), // Surface
151+ Primary : lipgloss .Color ("#907aa9" ), // Iris
152+ Secondary : lipgloss .Color ("#56949f" ), // Foam
153+ Accent : lipgloss .Color ("#d7827e" ), // Rose
154+ Success : lipgloss .Color ("#286983" ), // Pine
155+ Warning : lipgloss .Color ("#ea9d34" ), // Gold
156+ Info : lipgloss .Color ("#b4637a" ), // Love
157+ }
158+ }
159+
160+ // SolarizedLight returns the Solarized Light palette
161+ // (https://ethanschoonover.com/solarized/).
162+ func SolarizedLight () Theme {
163+ return Theme {
164+ Name : "solarized-light" ,
165+ Background : lipgloss .Color ("#fdf6e3" ), // base3
166+ Foreground : lipgloss .Color ("#657b83" ), // base00
167+ Muted : lipgloss .Color ("#93a1a1" ), // base1
168+ Subtle : lipgloss .Color ("#eee8d5" ), // base2
169+ Primary : lipgloss .Color ("#6c71c4" ), // violet
170+ Secondary : lipgloss .Color ("#268bd2" ), // blue
171+ Accent : lipgloss .Color ("#d33682" ), // magenta
172+ Success : lipgloss .Color ("#859900" ), // green
173+ Warning : lipgloss .Color ("#b58900" ), // yellow
174+ Info : lipgloss .Color ("#2aa198" ), // cyan
175+ }
176+ }
177+
178+ // Paper returns a warm, low-glare light palette tuned for plain terminal
179+ // backgrounds and long listening sessions.
180+ func Paper () Theme {
181+ return Theme {
182+ Name : "paper" ,
183+ Background : lipgloss .Color ("#f7f3ea" ),
184+ Foreground : lipgloss .Color ("#3f3a32" ),
185+ Muted : lipgloss .Color ("#8b8174" ),
186+ Subtle : lipgloss .Color ("#e3dccf" ),
187+ Primary : lipgloss .Color ("#5c6bc0" ),
188+ Secondary : lipgloss .Color ("#00897b" ),
189+ Accent : lipgloss .Color ("#d81b60" ),
190+ Success : lipgloss .Color ("#558b2f" ),
191+ Warning : lipgloss .Color ("#c77700" ),
192+ Info : lipgloss .Color ("#0277bd" ),
193+ }
194+ }
195+
124196// Lookup returns the theme registered under name. If name is empty or
125197// unknown, Lookup returns Tokyo Night and false; otherwise it returns the
126198// matched theme and true. Callers can use the bool to warn the user when
@@ -181,6 +253,10 @@ var infos = []Info{
181253 {Name : "catppuccin-mocha" , DisplayName : "Catppuccin Mocha" , Description : "soft pastels on warm charcoal" },
182254 {Name : "gruvbox-dark" , DisplayName : "Gruvbox Dark" , Description : "earthy contrast with vintage warmth" },
183255 {Name : "rose-pine" , DisplayName : "Rose Pine" , Description : "muted mauve, calm and low-glare" },
256+ {Name : "catppuccin-latte" , DisplayName : "Catppuccin Latte" , Description : "airy pastels on a clean light base" },
257+ {Name : "rose-pine-dawn" , DisplayName : "Rose Pine Dawn" , Description : "warm sunrise paper with soft mauve" },
258+ {Name : "solarized-light" , DisplayName : "Solarized Light" , Description : "classic low-contrast terminal daylight" },
259+ {Name : "paper" , DisplayName : "Paper" , Description : "warm ink on cream for bright rooms" },
184260}
185261
186262// registry maps theme names to constructors. Phase 0 shipped only Tokyo
@@ -190,4 +266,8 @@ var registry = map[string]func() Theme{
190266 "catppuccin-mocha" : CatppuccinMocha ,
191267 "gruvbox-dark" : GruvboxDark ,
192268 "rose-pine" : RosePine ,
269+ "catppuccin-latte" : CatppuccinLatte ,
270+ "rose-pine-dawn" : RosePineDawn ,
271+ "solarized-light" : SolarizedLight ,
272+ "paper" : Paper ,
193273}
0 commit comments