From 55b98e5dc10bd705f6a0169f82fe41978a99164d Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 9 Oct 2026 23:59:13 +0000 Subject: [PATCH 1/2] Separate Gruvbox Dark/Light from Hard, give Everforest an orange Warning Gruvbox Dark and Light used the hard variants' backgrounds, so each pair rendered identically. They now use the palette's own dark0 (#282828) and light0 (#fbf1c7); the hard variants keep #1d2021 and #f9f5d7. Every Everforest variant mapped Warning to the palette's red, the same as Error. Warning is now the palette's orange. The gallery subtitle no longer prints an empty segment for a theme with no variant, and the README shows the gallery overview. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01WWRBkw7bXdWGzuLpqnCvrB --- README.md | 2 ++ ThemeProvider.Test/ThemeSnapshot.approved.txt | 16 ++++++++-------- .../Themes/Everforest/EverforestDark.cs | 5 +++-- .../Themes/Everforest/EverforestDarkHard.cs | 5 +++-- .../Themes/Everforest/EverforestDarkSoft.cs | 5 +++-- .../Themes/Everforest/EverforestLight.cs | 5 +++-- .../Themes/Everforest/EverforestLightHard.cs | 5 +++-- .../Themes/Everforest/EverforestLightSoft.cs | 5 +++-- ThemeProvider/Themes/Gruvbox/GruvboxDark.cs | 2 +- ThemeProvider/Themes/Gruvbox/GruvboxLight.cs | 2 +- .../Gallery/SampleWindow.cs | 4 +++- 11 files changed, 33 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index a0256d2..8d9828a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ [![GitHub contributors](https://img.shields.io/github/contributors/ktsu-dev/ThemeProvider?label=Contributors&logo=github)](https://github.com/ktsu-dev/ThemeProvider/graphs/contributors) [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ktsu-dev/ThemeProvider/dotnet.yml?branch=main&label=Build&logo=github)](https://github.com/ktsu-dev/ThemeProvider/actions) +[![Every ThemeProvider theme drawn by Dear ImGui](docs/gallery/overview.png)](docs/gallery/README.md) + ## Introduction `ktsu.ThemeProvider` is a comprehensive theming system that uses semantic color specifications rather than arbitrary color names. Instead of hardcoding colors like "blue" or "red", you define colors by their purpose (Primary, Error, Warning) and priority level, and the library generates consistent, accessible color palettes. It includes 38 carefully crafted themes from popular color schemes and provides built-in Dear ImGui integration with an extensible architecture for other UI frameworks. diff --git a/ThemeProvider.Test/ThemeSnapshot.approved.txt b/ThemeProvider.Test/ThemeSnapshot.approved.txt index 242709d..584953b 100644 --- a/ThemeProvider.Test/ThemeSnapshot.approved.txt +++ b/ThemeProvider.Test/ThemeSnapshot.approved.txt @@ -83,7 +83,7 @@ Tokyo Night Day [family=Tokyo Night, variant=Day, isDark=false, themeIsDark=fals Failure = #F52A65 Debug = #9854F1 Gruvbox Dark [family=Gruvbox, variant=Dark, isDark=true, themeIsDark=true] - Neutral = #EBDBB2 #1D2021 + Neutral = #EBDBB2 #282828 Primary = #FE8019 Alternate = #D3869B Success = #B8BB26 @@ -119,7 +119,7 @@ Gruvbox Dark Soft [family=Gruvbox, variant=Dark Soft, isDark=true, themeIsDark=t Failure = #FB4934 Debug = #D3869B Gruvbox Light [family=Gruvbox, variant=Light, isDark=false, themeIsDark=false] - Neutral = #1D2021 #F9F5D7 + Neutral = #1D2021 #FBF1C7 Primary = #D65D0E Alternate = #B16286 Success = #98971A @@ -162,7 +162,7 @@ Everforest Dark [family=Everforest, variant=Dark, isDark=true, themeIsDark=true] CallToAction = #83C092 Information = #D699B6 Caution = #DBBC7F - Warning = #E67E80 + Warning = #E69875 Error = #E67E80 Failure = #E67E80 Debug = #D699B6 @@ -174,7 +174,7 @@ Everforest Dark Hard [family=Everforest, variant=Dark Hard, isDark=true, themeIs CallToAction = #83C092 Information = #D699B6 Caution = #DBBC7F - Warning = #E67E80 + Warning = #E69875 Error = #E67E80 Failure = #E67E80 Debug = #D699B6 @@ -186,7 +186,7 @@ Everforest Dark Soft [family=Everforest, variant=Dark Soft, isDark=true, themeIs CallToAction = #83C092 Information = #D699B6 Caution = #DBBC7F - Warning = #E67E80 + Warning = #E69875 Error = #E67E80 Failure = #E67E80 Debug = #D699B6 @@ -198,7 +198,7 @@ Everforest Light [family=Everforest, variant=Light, isDark=false, themeIsDark=fa CallToAction = #35A77C Information = #DF69BA Caution = #DFA000 - Warning = #F85552 + Warning = #F57D26 Error = #F85552 Failure = #F85552 Debug = #DF69BA @@ -210,7 +210,7 @@ Everforest Light Hard [family=Everforest, variant=Light Hard, isDark=false, them CallToAction = #35A77C Information = #DF69BA Caution = #DFA000 - Warning = #F85552 + Warning = #F57D26 Error = #F85552 Failure = #F85552 Debug = #DF69BA @@ -222,7 +222,7 @@ Everforest Light Soft [family=Everforest, variant=Light Soft, isDark=false, them CallToAction = #35A77C Information = #DF69BA Caution = #DFA000 - Warning = #F85552 + Warning = #F57D26 Error = #F85552 Failure = #F85552 Debug = #DF69BA diff --git a/ThemeProvider/Themes/Everforest/EverforestDark.cs b/ThemeProvider/Themes/Everforest/EverforestDark.cs index e6bb78d..8b37dde 100644 --- a/ThemeProvider/Themes/Everforest/EverforestDark.cs +++ b/ThemeProvider/Themes/Everforest/EverforestDark.cs @@ -14,6 +14,7 @@ public class EverforestDark : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#e67e80"; + private const string Orange = "#e69875"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -21,12 +22,12 @@ public class EverforestDark : ISemanticTheme { Neutrals = ["#d3c6aa", "#232a2e"], // Fg, BgDim Primary = "#a7c080", // Green - Alternate = "#e69875", // Orange + Alternate = Orange, Success = "#7fbbb3", // Blue CallToAction = "#83c092", // Aqua Information = "#d699b6", // Purple Caution = "#dbbc7f", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#d699b6", // Purple diff --git a/ThemeProvider/Themes/Everforest/EverforestDarkHard.cs b/ThemeProvider/Themes/Everforest/EverforestDarkHard.cs index 0ce02e8..71e2509 100644 --- a/ThemeProvider/Themes/Everforest/EverforestDarkHard.cs +++ b/ThemeProvider/Themes/Everforest/EverforestDarkHard.cs @@ -15,6 +15,7 @@ public class EverforestDarkHard : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#e67e80"; + private const string Orange = "#e69875"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -22,12 +23,12 @@ public class EverforestDarkHard : ISemanticTheme { Neutrals = ["#d3c6aa", "#1e2326"], // Fg, BgDim Primary = "#a7c080", // Green - Alternate = "#e69875", // Orange + Alternate = Orange, Success = "#7fbbb3", // Blue CallToAction = "#83c092", // Aqua Information = "#d699b6", // Purple Caution = "#dbbc7f", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#d699b6", // Purple diff --git a/ThemeProvider/Themes/Everforest/EverforestDarkSoft.cs b/ThemeProvider/Themes/Everforest/EverforestDarkSoft.cs index 68043a5..3877a1c 100644 --- a/ThemeProvider/Themes/Everforest/EverforestDarkSoft.cs +++ b/ThemeProvider/Themes/Everforest/EverforestDarkSoft.cs @@ -15,6 +15,7 @@ public class EverforestDarkSoft : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#e67e80"; + private const string Orange = "#e69875"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -22,12 +23,12 @@ public class EverforestDarkSoft : ISemanticTheme { Neutrals = ["#d3c6aa", "#293136"], // Fg, BgDim Primary = "#a7c080", // Green - Alternate = "#e69875", // Orange + Alternate = Orange, Success = "#7fbbb3", // Blue CallToAction = "#83c092", // Aqua Information = "#d699b6", // Purple Caution = "#dbbc7f", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#d699b6", // Purple diff --git a/ThemeProvider/Themes/Everforest/EverforestLight.cs b/ThemeProvider/Themes/Everforest/EverforestLight.cs index a6bbe0b..37e88f3 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLight.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLight.cs @@ -14,6 +14,7 @@ public class EverforestLight : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#f85552"; + private const string Orange = "#f57d26"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -21,12 +22,12 @@ public class EverforestLight : ISemanticTheme { Neutrals = ["#5c6a72", "#f3efda"], // Fg, BgDim Primary = "#8da101", // Green - Alternate = "#f57d26", // Orange + Alternate = Orange, Success = "#3a94c5", // Blue CallToAction = "#35a77c", // Aqua Information = "#df69ba", // Purple Caution = "#dfa000", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#df69ba", // Purple diff --git a/ThemeProvider/Themes/Everforest/EverforestLightHard.cs b/ThemeProvider/Themes/Everforest/EverforestLightHard.cs index 5570778..91d136a 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLightHard.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLightHard.cs @@ -15,6 +15,7 @@ public class EverforestLightHard : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#f85552"; + private const string Orange = "#f57d26"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -22,12 +23,12 @@ public class EverforestLightHard : ISemanticTheme { Neutrals = ["#5c6a72", "#f8f4e6"], // Fg, BgDim Primary = "#8da101", // Green - Alternate = "#f57d26", // Orange + Alternate = Orange, Success = "#3a94c5", // Blue CallToAction = "#35a77c", // Aqua Information = "#df69ba", // Purple Caution = "#dfa000", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#df69ba", // Purple diff --git a/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs b/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs index 1951321..c6c2ebe 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs @@ -15,6 +15,7 @@ public class EverforestLightSoft : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. private const string Red = "#f85552"; + private const string Orange = "#f57d26"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. @@ -22,12 +23,12 @@ public class EverforestLightSoft : ISemanticTheme { Neutrals = ["#5c6a72", "#f0f0e2"], // Fg, BgDim Primary = "#8da101", // Green - Alternate = "#f57d26", // Orange + Alternate = Orange, Success = "#3a94c5", // Blue CallToAction = "#35a77c", // Aqua Information = "#df69ba", // Purple Caution = "#dfa000", // Yellow - Warning = Red, + Warning = Orange, Error = Red, Failure = Red, Debug = "#df69ba", // Purple diff --git a/ThemeProvider/Themes/Gruvbox/GruvboxDark.cs b/ThemeProvider/Themes/Gruvbox/GruvboxDark.cs index 1603d7b..c2664d0 100644 --- a/ThemeProvider/Themes/Gruvbox/GruvboxDark.cs +++ b/ThemeProvider/Themes/Gruvbox/GruvboxDark.cs @@ -16,7 +16,7 @@ public class GruvboxDark : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#ebdbb2", "#1d2021"], // Light1, DarkHard + Neutrals = ["#ebdbb2", "#282828"], // Light1, Dark0 Primary = "#fe8019", // BrightOrange Alternate = "#d3869b", // BrightPurple Success = "#b8bb26", // BrightGreen diff --git a/ThemeProvider/Themes/Gruvbox/GruvboxLight.cs b/ThemeProvider/Themes/Gruvbox/GruvboxLight.cs index a9e0442..7075b55 100644 --- a/ThemeProvider/Themes/Gruvbox/GruvboxLight.cs +++ b/ThemeProvider/Themes/Gruvbox/GruvboxLight.cs @@ -16,7 +16,7 @@ public class GruvboxLight : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#1d2021", "#f9f5d7"], // Dark0Hard, LightHard + Neutrals = ["#1d2021", "#fbf1c7"], // Dark0Hard, Light0 Primary = "#d65d0e", // FadedOrange Alternate = "#b16286", // FadedPurple Success = "#98971a", // FadedGreen diff --git a/tests/ThemeProvider.UITests/Gallery/SampleWindow.cs b/tests/ThemeProvider.UITests/Gallery/SampleWindow.cs index 9168d0f..810e0bb 100644 --- a/tests/ThemeProvider.UITests/Gallery/SampleWindow.cs +++ b/tests/ThemeProvider.UITests/Gallery/SampleWindow.cs @@ -59,7 +59,9 @@ internal void Draw() ImGui.SetNextWindowFocus(); if (ImGui.Begin(info.Name, ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoSavedSettings)) { - ImGui.TextDisabled($"{info.Family} / {info.Variant} / {(info.IsDark ? "dark" : "light")}"); + ImGui.TextDisabled(string.IsNullOrEmpty(info.Variant) + ? $"{info.Family} / {(info.IsDark ? "dark" : "light")}" + : $"{info.Family} / {info.Variant} / {(info.IsDark ? "dark" : "light")}"); ImGui.Separator(); if (ImGui.BeginTable("##layout", 2, ImGuiTableFlags.None)) From 88d87a5f566b27b38fa471ac1e7a010ad6699621 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 00:06:45 +0000 Subject: [PATCH 2/2] Match theme palettes to their upstream schemes Checked every theme's hex values against the scheme it mirrors and corrected the ones that had drifted or were invented: - Nightfox family: Nordfox orange; Terafox fg1, orange and yellow; Dayfox fg1/bg0, orange, yellow and magenta; Dawnfox fg1/bg0, blue, green, cyan, and swapped yellow/orange; Duskfox bg, blue and pink. - Kanagawa Lotus: background, info, warning and error now use the lotus palette's own diagnostic colors. - One Dark and Nightfly: foreground is the scheme's text color rather than pure white; Nightfly green was Night Owl's. - PaperColor: light background color00, dark blue and pink. - VS Code: info, warning and error use editorInfo/Warning/Error. - Everforest light: bg_dim values follow the current palette. The snapshot is updated to match. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01WWRBkw7bXdWGzuLpqnCvrB --- ThemeProvider.Test/ThemeSnapshot.approved.txt | 84 +++++++++---------- .../Themes/Everforest/EverforestLight.cs | 2 +- .../Themes/Everforest/EverforestLightHard.cs | 2 +- .../Themes/Everforest/EverforestLightSoft.cs | 2 +- .../Themes/Kanagawa/KanagawaLotus.cs | 10 +-- ThemeProvider/Themes/Nightfly/Nightfly.cs | 6 +- ThemeProvider/Themes/Nightfox/Dawnfox.cs | 16 ++-- ThemeProvider/Themes/Nightfox/Dayfox.cs | 10 +-- ThemeProvider/Themes/Nightfox/Duskfox.cs | 8 +- ThemeProvider/Themes/Nightfox/Nordfox.cs | 2 +- ThemeProvider/Themes/Nightfox/Terafox.cs | 8 +- ThemeProvider/Themes/OneDark/OneDark.cs | 2 +- .../Themes/PaperColor/PaperColorDark.cs | 6 +- .../Themes/PaperColor/PaperColorLight.cs | 2 +- ThemeProvider/Themes/VSCode/VSCodeDark.cs | 8 +- ThemeProvider/Themes/VSCode/VSCodeLight.cs | 8 +- 16 files changed, 88 insertions(+), 88 deletions(-) diff --git a/ThemeProvider.Test/ThemeSnapshot.approved.txt b/ThemeProvider.Test/ThemeSnapshot.approved.txt index 584953b..7166c79 100644 --- a/ThemeProvider.Test/ThemeSnapshot.approved.txt +++ b/ThemeProvider.Test/ThemeSnapshot.approved.txt @@ -191,7 +191,7 @@ Everforest Dark Soft [family=Everforest, variant=Dark Soft, isDark=true, themeIs Failure = #E67E80 Debug = #D699B6 Everforest Light [family=Everforest, variant=Light, isDark=false, themeIsDark=false] - Neutral = #5C6A72 #F3EFDA + Neutral = #5C6A72 #EFEBD4 Primary = #8DA101 Alternate = #F57D26 Success = #3A94C5 @@ -203,7 +203,7 @@ Everforest Light [family=Everforest, variant=Light, isDark=false, themeIsDark=fa Failure = #F85552 Debug = #DF69BA Everforest Light Hard [family=Everforest, variant=Light Hard, isDark=false, themeIsDark=false] - Neutral = #5C6A72 #F8F4E6 + Neutral = #5C6A72 #F2EFDF Primary = #8DA101 Alternate = #F57D26 Success = #3A94C5 @@ -215,7 +215,7 @@ Everforest Light Hard [family=Everforest, variant=Light Hard, isDark=false, them Failure = #F85552 Debug = #DF69BA Everforest Light Soft [family=Everforest, variant=Light Soft, isDark=false, themeIsDark=false] - Neutral = #5C6A72 #F0F0E2 + Neutral = #5C6A72 #E5DFC5 Primary = #8DA101 Alternate = #F57D26 Success = #3A94C5 @@ -239,29 +239,29 @@ Nightfox [family=Nightfox, variant=-, isDark=true, themeIsDark=true] Failure = #C94F6D Debug = #9D79D6 Dayfox [family=Nightfox, variant=Dayfox, isDark=false, themeIsDark=false] - Neutral = #1D344F #EFEAE6 + Neutral = #3D2B5A #E4DCD4 Primary = #2848A9 - Alternate = #955F20 + Alternate = #955F61 Success = #396847 CallToAction = #287980 Information = #2848A9 - Caution = #986936 - Warning = #955F20 + Caution = #AC5402 + Warning = #955F61 Error = #A5222F Failure = #A5222F - Debug = #7847BD + Debug = #6E33CE Duskfox [family=Nightfox, variant=Duskfox, isDark=true, themeIsDark=true] - Neutral = #E0DEF4 #1A1826 - Primary = #9CCFD8 + Neutral = #E0DEF4 #191726 + Primary = #569FBA Alternate = #C4A7E7 Success = #A3BE8C CallToAction = #9CCFD8 - Information = #9CCFD8 + Information = #569FBA Caution = #F6C177 Warning = #EA9A97 Error = #EB6F92 Failure = #EB6F92 - Debug = #F5C2E7 + Debug = #EB98C3 Nordfox [family=Nightfox, variant=Nordfox, isDark=true, themeIsDark=true] Neutral = #CDCECF #232831 Primary = #81A1C1 @@ -270,19 +270,19 @@ Nordfox [family=Nightfox, variant=Nordfox, isDark=true, themeIsDark=true] CallToAction = #88C0D0 Information = #81A1C1 Caution = #EBCB8B - Warning = #D08770 + Warning = #C9826B Error = #BF616A Failure = #BF616A Debug = #B48EAD Terafox [family=Nightfox, variant=Terafox, isDark=true, themeIsDark=true] - Neutral = #FBEBD3 #0F1C1E + Neutral = #E6EAEA #0F1C1E Primary = #7AA4A1 - Alternate = #FFA500 + Alternate = #FF8349 Success = #7AA4A1 CallToAction = #A1CDD8 Information = #5A93AA - Caution = #FDB292 - Warning = #FFA500 + Caution = #FDA47F + Warning = #FF8349 Error = #E85C51 Failure = #E85C51 Debug = #AD5C7C @@ -299,14 +299,14 @@ Carbonfox [family=Nightfox, variant=Carbonfox, isDark=true, themeIsDark=true] Failure = #EE5396 Debug = #BE95FF Dawnfox [family=Nightfox, variant=Dawnfox, isDark=false, themeIsDark=false] - Neutral = #575279 #F4EDE4 - Primary = #56949F + Neutral = #575279 #EBE5DF + Primary = #286983 Alternate = #D685AF - Success = #286983 + Success = #618774 CallToAction = #56949F Information = #56949F - Caution = #D7827E - Warning = #EA9D34 + Caution = #EA9D34 + Warning = #D7827E Error = #B4637A Failure = #B4637A Debug = #907AA9 @@ -335,19 +335,19 @@ Kanagawa Dragon [family=Kanagawa, variant=Dragon, isDark=true, themeIsDark=true] Failure = #C4746E Debug = #C4746E Kanagawa Lotus [family=Kanagawa, variant=Lotus, isDark=false, themeIsDark=false] - Neutral = #545464 #F7F4DD + Neutral = #545464 #F2ECBC Primary = #4D699B Alternate = #B35B79 Success = #6F894E CallToAction = #5E857A - Information = #7E9FB8 + Information = #5A7785 Caution = #77713F - Warning = #B98F56 - Error = #CC5D73 - Failure = #CC5D73 + Warning = #E98A00 + Error = #E82424 + Failure = #E82424 Debug = #B35B79 PaperColor Light [family=PaperColor, variant=Light, isDark=false, themeIsDark=false] - Neutral = #444444 #FFFFFF + Neutral = #444444 #EEEEEE Primary = #0087AF Alternate = #8700AF Success = #008700 @@ -360,16 +360,16 @@ PaperColor Light [family=PaperColor, variant=Light, isDark=false, themeIsDark=fa Debug = #D70087 PaperColor Dark [family=PaperColor, variant=Dark, isDark=true, themeIsDark=true] Neutral = #D0D0D0 #1C1C1C - Primary = #0087D7 + Primary = #5FAFD7 Alternate = #AF87D7 Success = #5FAF00 CallToAction = #00AFAF - Information = #0087D7 + Information = #5FAFD7 Caution = #FFAF00 Warning = #FF8700 Error = #AF005F Failure = #AF005F - Debug = #D70087 + Debug = #FF5FAF Nord [family=Nord, variant=-, isDark=true, themeIsDark=true] Neutral = #ECEFF4 #2E3440 Primary = #88C0D0 @@ -400,11 +400,11 @@ VSCode Dark [family=VSCode, variant=Dark, isDark=true, themeIsDark=true] Alternate = #C586C0 Success = #B5CEA8 CallToAction = #B5CEA8 - Information = #75BEFF + Information = #59A4F9 Caution = #CE9178 - Warning = #FFCC02 - Error = #F44747 - Failure = #F44747 + Warning = #CCA700 + Error = #F14C4C + Failure = #F14C4C Debug = #C586C0 VSCode Light [family=VSCode, variant=Light, isDark=false, themeIsDark=false] Neutral = #000000 #FFFFFF @@ -412,14 +412,14 @@ VSCode Light [family=VSCode, variant=Light, isDark=false, themeIsDark=false] Alternate = #AF00DB Success = #098658 CallToAction = #098658 - Information = #316BCD + Information = #0063D3 Caution = #A31515 Warning = #BF8803 - Error = #CD3131 - Failure = #CD3131 + Error = #E51400 + Failure = #E51400 Debug = #AF00DB One Dark [family=One Dark, variant=-, isDark=true, themeIsDark=true] - Neutral = #FFFFFF #181A1F + Neutral = #ABB2BF #181A1F Primary = #61AFEF Alternate = #C678DD Success = #98C379 @@ -443,11 +443,11 @@ Monokai [family=Monokai, variant=-, isDark=true, themeIsDark=true] Failure = #F92672 Debug = #AE81FF Nightfly [family=Nightfly, variant=-, isDark=true, themeIsDark=true] - Neutral = #FFFFFF #011627 + Neutral = #C3CCDC #011627 Primary = #82AAFF Alternate = #C792EA - Success = #ADDB67 - CallToAction = #ADDB67 + Success = #A1CD5E + CallToAction = #A1CD5E Information = #7FDBCA Caution = #F78C6C Warning = #E3D18A diff --git a/ThemeProvider/Themes/Everforest/EverforestLight.cs b/ThemeProvider/Themes/Everforest/EverforestLight.cs index 37e88f3..9f17148 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLight.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLight.cs @@ -20,7 +20,7 @@ public class EverforestLight : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#5c6a72", "#f3efda"], // Fg, BgDim + Neutrals = ["#5c6a72", "#efebd4"], // Fg, BgDim Primary = "#8da101", // Green Alternate = Orange, Success = "#3a94c5", // Blue diff --git a/ThemeProvider/Themes/Everforest/EverforestLightHard.cs b/ThemeProvider/Themes/Everforest/EverforestLightHard.cs index 91d136a..3e9798a 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLightHard.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLightHard.cs @@ -21,7 +21,7 @@ public class EverforestLightHard : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#5c6a72", "#f8f4e6"], // Fg, BgDim + Neutrals = ["#5c6a72", "#f2efdf"], // Fg, BgDim Primary = "#8da101", // Green Alternate = Orange, Success = "#3a94c5", // Blue diff --git a/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs b/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs index c6c2ebe..1fa265e 100644 --- a/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs +++ b/ThemeProvider/Themes/Everforest/EverforestLightSoft.cs @@ -21,7 +21,7 @@ public class EverforestLightSoft : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#5c6a72", "#f0f0e2"], // Fg, BgDim + Neutrals = ["#5c6a72", "#e5dfc5"], // Fg, BgDim Primary = "#8da101", // Green Alternate = Orange, Success = "#3a94c5", // Blue diff --git a/ThemeProvider/Themes/Kanagawa/KanagawaLotus.cs b/ThemeProvider/Themes/Kanagawa/KanagawaLotus.cs index ff4ad5d..eef73bd 100644 --- a/ThemeProvider/Themes/Kanagawa/KanagawaLotus.cs +++ b/ThemeProvider/Themes/Kanagawa/KanagawaLotus.cs @@ -17,16 +17,16 @@ public class KanagawaLotus : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#545464", "#f7f4dd"], // Fg0, BgAlt + Neutrals = ["#545464", "#f2ecbc"], // LotusInk1, LotusWhite3 Primary = "#4d699b", // CrystalBlue Alternate = "#b35b79", // SakuraPink Success = "#6f894e", // SummerGreen CallToAction = "#5e857a", // SpringBlue - Information = "#7e9fb8", // IceBlue + Information = "#5a7785", // LotusTeal3 Caution = "#77713f", // AutumnYellow - Warning = "#b98f56", // BoatYellow2 - Error = "#cc5d73", // WaveRed - Failure = "#cc5d73", // WaveRed + Warning = "#e98a00", // LotusOrange2 + Error = "#e82424", // LotusRed3 + Failure = "#e82424", // LotusRed3 Debug = "#b35b79", // SakuraPink }; diff --git a/ThemeProvider/Themes/Nightfly/Nightfly.cs b/ThemeProvider/Themes/Nightfly/Nightfly.cs index 4950624..8c43c52 100644 --- a/ThemeProvider/Themes/Nightfly/Nightfly.cs +++ b/ThemeProvider/Themes/Nightfly/Nightfly.cs @@ -16,11 +16,11 @@ public class Nightfly : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#ffffff", "#011627"], // White, Background + Neutrals = ["#c3ccdc", "#011627"], // White, Background Primary = "#82aaff", // Blue Alternate = "#c792ea", // Purple - Success = "#addb67", // Green - CallToAction = "#addb67", // Green + Success = "#a1cd5e", // Green + CallToAction = "#a1cd5e", // Green Information = "#7fdbca", // Cyan Caution = "#f78c6c", // Orange Warning = "#e3d18a", // Yellow diff --git a/ThemeProvider/Themes/Nightfox/Dawnfox.cs b/ThemeProvider/Themes/Nightfox/Dawnfox.cs index e4e904a..30f8768 100644 --- a/ThemeProvider/Themes/Nightfox/Dawnfox.cs +++ b/ThemeProvider/Themes/Nightfox/Dawnfox.cs @@ -14,20 +14,20 @@ namespace ktsu.ThemeProvider.Themes.Nightfox; public class Dawnfox : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. - private const string Blue = "#56949f"; + private const string Cyan = "#56949f"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#575279", "#f4ede4"], // Fg0, BgAlt - Primary = Blue, + Neutrals = ["#575279", "#ebe5df"], // Fg1, Bg0 + Primary = "#286983", // Blue Alternate = "#d685af", // Pink - Success = "#286983", // Green - CallToAction = Blue, - Information = Blue, - Caution = "#d7827e", // Yellow - Warning = "#ea9d34", // Orange + Success = "#618774", // Green + CallToAction = Cyan, + Information = Cyan, + Caution = "#ea9d34", // Yellow + Warning = "#d7827e", // Orange Error = "#b4637a", // Red Failure = "#b4637a", // Red Debug = "#907aa9", // Magenta diff --git a/ThemeProvider/Themes/Nightfox/Dayfox.cs b/ThemeProvider/Themes/Nightfox/Dayfox.cs index c370835..0acfa88 100644 --- a/ThemeProvider/Themes/Nightfox/Dayfox.cs +++ b/ThemeProvider/Themes/Nightfox/Dayfox.cs @@ -17,17 +17,17 @@ public class Dayfox : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#1d344f", "#efeae6"], // Fg0, BgAlt + Neutrals = ["#3d2b5a", "#e4dcd4"], // Fg1, BgAlt Primary = "#2848a9", // Blue - Alternate = "#955f20", // Orange + Alternate = "#955f61", // Orange Success = "#396847", // Green CallToAction = "#287980", // Cyan Information = "#2848a9", // Blue - Caution = "#986936", // Yellow - Warning = "#955f20", // Orange + Caution = "#ac5402", // Yellow + Warning = "#955f61", // Orange Error = "#a5222f", // Red Failure = "#a5222f", // Red - Debug = "#7847bd", // Magenta + Debug = "#6e33ce", // Magenta }; /// diff --git a/ThemeProvider/Themes/Nightfox/Duskfox.cs b/ThemeProvider/Themes/Nightfox/Duskfox.cs index ead5c63..ab1f858 100644 --- a/ThemeProvider/Themes/Nightfox/Duskfox.cs +++ b/ThemeProvider/Themes/Nightfox/Duskfox.cs @@ -14,23 +14,23 @@ namespace ktsu.ThemeProvider.Themes.Nightfox; public class Duskfox : ISemanticTheme { // Colors shared by several meanings are named once, after the palette entry they come from. - private const string Blue = "#9ccfd8"; + private const string Blue = "#569fba"; // Hex values are the palette this theme mirrors; the trailing comment on each line is // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#e0def4", "#1a1826"], // Fg0, BgAlt + Neutrals = ["#e0def4", "#191726"], // Fg1, BgAlt Primary = Blue, Alternate = "#c4a7e7", // Magenta Success = "#a3be8c", // Green - CallToAction = Blue, // Cyan + CallToAction = "#9ccfd8", // Cyan Information = Blue, Caution = "#f6c177", // Yellow Warning = "#ea9a97", // Orange Error = "#eb6f92", // Red Failure = "#eb6f92", // Red - Debug = "#f5c2e7", // Pink + Debug = "#eb98c3", // Pink }; /// diff --git a/ThemeProvider/Themes/Nightfox/Nordfox.cs b/ThemeProvider/Themes/Nightfox/Nordfox.cs index 3a7f308..66bf5a2 100644 --- a/ThemeProvider/Themes/Nightfox/Nordfox.cs +++ b/ThemeProvider/Themes/Nightfox/Nordfox.cs @@ -24,7 +24,7 @@ public class Nordfox : ISemanticTheme CallToAction = "#88c0d0", // Cyan Information = "#81a1c1", // Blue Caution = "#ebcb8b", // Yellow - Warning = "#d08770", // Orange + Warning = "#c9826b", // Orange Error = "#bf616a", // Red Failure = "#bf616a", // Red Debug = "#b48ead", // Magenta diff --git a/ThemeProvider/Themes/Nightfox/Terafox.cs b/ThemeProvider/Themes/Nightfox/Terafox.cs index e2fe381..a89ac59 100644 --- a/ThemeProvider/Themes/Nightfox/Terafox.cs +++ b/ThemeProvider/Themes/Nightfox/Terafox.cs @@ -17,14 +17,14 @@ public class Terafox : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#fbebd3", "#0f1c1e"], // Fg0, BgAlt + Neutrals = ["#e6eaea", "#0f1c1e"], // Fg1, BgAlt Primary = "#7aa4a1", // Green - Alternate = "#ffa500", // Orange + Alternate = "#ff8349", // Orange Success = "#7aa4a1", // Green CallToAction = "#a1cdd8", // Cyan Information = "#5a93aa", // Blue - Caution = "#fdb292", // Yellow - Warning = "#ffa500", // Orange + Caution = "#fda47f", // Yellow + Warning = "#ff8349", // Orange Error = "#e85c51", // Red Failure = "#e85c51", // Red Debug = "#ad5c7c", // Magenta diff --git a/ThemeProvider/Themes/OneDark/OneDark.cs b/ThemeProvider/Themes/OneDark/OneDark.cs index d9ae715..a79ee3b 100644 --- a/ThemeProvider/Themes/OneDark/OneDark.cs +++ b/ThemeProvider/Themes/OneDark/OneDark.cs @@ -16,7 +16,7 @@ public class OneDark : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#ffffff", "#181a1f"], // White, Black + Neutrals = ["#abb2bf", "#181a1f"], // White, Black Primary = "#61afef", // Blue Alternate = "#c678dd", // Purple Success = "#98c379", // Green diff --git a/ThemeProvider/Themes/PaperColor/PaperColorDark.cs b/ThemeProvider/Themes/PaperColor/PaperColorDark.cs index 28b5ee7..4a5bbdb 100644 --- a/ThemeProvider/Themes/PaperColor/PaperColorDark.cs +++ b/ThemeProvider/Themes/PaperColor/PaperColorDark.cs @@ -18,16 +18,16 @@ public class PaperColorDark : ISemanticTheme private static readonly SemanticPalette Palette = new() { Neutrals = ["#d0d0d0", "#1c1c1c"], // Fg0, Background - Primary = "#0087d7", // Blue + Primary = "#5fafd7", // Blue Alternate = "#af87d7", // Purple Success = "#5faf00", // Green CallToAction = "#00afaf", // Teal - Information = "#0087d7", // Blue + Information = "#5fafd7", // Blue Caution = "#ffaf00", // Yellow Warning = "#ff8700", // Orange Error = "#af005f", // Red Failure = "#af005f", // Red - Debug = "#d70087", // Pink + Debug = "#ff5faf", // Pink }; /// diff --git a/ThemeProvider/Themes/PaperColor/PaperColorLight.cs b/ThemeProvider/Themes/PaperColor/PaperColorLight.cs index e953b7b..6213d15 100644 --- a/ThemeProvider/Themes/PaperColor/PaperColorLight.cs +++ b/ThemeProvider/Themes/PaperColor/PaperColorLight.cs @@ -17,7 +17,7 @@ public class PaperColorLight : ISemanticTheme // that palette's own name for the color. private static readonly SemanticPalette Palette = new() { - Neutrals = ["#444444", "#ffffff"], // Fg0, BgAlt + Neutrals = ["#444444", "#eeeeee"], // Color07, Color00 Primary = "#0087af", // Blue Alternate = "#8700af", // Purple Success = "#008700", // Green diff --git a/ThemeProvider/Themes/VSCode/VSCodeDark.cs b/ThemeProvider/Themes/VSCode/VSCodeDark.cs index 9b4280b..246f955 100644 --- a/ThemeProvider/Themes/VSCode/VSCodeDark.cs +++ b/ThemeProvider/Themes/VSCode/VSCodeDark.cs @@ -21,11 +21,11 @@ public class VSCodeDark : ISemanticTheme Alternate = "#c586c0", // Purple Success = "#b5cea8", // Number CallToAction = "#b5cea8", // Number - Information = "#75beff", // Info + Information = "#59a4f9", // EditorInfo Caution = "#ce9178", // StringColor - Warning = "#ffcc02", // Warning - Error = "#f44747", // Error - Failure = "#f44747", // Error + Warning = "#cca700", // EditorWarning + Error = "#f14c4c", // EditorError + Failure = "#f14c4c", // EditorError Debug = "#c586c0", // Purple }; diff --git a/ThemeProvider/Themes/VSCode/VSCodeLight.cs b/ThemeProvider/Themes/VSCode/VSCodeLight.cs index b96c4d7..054d746 100644 --- a/ThemeProvider/Themes/VSCode/VSCodeLight.cs +++ b/ThemeProvider/Themes/VSCode/VSCodeLight.cs @@ -21,11 +21,11 @@ public class VSCodeLight : ISemanticTheme Alternate = "#af00db", // Purple Success = "#098658", // Number CallToAction = "#098658", // Number - Information = "#316bcd", // Info + Information = "#0063d3", // EditorInfo Caution = "#a31515", // StringColor - Warning = "#bf8803", // Warning - Error = "#cd3131", // Error - Failure = "#cd3131", // Error + Warning = "#bf8803", // EditorWarning + Error = "#e51400", // EditorError + Failure = "#e51400", // EditorError Debug = "#af00db", // Purple };