From 5d87e8df3ce4daabc0a29ac0e66b31bbf8ff5935 Mon Sep 17 00:00:00 2001 From: Daniel Dada Date: Mon, 8 Dec 2025 10:40:36 +0300 Subject: [PATCH] updated color keys --- CMakeLists.txt | 10 +- example_config/config.toml | 2 +- .../palettes/catppuccin-frappe.toml | 63 -------- example_config/palettes/catppuccin-latte.toml | 63 -------- .../palettes/catppuccin-macciato.toml | 63 -------- example_config/palettes/catppuccin-mocha.toml | 63 -------- example_config/palettes/cursed-light.toml | 67 +++++++++ example_config/palettes/cursed.toml | 54 +++++++ example_config/palettes/dark.toml | 63 -------- .../palettes/everforest-dark-hard.toml | 63 -------- example_config/palettes/everforest-dark.toml | 63 -------- example_config/palettes/everforest-light.toml | 63 -------- example_config/palettes/flexoki-light.toml | 63 -------- example_config/palettes/flexoki.toml | 63 -------- example_config/palettes/gruvbox-dark.toml | 63 -------- example_config/palettes/gruvbox-hard.toml | 63 -------- example_config/palettes/gruvbox-light.toml | 63 -------- example_config/palettes/light.toml | 63 -------- example_config/palettes/rose-pine-dawn.toml | 63 -------- example_config/palettes/rose-pine-moon.toml | 63 -------- example_config/palettes/rose-pine.toml | 63 -------- example_config/templates/formats-demo | 42 +++--- example_config/templates/kitty.conf | 44 +++--- example_config/templates/nvim.lua | 54 ++++--- src/core/palette/color_keys.hpp | 91 +++++++----- src/gui/color_scheme_editor.cpp | 138 ++++++++++-------- src/gui/template_editor.cpp | 45 +++--- 27 files changed, 359 insertions(+), 1259 deletions(-) delete mode 100644 example_config/palettes/catppuccin-frappe.toml delete mode 100644 example_config/palettes/catppuccin-latte.toml delete mode 100644 example_config/palettes/catppuccin-macciato.toml delete mode 100644 example_config/palettes/catppuccin-mocha.toml create mode 100644 example_config/palettes/cursed-light.toml create mode 100644 example_config/palettes/cursed.toml delete mode 100644 example_config/palettes/dark.toml delete mode 100644 example_config/palettes/everforest-dark-hard.toml delete mode 100644 example_config/palettes/everforest-dark.toml delete mode 100644 example_config/palettes/everforest-light.toml delete mode 100644 example_config/palettes/flexoki-light.toml delete mode 100644 example_config/palettes/flexoki.toml delete mode 100644 example_config/palettes/gruvbox-dark.toml delete mode 100644 example_config/palettes/gruvbox-hard.toml delete mode 100644 example_config/palettes/gruvbox-light.toml delete mode 100644 example_config/palettes/light.toml delete mode 100644 example_config/palettes/rose-pine-dawn.toml delete mode 100644 example_config/palettes/rose-pine-moon.toml delete mode 100644 example_config/palettes/rose-pine.toml diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b799a9..974c2d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,11 +82,11 @@ set(GUI_SOURCES ) add_executable(clrsync_gui ${GUI_SOURCES}) target_include_directories(clrsync_gui PRIVATE src SYSTEM lib) -if(WIN32) - set_target_properties(clrsync_gui PROPERTIES - LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup" - ) -endif() +# if(WIN32) +# set_target_properties(clrsync_gui PROPERTIES +# LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup" +# ) +# endif() if(WIN32) target_link_libraries(clrsync_gui PRIVATE clrsync_core glfw freetype imgui OpenGL::GL) diff --git a/example_config/config.toml b/example_config/config.toml index c50937c..329e538 100644 --- a/example_config/config.toml +++ b/example_config/config.toml @@ -1,5 +1,5 @@ [general] -default_theme = 'dark' +default_theme = 'cursed' palettes_path = '~/.config/clrsync/palettes' font = 'JetBrainsMono Nerd Font Mono' font_size = 14 diff --git a/example_config/palettes/catppuccin-frappe.toml b/example_config/palettes/catppuccin-frappe.toml deleted file mode 100644 index 1ed4ee7..0000000 --- a/example_config/palettes/catppuccin-frappe.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#A6D189FF' -background = '#303446FF' -border_emphasized = '#8CAAEEFF' -border_focused = '#A6D189FF' -border_window = '#51576DFF' -cursor = '#F2D5CFFF' -editor_background = '#303446FF' -error = '#E78284FF' -floating_window_background = '#414559FF' -foreground = '#C6D0F5FF' -foreground_emphasis = '#C6D0F5FF' -foreground_secondary = '#B5BFE2FF' -info = '#8CAAEEFF' -menu_option_background = '#414559FF' -outline = '#51576DFF' -popup_background = '#292C3CFF' -shadow = '#00000080' -sidebar_background = '#292C3CFF' -success = '#A6D189FF' -surface = '#292C3CFF' -surface_variant = '#414559FF' -syntax_error = '#E78284FF' -syntax_function = '#8CAAEEFF' -syntax_keyword = '#CA9EE6FF' -syntax_operator = '#99D1DBFF' -syntax_special_keyword = '#E5C890FF' -term_black = '#51576DFF' -term_black_bright = '#626880FF' -term_blue = '#8CAAEEFF' -term_blue_bright = '#8CAAEEFF' -term_cyan = '#81C8BEFF' -term_cyan_bright = '#81C8BEFF' -term_green = '#A6D189FF' -term_green_bright = '#A6D189FF' -term_magenta = '#F4B8E4FF' -term_magenta_bright = '#F4B8E4FF' -term_red = '#E78284FF' -term_red_bright = '#E78284FF' -term_white = '#B5BFE2FF' -term_white_bright = '#A5ADCEFF' -term_yellow = '#E5C890FF' -term_yellow_bright = '#E5C890FF' -terminal_gray = '#626880FF' -text_command = '#A6D189FF' -text_comment = '#737994FF' -text_disabled = '#737994FF' -text_emphasis = '#C6D0F5FF' -text_error = '#E78284FF' -text_inactive = '#838BA7FF' -text_line_number = '#737994FF' -text_link = '#8CAAEEFF' -text_main = '#C6D0F5FF' -text_selected = '#62688038' -text_selection_inactive = '#51576D38' -text_string = '#A6D189FF' -text_success = '#A6D189FF' -text_warning = '#E5C890FF' -warning = '#EF9F76FF' -warning_emphasis = '#E5C890FF' - -[general] -name = 'catppuccin-frappe' \ No newline at end of file diff --git a/example_config/palettes/catppuccin-latte.toml b/example_config/palettes/catppuccin-latte.toml deleted file mode 100644 index d0639c7..0000000 --- a/example_config/palettes/catppuccin-latte.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#40A02BFF' -background = '#EFF1F5FF' -border_emphasized = '#1E66F5FF' -border_focused = '#40A02BFF' -border_window = '#CCD0DAFF' -cursor = '#DC8A78FF' -editor_background = '#EFF1F5FF' -error = '#D20F39FF' -floating_window_background = '#E6E9EFFF' -foreground = '#4C4F69FF' -foreground_emphasis = '#4C4F69FF' -foreground_secondary = '#6C6F85FF' -info = '#1E66F5FF' -menu_option_background = '#E6E9EFFF' -outline = '#CCD0DAFF' -popup_background = '#DCE0E8FF' -shadow = '#00000040' -sidebar_background = '#DCE0E8FF' -success = '#40A02BFF' -surface = '#DCE0E8FF' -surface_variant = '#E6E9EFFF' -syntax_error = '#D20F39FF' -syntax_function = '#1E66F5FF' -syntax_keyword = '#8839EFFF' -syntax_operator = '#04A5E5FF' -syntax_special_keyword = '#DF8E1DFF' -term_black = '#5C5F77FF' -term_black_bright = '#6C6F85FF' -term_blue = '#1E66F5FF' -term_blue_bright = '#1E66F5FF' -term_cyan = '#179299FF' -term_cyan_bright = '#179299FF' -term_green = '#40A02BFF' -term_green_bright = '#40A02BFF' -term_magenta = '#EA76CBFF' -term_magenta_bright = '#EA76CBFF' -term_red = '#D20F39FF' -term_red_bright = '#D20F39FF' -term_white = '#4C4F69FF' -term_white_bright = '#4C4F69FF' -term_yellow = '#DF8E1DFF' -term_yellow_bright = '#DF8E1DFF' -terminal_gray = '#9CA0B0FF' -text_command = '#40A02BFF' -text_comment = '#ACB0BEFF' -text_disabled = '#ACB0BEFF' -text_emphasis = '#4C4F69FF' -text_error = '#D20F39FF' -text_inactive = '#8C8FA1FF' -text_line_number = '#ACB0BEFF' -text_link = '#1E66F5FF' -text_main = '#4C4F69FF' -text_selected = '#CCD0DA38' -text_selection_inactive = '#DCE0E838' -text_string = '#40A02BFF' -text_success = '#40A02BFF' -text_warning = '#DF8E1DFF' -warning = '#FE640BFF' -warning_emphasis = '#DF8E1DFF' - -[general] -name = 'catppuccin-latte' \ No newline at end of file diff --git a/example_config/palettes/catppuccin-macciato.toml b/example_config/palettes/catppuccin-macciato.toml deleted file mode 100644 index 82742bf..0000000 --- a/example_config/palettes/catppuccin-macciato.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#A6DA95FF' -background = '#24273AFF' -border_emphasized = '#8AADF4FF' -border_focused = '#A6DA95FF' -border_window = '#494D64FF' -cursor = '#F4DBD6FF' -editor_background = '#24273AFF' -error = '#ED8796FF' -floating_window_background = '#363A4FFF' -foreground = '#CAD3F5FF' -foreground_emphasis = '#CAD3F5FF' -foreground_secondary = '#B8C0E0FF' -info = '#8AADF4FF' -menu_option_background = '#363A4FFF' -outline = '#494D64FF' -popup_background = '#1E2030FF' -shadow = '#00000080' -sidebar_background = '#1E2030FF' -success = '#A6DA95FF' -surface = '#1E2030FF' -surface_variant = '#363A4FFF' -syntax_error = '#ED8796FF' -syntax_function = '#8AADF4FF' -syntax_keyword = '#C6A0F6FF' -syntax_operator = '#91D7E3FF' -syntax_special_keyword = '#EED49FFF' -term_black = '#494D64FF' -term_black_bright = '#5B6078FF' -term_blue = '#8AADF4FF' -term_blue_bright = '#8AADF4FF' -term_cyan = '#8BD5CAFF' -term_cyan_bright = '#8BD5CAFF' -term_green = '#A6DA95FF' -term_green_bright = '#A6DA95FF' -term_magenta = '#F5BDE6FF' -term_magenta_bright = '#F5BDE6FF' -term_red = '#ED8796FF' -term_red_bright = '#ED8796FF' -term_white = '#B8C0E0FF' -term_white_bright = '#A5ADCBFF' -term_yellow = '#EED49FFF' -term_yellow_bright = '#EED49FFF' -terminal_gray = '#5B6078FF' -text_command = '#A6DA95FF' -text_comment = '#6E738DFF' -text_disabled = '#6E738DFF' -text_emphasis = '#CAD3F5FF' -text_error = '#ED8796FF' -text_inactive = '#8087A2FF' -text_line_number = '#6E738DFF' -text_link = '#8AADF4FF' -text_main = '#CAD3F5FF' -text_selected = '#5B607838' -text_selection_inactive = '#494D6438' -text_string = '#A6DA95FF' -text_success = '#A6DA95FF' -text_warning = '#EED49FFF' -warning = '#F5A97FFF' -warning_emphasis = '#EED49FFF' - -[general] -name = 'catppuccin-macchiato' \ No newline at end of file diff --git a/example_config/palettes/catppuccin-mocha.toml b/example_config/palettes/catppuccin-mocha.toml deleted file mode 100644 index 5a4e8c2..0000000 --- a/example_config/palettes/catppuccin-mocha.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#A6E3A1FF' -background = '#1E1E2EFF' -border_emphasized = '#89B4FAFF' -border_focused = '#A6E3A1FF' -border_window = '#45475AFF' -cursor = '#F5E0DCFF' -editor_background = '#1E1E2EFF' -error = '#F38BA8FF' -floating_window_background = '#313244FF' -foreground = '#CDD6F4FF' -foreground_emphasis = '#CDD6F4FF' -foreground_secondary = '#BAC2DEFF' -info = '#89B4FAFF' -menu_option_background = '#313244FF' -outline = '#45475AFF' -popup_background = '#181825FF' -shadow = '#00000080' -sidebar_background = '#181825FF' -success = '#A6E3A1FF' -surface = '#181825FF' -surface_variant = '#313244FF' -syntax_error = '#F38BA8FF' -syntax_function = '#89B4FAFF' -syntax_keyword = '#CBA6F7FF' -syntax_operator = '#89DCEBFF' -syntax_special_keyword = '#F9E2AFFF' -term_black = '#45475AFF' -term_black_bright = '#585B70FF' -term_blue = '#89B4FAFF' -term_blue_bright = '#89B4FAFF' -term_cyan = '#94E2D5FF' -term_cyan_bright = '#94E2D5FF' -term_green = '#A6E3A1FF' -term_green_bright = '#A6E3A1FF' -term_magenta = '#F5C2E7FF' -term_magenta_bright = '#F5C2E7FF' -term_red = '#F38BA8FF' -term_red_bright = '#F38BA8FF' -term_white = '#BAC2DEFF' -term_white_bright = '#A6ADC8FF' -term_yellow = '#F9E2AFFF' -term_yellow_bright = '#F9E2AFFF' -terminal_gray = '#585B70FF' -text_command = '#A6E3A1FF' -text_comment = '#6C7086FF' -text_disabled = '#6C7086FF' -text_emphasis = '#CDD6F4FF' -text_error = '#F38BA8FF' -text_inactive = '#7F849CFF' -text_line_number = '#6C7086FF' -text_link = '#89B4FAFF' -text_main = '#CDD6F4FF' -text_selected = '#585B7038' -text_selection_inactive = '#45475A38' -text_string = '#A6E3A1FF' -text_success = '#A6E3A1FF' -text_warning = '#F9E2AFFF' -warning = '#FAB387FF' -warning_emphasis = '#F9E2AFFF' - -[general] -name = 'catppuccin-mocha' \ No newline at end of file diff --git a/example_config/palettes/cursed-light.toml b/example_config/palettes/cursed-light.toml new file mode 100644 index 0000000..5b53e41 --- /dev/null +++ b/example_config/palettes/cursed-light.toml @@ -0,0 +1,67 @@ +[colors] +# General +background = "#f5f5f5FF" +on_background = "#3d3d2fFF" + +surface = "#e8e8e8FF" +on_surface = "#3d3d2fFF" + +surface_variant = "#d0d0c8FF" +on_surface_varuant = "#3d3d2fFF" + +border_focused = "#c9a305FF" +border = "#d0d0c8FF" + +foreground = "#3d3d2fFF" + +cursor = "#c9a305FF" +accent = "#b44242FF" + +# Terminal +base00 = "#f5f5f5FF" +base01 = "#b44242FF" +base02 = "#95a328FF" +base03 = "#c9a305FF" +base04 = "#60928fFF" +base05 = "#7c435aFF" +base06 = "#a48b4aFF" +base07 = "#3d3d2fFF" +base08 = "#c0c0b8FF" +base09 = "#dc7671FF" +base0A = "#d4d430FF" +base0B = "#9e9052FF" +base0C = "#76c39bFF" +base0D = "#86596cFF" +base0E = "#b89a1fFF" +base0F = "#4f4f48FF" + +# Semantic +success = "#95a328FF" +info = "#60928fFF" +warning = "#c9a305FF" +error = "#b44242FF" + +on_success = "#f5f5f5FF" +on_info = "#f5f5f5FF" +on_warning = "#f5f5f5FF" +on_error = "#f5f5f5FF" + +# Code editor +editor_background = "#f5f5f5FF" +editor_command = "#b89a1fFF" +editor_comment = "#a0a098FF" +editor_disabled = "#c0c0b8FF" +editor_emphasis = "#dc7671FF" +editor_error = "#b44242FF" +editor_inactive = "#a0a098FF" +editor_line_number = "#86596cFF" +editor_link = "#60928fFF" +editor_main = "#3d3d2fFF" +editor_selected = "#d0d0c8FF" +editor_selection_inactive = "#e0e0d8FF" +editor_string = "#5fa37bFF" +editor_success = "#95a328FF" +editor_warning = "#c9a305FF" + +[general] +name = 'cursed-light' \ No newline at end of file diff --git a/example_config/palettes/cursed.toml b/example_config/palettes/cursed.toml new file mode 100644 index 0000000..244f7e3 --- /dev/null +++ b/example_config/palettes/cursed.toml @@ -0,0 +1,54 @@ +[colors] +accent = '#B44242FF' +background = '#151515FF' +base00 = '#151515FF' +base01 = '#B44242FF' +base02 = '#95A328FF' +base03 = '#E1C135FF' +base04 = '#60928FFF' +base05 = '#7C435AFF' +base06 = '#A48B4AFF' +base07 = '#C2C2B0FF' +base08 = '#3F3639FF' +base09 = '#DC7671FF' +base0A = '#E8E85AFF' +base0B = '#9E9052FF' +base0C = '#76C39BFF' +base0D = '#86596CFF' +base0E = '#CEB34FFF' +base0F = '#B0AFA8FF' +border = '#3F3639FF' +border_focused = '#E1C135FF' +cursor = '#E1C135FF' +editor_background = '#151515FF' +editor_command = '#CEB34FFF' +editor_comment = '#3F3639FF' +editor_disabled = '#3F3639FF' +editor_emphasis = '#DC7671FF' +editor_error = '#B44242FF' +editor_inactive = '#3F3639FF' +editor_line_number = '#86596CFF' +editor_link = '#60928FFF' +editor_main = '#C2C2B0FF' +editor_selected = '#3F3639FF' +editor_selection_inactive = '#2A2A2AFF' +editor_string = '#76C39BFF' +editor_success = '#95A328FF' +editor_warning = '#E1C135FF' +error = '#B44242FF' +foreground = '#C2C2B0FF' +info = '#60928FFF' +on_background = '#C2C2B0FF' +on_error = '#151515FF' +on_info = '#151515FF' +on_success = '#151515FF' +on_surface = '#C2C2B0FF' +on_surface_varuant = '#C2C2B0FF' +on_warning = '#151515FF' +success = '#95A328FF' +surface = '#1C1C1CFF' +surface_variant = '#1C1C1CFF' +warning = '#E1C135FF' + +[general] +name = 'cursed' \ No newline at end of file diff --git a/example_config/palettes/dark.toml b/example_config/palettes/dark.toml deleted file mode 100644 index 3a88d64..0000000 --- a/example_config/palettes/dark.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#00AA56FF' -background = '#111318FF' -border_emphasized = '#5DB2FFFF' -border_focused = '#00AA56FF' -border_window = '#44474FFF' -cursor = '#FFFFFFFF' -editor_background = '#111318FF' -error = '#FF5F5FFF' -floating_window_background = '#282A2FFF' -foreground = '#E2E2E9FF' -foreground_emphasis = '#FFFFFFFF' -foreground_secondary = '#A8ABB3FF' -info = '#5DB2FFFF' -menu_option_background = '#282A2FFF' -outline = '#44474FFF' -popup_background = '#1E1F25FF' -shadow = '#00000080' -sidebar_background = '#1E1F25FF' -success = '#6AD68BFF' -surface = '#1E1F25FF' -surface_variant = '#282A2FFF' -syntax_error = '#FF5F5FFF' -syntax_function = '#86C9FFFF' -syntax_keyword = '#DEBCDFFF' -syntax_operator = '#A8ABB3FF' -syntax_special_keyword = '#FFC966FF' -term_black = '#111318FF' -term_black_bright = '#33353AFF' -term_blue = '#5DB2FFFF' -term_blue_bright = '#86C9FFFF' -term_cyan = '#86C9FFFF' -term_cyan_bright = '#BFEFFFFF' -term_green = '#00AA56FF' -term_green_bright = '#00CC6AFF' -term_magenta = '#DEBCDFFF' -term_magenta_bright = '#F0D6F0FF' -term_red = '#FF5F5FFF' -term_red_bright = '#FFB780FF' -term_white = '#E2E2E9FF' -term_white_bright = '#FFFFFFFF' -term_yellow = '#FFC966FF' -term_yellow_bright = '#FFD580FF' -terminal_gray = '#33353AFF' -text_command = '#00AA56FF' -text_comment = '#44474FFF' -text_disabled = '#44474FFF' -text_emphasis = '#FFFFFFFF' -text_error = '#FF5F5FFF' -text_inactive = '#A8ABB3FF' -text_line_number = '#44474FFF' -text_link = '#5DB2FFFF' -text_main = '#E2E2E9FF' -text_selected = '#FFFFFF1A' -text_selection_inactive = '#A8ABB338' -text_string = '#6AD68BFF' -text_success = '#6AD68BFF' -text_warning = '#FFC966FF' -warning = '#FFC966FF' -warning_emphasis = '#FFD580FF' - -[general] -name = 'dark' \ No newline at end of file diff --git a/example_config/palettes/everforest-dark-hard.toml b/example_config/palettes/everforest-dark-hard.toml deleted file mode 100644 index 0563317..0000000 --- a/example_config/palettes/everforest-dark-hard.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#A7C080FF' -background = '#272E33FF' -border_emphasized = '#7FBBB3FF' -border_focused = '#A7C080FF' -border_window = '#475258FF' -cursor = '#D3C6AAFF' -editor_background = '#272E33FF' -error = '#E67E80FF' -floating_window_background = '#3D484DFF' -foreground = '#D3C6AAFF' -foreground_emphasis = '#D3C6AAFF' -foreground_secondary = '#9DA9A0FF' -info = '#7FBBB3FF' -menu_option_background = '#3D484DFF' -outline = '#475258FF' -popup_background = '#2E383CFF' -shadow = '#00000080' -sidebar_background = '#2E383CFF' -success = '#A7C080FF' -surface = '#2E383CFF' -surface_variant = '#3D484DFF' -syntax_error = '#E67E80FF' -syntax_function = '#7FBBB3FF' -syntax_keyword = '#D699B6FF' -syntax_operator = '#83C092FF' -syntax_special_keyword = '#DBBC7FFF' -term_black = '#475258FF' -term_black_bright = '#4F585EFF' -term_blue = '#7FBBB3FF' -term_blue_bright = '#7FBBB3FF' -term_cyan = '#83C092FF' -term_cyan_bright = '#83C092FF' -term_green = '#A7C080FF' -term_green_bright = '#A7C080FF' -term_magenta = '#D699B6FF' -term_magenta_bright = '#D699B6FF' -term_red = '#E67E80FF' -term_red_bright = '#E67E80FF' -term_white = '#D3C6AAFF' -term_white_bright = '#D3C6AAFF' -term_yellow = '#DBBC7FFF' -term_yellow_bright = '#DBBC7FFF' -terminal_gray = '#4F585EFF' -text_command = '#A7C080FF' -text_comment = '#859289FF' -text_disabled = '#859289FF' -text_emphasis = '#D3C6AAFF' -text_error = '#E67E80FF' -text_inactive = '#7A8478FF' -text_line_number = '#859289FF' -text_link = '#7FBBB3FF' -text_main = '#D3C6AAFF' -text_selected = '#543A4838' -text_selection_inactive = '#51404538' -text_string = '#A7C080FF' -text_success = '#A7C080FF' -text_warning = '#DBBC7FFF' -warning = '#E69875FF' -warning_emphasis = '#DBBC7FFF' - -[general] -name = 'everforest-dark-hard' \ No newline at end of file diff --git a/example_config/palettes/everforest-dark.toml b/example_config/palettes/everforest-dark.toml deleted file mode 100644 index 8ab83f2..0000000 --- a/example_config/palettes/everforest-dark.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#A7C080FF' -background = '#2D353BFF' -border_emphasized = '#7FBBB3FF' -border_focused = '#A7C080FF' -border_window = '#475258FF' -cursor = '#D3C6AAFF' -editor_background = '#2D353BFF' -error = '#E67E80FF' -floating_window_background = '#3D484DFF' -foreground = '#D3C6AAFF' -foreground_emphasis = '#D3C6AAFF' -foreground_secondary = '#9DA9A0FF' -info = '#7FBBB3FF' -menu_option_background = '#3D484DFF' -outline = '#475258FF' -popup_background = '#343F44FF' -shadow = '#00000080' -sidebar_background = '#343F44FF' -success = '#A7C080FF' -surface = '#343F44FF' -surface_variant = '#3D484DFF' -syntax_error = '#E67E80FF' -syntax_function = '#7FBBB3FF' -syntax_keyword = '#D699B6FF' -syntax_operator = '#83C092FF' -syntax_special_keyword = '#DBBC7FFF' -term_black = '#475258FF' -term_black_bright = '#4F585EFF' -term_blue = '#7FBBB3FF' -term_blue_bright = '#7FBBB3FF' -term_cyan = '#83C092FF' -term_cyan_bright = '#83C092FF' -term_green = '#A7C080FF' -term_green_bright = '#A7C080FF' -term_magenta = '#D699B6FF' -term_magenta_bright = '#D699B6FF' -term_red = '#E67E80FF' -term_red_bright = '#E67E80FF' -term_white = '#D3C6AAFF' -term_white_bright = '#D3C6AAFF' -term_yellow = '#DBBC7FFF' -term_yellow_bright = '#DBBC7FFF' -terminal_gray = '#4F585EFF' -text_command = '#A7C080FF' -text_comment = '#859289FF' -text_disabled = '#859289FF' -text_emphasis = '#D3C6AAFF' -text_error = '#E67E80FF' -text_inactive = '#7A8478FF' -text_line_number = '#859289FF' -text_link = '#7FBBB3FF' -text_main = '#D3C6AAFF' -text_selected = '#543A4838' -text_selection_inactive = '#51404538' -text_string = '#A7C080FF' -text_success = '#A7C080FF' -text_warning = '#DBBC7FFF' -warning = '#E69875FF' -warning_emphasis = '#DBBC7FFF' - -[general] -name = 'everforest-dark' \ No newline at end of file diff --git a/example_config/palettes/everforest-light.toml b/example_config/palettes/everforest-light.toml deleted file mode 100644 index 0538b9b..0000000 --- a/example_config/palettes/everforest-light.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#8DA101FF' -background = '#FFF9E8FF' -border_emphasized = '#3A94C5FF' -border_focused = '#8DA101FF' -border_window = '#E6E2CCFF' -cursor = '#5C6A72FF' -editor_background = '#FFF9E8FF' -error = '#F85552FF' -floating_window_background = '#F4F0D9FF' -foreground = '#5C6A72FF' -foreground_emphasis = '#5C6A72FF' -foreground_secondary = '#939F91FF' -info = '#3A94C5FF' -menu_option_background = '#F4F0D9FF' -outline = '#E6E2CCFF' -popup_background = '#FDFCEEFF' -shadow = '#00000040' -sidebar_background = '#FDFCEEFF' -success = '#8DA101FF' -surface = '#FDFCEEFF' -surface_variant = '#F4F0D9FF' -syntax_error = '#F85552FF' -syntax_function = '#3A94C5FF' -syntax_keyword = '#DF69BAFF' -syntax_operator = '#35A77CFF' -syntax_special_keyword = '#DFA000FF' -term_black = '#E6E2CCFF' -term_black_bright = '#D8CAACFF' -term_blue = '#3A94C5FF' -term_blue_bright = '#3A94C5FF' -term_cyan = '#35A77CFF' -term_cyan_bright = '#35A77CFF' -term_green = '#8DA101FF' -term_green_bright = '#8DA101FF' -term_magenta = '#DF69BAFF' -term_magenta_bright = '#DF69BAFF' -term_red = '#F85552FF' -term_red_bright = '#F85552FF' -term_white = '#5C6A72FF' -term_white_bright = '#5C6A72FF' -term_yellow = '#DFA000FF' -term_yellow_bright = '#DFA000FF' -terminal_gray = '#D8CAACFF' -text_command = '#8DA101FF' -text_comment = '#A6B0A0FF' -text_disabled = '#A6B0A0FF' -text_emphasis = '#5C6A72FF' -text_error = '#F85552FF' -text_inactive = '#939F91FF' -text_line_number = '#A6B0A0FF' -text_link = '#3A94C5FF' -text_main = '#5C6A72FF' -text_selected = '#EAE4D938' -text_selection_inactive = '#F0EBDB38' -text_string = '#8DA101FF' -text_success = '#8DA101FF' -text_warning = '#DFA000FF' -warning = '#F57D26FF' -warning_emphasis = '#DFA000FF' - -[general] -name = 'everforest-light' \ No newline at end of file diff --git a/example_config/palettes/flexoki-light.toml b/example_config/palettes/flexoki-light.toml deleted file mode 100644 index bddafdb..0000000 --- a/example_config/palettes/flexoki-light.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#66800BFF' -background = '#FFFCF0FF' -border_emphasized = '#205EA6FF' -border_focused = '#66800BFF' -border_window = '#DAD8CEFF' -cursor = '#100F0FFF' -editor_background = '#FFFCF0FF' -error = '#AF3029FF' -floating_window_background = '#F2F0E5FF' -foreground = '#100F0FFF' -foreground_emphasis = '#100F0FFF' -foreground_secondary = '#403E3CFF' -info = '#205EA6FF' -menu_option_background = '#F2F0E5FF' -outline = '#DAD8CEFF' -popup_background = '#F2F0E5FF' -shadow = '#00000040' -sidebar_background = '#F2F0E5FF' -success = '#66800BFF' -surface = '#F2F0E5FF' -surface_variant = '#E6E4D9FF' -syntax_error = '#AF3029FF' -syntax_function = '#205EA6FF' -syntax_keyword = '#5E409DFF' -syntax_operator = '#24837BFF' -syntax_special_keyword = '#AD8301FF' -term_black = '#FFFCF0FF' -term_black_bright = '#6F6E69FF' -term_blue = '#205EA6FF' -term_blue_bright = '#205EA6FF' -term_cyan = '#24837BFF' -term_cyan_bright = '#24837BFF' -term_green = '#66800BFF' -term_green_bright = '#66800BFF' -term_magenta = '#A02F6FFF' -term_magenta_bright = '#A02F6FFF' -term_red = '#AF3029FF' -term_red_bright = '#AF3029FF' -term_white = '#100F0FFF' -term_white_bright = '#100F0FFF' -term_yellow = '#AD8301FF' -term_yellow_bright = '#AD8301FF' -terminal_gray = '#6F6E69FF' -text_command = '#66800BFF' -text_comment = '#878580FF' -text_disabled = '#B7B5ACFF' -text_emphasis = '#100F0FFF' -text_error = '#AF3029FF' -text_inactive = '#6F6E69FF' -text_line_number = '#878580FF' -text_link = '#205EA6FF' -text_main = '#100F0FFF' -text_selected = '#E6E4D938' -text_selection_inactive = '#F2F0E538' -text_string = '#66800BFF' -text_success = '#66800BFF' -text_warning = '#AD8301FF' -warning = '#BC5215FF' -warning_emphasis = '#AD8301FF' - -[general] -name = 'flexoki-light' \ No newline at end of file diff --git a/example_config/palettes/flexoki.toml b/example_config/palettes/flexoki.toml deleted file mode 100644 index 62aa412..0000000 --- a/example_config/palettes/flexoki.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#879A39FF' -background = '#100F0FFF' -border_emphasized = '#4385BEFF' -border_focused = '#879A39FF' -border_window = '#282726FF' -cursor = '#CECDC3FF' -editor_background = '#100F0FFF' -error = '#D14D41FF' -floating_window_background = '#1C1B1AFF' -foreground = '#CECDC3FF' -foreground_emphasis = '#E6E4D9FF' -foreground_secondary = '#B7B5ACFF' -info = '#4385BEFF' -menu_option_background = '#1C1B1AFF' -outline = '#282726FF' -popup_background = '#1C1B1AFF' -shadow = '#00000080' -sidebar_background = '#1C1B1AFF' -success = '#879A39FF' -surface = '#1C1B1AFF' -surface_variant = '#282726FF' -syntax_error = '#D14D41FF' -syntax_function = '#4385BEFF' -syntax_keyword = '#8B7EC8FF' -syntax_operator = '#3AA99FFF' -syntax_special_keyword = '#D0A215FF' -term_black = '#100F0FFF' -term_black_bright = '#6F6E69FF' -term_blue = '#4385BEFF' -term_blue_bright = '#4385BEFF' -term_cyan = '#3AA99FFF' -term_cyan_bright = '#3AA99FFF' -term_green = '#879A39FF' -term_green_bright = '#879A39FF' -term_magenta = '#CE5D97FF' -term_magenta_bright = '#CE5D97FF' -term_red = '#D14D41FF' -term_red_bright = '#D14D41FF' -term_white = '#CECDC3FF' -term_white_bright = '#E6E4D9FF' -term_yellow = '#D0A215FF' -term_yellow_bright = '#D0A215FF' -terminal_gray = '#6F6E69FF' -text_command = '#879A39FF' -text_comment = '#575653FF' -text_disabled = '#403E3CFF' -text_emphasis = '#E6E4D9FF' -text_error = '#D14D41FF' -text_inactive = '#6F6E69FF' -text_line_number = '#575653FF' -text_link = '#4385BEFF' -text_main = '#CECDC3FF' -text_selected = '#28272638' -text_selection_inactive = '#1C1B1A38' -text_string = '#879A39FF' -text_success = '#879A39FF' -text_warning = '#D0A215FF' -warning = '#DA702CFF' -warning_emphasis = '#D0A215FF' - -[general] -name = 'flexoki' \ No newline at end of file diff --git a/example_config/palettes/gruvbox-dark.toml b/example_config/palettes/gruvbox-dark.toml deleted file mode 100644 index 5879aa4..0000000 --- a/example_config/palettes/gruvbox-dark.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#B8BB26FF' -background = '#282828FF' -border_emphasized = '#83A598FF' -border_focused = '#B8BB26FF' -border_window = '#504945FF' -cursor = '#EBDBB2FF' -editor_background = '#282828FF' -error = '#FB4934FF' -floating_window_background = '#3C3836FF' -foreground = '#EBDBB2FF' -foreground_emphasis = '#FBF1C7FF' -foreground_secondary = '#D5C4A1FF' -info = '#83A598FF' -menu_option_background = '#3C3836FF' -outline = '#504945FF' -popup_background = '#32302FFF' -shadow = '#00000080' -sidebar_background = '#32302FFF' -success = '#B8BB26FF' -surface = '#32302FFF' -surface_variant = '#3C3836FF' -syntax_error = '#FB4934FF' -syntax_function = '#83A598FF' -syntax_keyword = '#D3869BFF' -syntax_operator = '#8EC07CFF' -syntax_special_keyword = '#FABD2FFF' -term_black = '#282828FF' -term_black_bright = '#928374FF' -term_blue = '#458588FF' -term_blue_bright = '#83A598FF' -term_cyan = '#689D6AFF' -term_cyan_bright = '#8EC07CFF' -term_green = '#98971AFF' -term_green_bright = '#B8BB26FF' -term_magenta = '#B16286FF' -term_magenta_bright = '#D3869BFF' -term_red = '#CC241DFF' -term_red_bright = '#FB4934FF' -term_white = '#A89984FF' -term_white_bright = '#EBDBB2FF' -term_yellow = '#D79921FF' -term_yellow_bright = '#FABD2FFF' -terminal_gray = '#928374FF' -text_command = '#B8BB26FF' -text_comment = '#928374FF' -text_disabled = '#665C54FF' -text_emphasis = '#FBF1C7FF' -text_error = '#FB4934FF' -text_inactive = '#7C6F64FF' -text_line_number = '#7C6F64FF' -text_link = '#83A598FF' -text_main = '#EBDBB2FF' -text_selected = '#665C5438' -text_selection_inactive = '#50494538' -text_string = '#B8BB26FF' -text_success = '#B8BB26FF' -text_warning = '#FABD2FFF' -warning = '#FE8019FF' -warning_emphasis = '#FABD2FFF' - -[general] -name = 'gruvbox-dark' \ No newline at end of file diff --git a/example_config/palettes/gruvbox-hard.toml b/example_config/palettes/gruvbox-hard.toml deleted file mode 100644 index 1d439a4..0000000 --- a/example_config/palettes/gruvbox-hard.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#B8BB26FF' -background = '#1D2021FF' -border_emphasized = '#83A598FF' -border_focused = '#B8BB26FF' -border_window = '#504945FF' -cursor = '#EBDBB2FF' -editor_background = '#1D2021FF' -error = '#FB4934FF' -floating_window_background = '#3C3836FF' -foreground = '#EBDBB2FF' -foreground_emphasis = '#FBF1C7FF' -foreground_secondary = '#D5C4A1FF' -info = '#83A598FF' -menu_option_background = '#3C3836FF' -outline = '#504945FF' -popup_background = '#282828FF' -shadow = '#00000080' -sidebar_background = '#282828FF' -success = '#B8BB26FF' -surface = '#282828FF' -surface_variant = '#3C3836FF' -syntax_error = '#FB4934FF' -syntax_function = '#83A598FF' -syntax_keyword = '#D3869BFF' -syntax_operator = '#8EC07CFF' -syntax_special_keyword = '#FABD2FFF' -term_black = '#1D2021FF' -term_black_bright = '#928374FF' -term_blue = '#458588FF' -term_blue_bright = '#83A598FF' -term_cyan = '#689D6AFF' -term_cyan_bright = '#8EC07CFF' -term_green = '#98971AFF' -term_green_bright = '#B8BB26FF' -term_magenta = '#B16286FF' -term_magenta_bright = '#D3869BFF' -term_red = '#CC241DFF' -term_red_bright = '#FB4934FF' -term_white = '#A89984FF' -term_white_bright = '#EBDBB2FF' -term_yellow = '#D79921FF' -term_yellow_bright = '#FABD2FFF' -terminal_gray = '#928374FF' -text_command = '#B8BB26FF' -text_comment = '#928374FF' -text_disabled = '#665C54FF' -text_emphasis = '#FBF1C7FF' -text_error = '#FB4934FF' -text_inactive = '#7C6F64FF' -text_line_number = '#7C6F64FF' -text_link = '#83A598FF' -text_main = '#EBDBB2FF' -text_selected = '#665C5438' -text_selection_inactive = '#50494538' -text_string = '#B8BB26FF' -text_success = '#B8BB26FF' -text_warning = '#FABD2FFF' -warning = '#FE8019FF' -warning_emphasis = '#FABD2FFF' - -[general] -name = 'gruvbox-dark-hard' \ No newline at end of file diff --git a/example_config/palettes/gruvbox-light.toml b/example_config/palettes/gruvbox-light.toml deleted file mode 100644 index a40ae0a..0000000 --- a/example_config/palettes/gruvbox-light.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#79740EFF' -background = '#F9F5D7FF' -border_emphasized = '#076678FF' -border_focused = '#79740EFF' -border_window = '#D5C4A1FF' -cursor = '#282828FF' -editor_background = '#F9F5D7FF' -error = '#9D0006FF' -floating_window_background = '#F2E5BCFF' -foreground = '#3C3836FF' -foreground_emphasis = '#282828FF' -foreground_secondary = '#504945FF' -info = '#076678FF' -menu_option_background = '#F2E5BCFF' -outline = '#D5C4A1FF' -popup_background = '#FBF1C7FF' -shadow = '#00000040' -sidebar_background = '#FBF1C7FF' -success = '#79740EFF' -surface = '#FBF1C7FF' -surface_variant = '#F2E5BCFF' -syntax_error = '#9D0006FF' -syntax_function = '#076678FF' -syntax_keyword = '#8F3F71FF' -syntax_operator = '#427B58FF' -syntax_special_keyword = '#B57614FF' -term_black = '#F9F5D7FF' -term_black_bright = '#928374FF' -term_blue = '#076678FF' -term_blue_bright = '#458588FF' -term_cyan = '#427B58FF' -term_cyan_bright = '#689D6AFF' -term_green = '#79740EFF' -term_green_bright = '#98971AFF' -term_magenta = '#8F3F71FF' -term_magenta_bright = '#B16286FF' -term_red = '#9D0006FF' -term_red_bright = '#CC241DFF' -term_white = '#7C6F64FF' -term_white_bright = '#3C3836FF' -term_yellow = '#B57614FF' -term_yellow_bright = '#D79921FF' -terminal_gray = '#928374FF' -text_command = '#79740EFF' -text_comment = '#928374FF' -text_disabled = '#D5C4A1FF' -text_emphasis = '#282828FF' -text_error = '#9D0006FF' -text_inactive = '#A89984FF' -text_line_number = '#A89984FF' -text_link = '#076678FF' -text_main = '#3C3836FF' -text_selected = '#D5C4A138' -text_selection_inactive = '#EBDBB238' -text_string = '#79740EFF' -text_success = '#79740EFF' -text_warning = '#B57614FF' -warning = '#AF3A03FF' -warning_emphasis = '#B57614FF' - -[general] -name = 'gruvbox-light-hard' \ No newline at end of file diff --git a/example_config/palettes/light.toml b/example_config/palettes/light.toml deleted file mode 100644 index 6705871..0000000 --- a/example_config/palettes/light.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#007A35FF' -background = '#FFFFFFFF' -border_emphasized = '#3399FFFF' -border_focused = '#007A35FF' -border_window = '#CCCCCCFF' -cursor = '#111318FF' -editor_background = '#FFFFFFFF' -error = '#D00000FF' -floating_window_background = '#E8E8E8FF' -foreground = '#1E1F25FF' -foreground_emphasis = '#111318FF' -foreground_secondary = '#44474FFF' -info = '#3399FFFF' -menu_option_background = '#E8E8E8FF' -outline = '#CCCCCCFF' -popup_background = '#F5F5F5FF' -shadow = '#000000FF' -sidebar_background = '#F5F5F5FF' -success = '#008833FF' -surface = '#F5F5F5FF' -surface_variant = '#E8E8E8FF' -syntax_error = '#D00000FF' -syntax_function = '#0066CCFF' -syntax_keyword = '#9933CCFF' -syntax_operator = '#44474FFF' -syntax_special_keyword = '#FF9900FF' -term_black = '#111318FF' -term_black_bright = '#888888FF' -term_blue = '#3399FFFF' -term_blue_bright = '#66B2FFFF' -term_cyan = '#0066CCFF' -term_cyan_bright = '#99DDFFFF' -term_green = '#007A35FF' -term_green_bright = '#33CC66FF' -term_magenta = '#9933CCFF' -term_magenta_bright = '#CC99CCFF' -term_red = '#D00000FF' -term_red_bright = '#FF6666FF' -term_white = '#FFFFFFFF' -term_white_bright = '#FFFFFFFF' -term_yellow = '#FF9900FF' -term_yellow_bright = '#FFCC80FF' -terminal_gray = '#CCCCCCFF' -text_command = '#007A35FF' -text_comment = '#888888FF' -text_disabled = '#CCCCCCFF' -text_emphasis = '#111318FF' -text_error = '#D00000FF' -text_inactive = '#44474FFF' -text_line_number = '#888888FF' -text_link = '#3399FFFF' -text_main = '#1E1F25FF' -text_selected = '#D6D6D6FF' -text_selection_inactive = '#888888FF' -text_string = '#008833FF' -text_success = '#008833FF' -text_warning = '#FF9900FF' -warning = '#FF9900FF' -warning_emphasis = '#FFCC80FF' - -[general] -name = 'light' \ No newline at end of file diff --git a/example_config/palettes/rose-pine-dawn.toml b/example_config/palettes/rose-pine-dawn.toml deleted file mode 100644 index 407671b..0000000 --- a/example_config/palettes/rose-pine-dawn.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#286983FF' -background = '#FAF4EDFF' -border_emphasized = '#907AA9FF' -border_focused = '#286983FF' -border_window = '#CECACDFF' -cursor = '#575279FF' -editor_background = '#FAF4EDFF' -error = '#B4637AFF' -floating_window_background = '#F2E9E1FF' -foreground = '#575279FF' -foreground_emphasis = '#111318FF' -foreground_secondary = '#797593FF' -info = '#907AA9FF' -menu_option_background = '#F2E9E1FF' -outline = '#9893A5FF' -popup_background = '#FFFAF3FF' -shadow = '#00000020' -sidebar_background = '#FFFAF3FF' -success = '#286983FF' -surface = '#FFFAF3FF' -surface_variant = '#F2E9E1FF' -syntax_error = '#B4637AFF' -syntax_function = '#907AA9FF' -syntax_keyword = '#D7827EFF' -syntax_operator = '#797593FF' -syntax_special_keyword = '#EA9D34FF' -term_black = '#FAF4EDFF' -term_black_bright = '#DFDAD9FF' -term_blue = '#907AA9FF' -term_blue_bright = '#66B2FFFF' -term_cyan = '#56949FFF' -term_cyan_bright = '#99DDFFFF' -term_green = '#286983FF' -term_green_bright = '#33CC66FF' -term_magenta = '#D7827EFF' -term_magenta_bright = '#CC99CCFF' -term_red = '#B4637AFF' -term_red_bright = '#FF6666FF' -term_white = '#575279FF' -term_white_bright = '#111318FF' -term_yellow = '#EA9D34FF' -term_yellow_bright = '#FFCC80FF' -terminal_gray = '#CCCCCCFF' -text_command = '#286983FF' -text_comment = '#9893A5FF' -text_disabled = '#9893A5FF' -text_emphasis = '#111318FF' -text_error = '#B4637AFF' -text_inactive = '#797593FF' -text_line_number = '#9893A5FF' -text_link = '#907AA9FF' -text_main = '#575279FF' -text_selected = '#DFDAD979' -text_selection_inactive = '#79759338' -text_string = '#286983FF' -text_success = '#286983FF' -text_warning = '#EA9D34FF' -warning = '#EA9D34FF' -warning_emphasis = '#FFD580FF' - -[general] -name = 'rose-pine-dawn' \ No newline at end of file diff --git a/example_config/palettes/rose-pine-moon.toml b/example_config/palettes/rose-pine-moon.toml deleted file mode 100644 index ce78b54..0000000 --- a/example_config/palettes/rose-pine-moon.toml +++ /dev/null @@ -1,63 +0,0 @@ -[general] -name = "rose-pine-moon" - -[colors] -accent = "#3e8fb0FF" -background = "#232136FF" -border_emphasized = "#c4a7e7FF" -border_focused = "#3e8fb0FF" -border_window = "#56526eFF" -cursor = "#e0def4FF" -editor_background = "#232136FF" -error = "#eb6f92FF" -floating_window_background = "#393552FF" -foreground = "#e0def4FF" -foreground_emphasis = "#ffffffFF" -foreground_secondary = "#908caaFF" -info = "#c4a7e7FF" -menu_option_background = "#393552FF" -outline = "#6e6a86FF" -popup_background = "#2a273fff" -shadow = "#00000080" -sidebar_background = "#2a273fff" -success = "#3e8fb0FF" -surface = "#2a273fff" -surface_variant = "#393552FF" -syntax_error = "#eb6f92FF" -syntax_function = "#c4a7e7FF" -syntax_keyword = "#ea9a97FF" -syntax_operator = "#908caaFF" -syntax_special_keyword = "#f6c177FF" -term_black = "#232136FF" -term_black_bright = "#44415aFF" -term_blue = "#c4a7e7FF" -term_blue_bright = "#66b2ffff" -term_cyan = "#9ccfd8FF" -term_cyan_bright = "#bfefffff" -term_green = "#3e8fb0FF" -term_green_bright = "#00cc6aff" -term_magenta = "#ea9a97FF" -term_magenta_bright = "#f0d6f0FF" -term_red = "#eb6f92FF" -term_red_bright = "#ffb780FF" -term_white = "#e0def4FF" -term_white_bright = "#ffffffFF" -term_yellow = "#f6c177FF" -term_yellow_bright = "#ffd580FF" -terminal_gray = "#33353AFF" -text_command = "#3e8fb0FF" -text_comment = "#6e6a86FF" -text_disabled = "#6e6a86FF" -text_emphasis = "#ffffffFF" -text_error = "#eb6f92FF" -text_inactive = "#908caaFF" -text_line_number = "#6e6a86FF" -text_link = "#c4a7e7FF" -text_main = "#e0def4FF" -text_selected = "#56526e1A" -text_selection_inactive = "#908caa38" -text_string = "#3e8fb0FF" -text_success = "#3e8fb0FF" -text_warning = "#f6c177FF" -warning = "#f6c177FF" -warning_emphasis = "#ffd580FF" diff --git a/example_config/palettes/rose-pine.toml b/example_config/palettes/rose-pine.toml deleted file mode 100644 index 57c5428..0000000 --- a/example_config/palettes/rose-pine.toml +++ /dev/null @@ -1,63 +0,0 @@ -[colors] -accent = '#31748FFF' -background = '#191724FF' -border_emphasized = '#C4A7E7FF' -border_focused = '#31748FFF' -border_window = '#524F67FF' -cursor = '#E0DEF4FF' -editor_background = '#191724FF' -error = '#EB6F92FF' -floating_window_background = '#26233AFF' -foreground = '#E0DEF4FF' -foreground_emphasis = '#FFFFFFFF' -foreground_secondary = '#908CAAFF' -info = '#C4A7E7FF' -menu_option_background = '#26233AFF' -outline = '#6E6A86FF' -popup_background = '#1F1D2EFF' -shadow = '#00000080' -sidebar_background = '#1F1D2EFF' -success = '#31748FFF' -surface = '#1F1D2EFF' -surface_variant = '#26233AFF' -syntax_error = '#EB6F92FF' -syntax_function = '#C4A7E7FF' -syntax_keyword = '#EBBCBAFF' -syntax_operator = '#908CAAFF' -syntax_special_keyword = '#F6C177FF' -term_black = '#191724FF' -term_black_bright = '#403D52FF' -term_blue = '#C4A7E7FF' -term_blue_bright = '#C4A7E7FF' -term_cyan = '#9CCFD8FF' -term_cyan_bright = '#9CCFD8FF' -term_green = '#31748FFF' -term_green_bright = '#31748FFF' -term_magenta = '#EBBCBAFF' -term_magenta_bright = '#F0D6F0FF' -term_red = '#EB6F92FF' -term_red_bright = '#EB6F92FF' -term_white = '#E0DEF4FF' -term_white_bright = '#FFFFFFFF' -term_yellow = '#F6C177FF' -term_yellow_bright = '#F6C177FF' -terminal_gray = '#33353AFF' -text_command = '#31748FFF' -text_comment = '#6E6A86FF' -text_disabled = '#6E6A86FF' -text_emphasis = '#FFFFFFFF' -text_error = '#EB6F92FF' -text_inactive = '#908CAAFF' -text_line_number = '#6E6A86FF' -text_link = '#C4A7E7FF' -text_main = '#E0DEF4FF' -text_selected = '#524F671A' -text_selection_inactive = '#908CAA38' -text_string = '#31748FFF' -text_success = '#31748FFF' -text_warning = '#F6C177FF' -warning = '#F6C177FF' -warning_emphasis = '#F6C177FF' - -[general] -name = 'rose-pine' \ No newline at end of file diff --git a/example_config/templates/formats-demo b/example_config/templates/formats-demo index d2f53a9..0fb3650 100644 --- a/example_config/templates/formats-demo +++ b/example_config/templates/formats-demo @@ -1,36 +1,36 @@ # BASE COLORS (raw) -color1.raw {term_red} +color1.raw {base01} # HEX -color1.hex {term_red.hex} -color1.hex.stripped {term_red.hex_stripped} +color1.hex {base01.hex} +color1.hex.stripped {base01.hex_stripped} -color1.hexa {term_red.hexa} -color1.hexa.stripped {term_red.hexa_stripped} +color1.hexa {base01.hexa} +color1.hexa.stripped {base01.hexa_stripped} # RGB (0–255) -color1.rgb {term_red.rgb} -color1.r {term_red.r} -color1.g {term_red.g} -color1.b {term_red.b} +color1.rgb {base01.rgb} +color1.r {base01.r} +color1.g {base01.g} +color1.b {base01.b} # RGBA (A = 0–1 normalized) -color1.rgba {term_red.rgba} -color1.a {term_red.a} +color1.rgba {base01.rgba} +color1.a {base01.a} # HSL (normalized 0–1 for s,l, integers for h) -color1.hsl {term_red.hsl} -color1.h {term_red.h} -color1.s {term_red.s} -color1.l {term_red.l} +color1.hsl {base01.hsl} +color1.h {base01.h} +color1.s {base01.s} +color1.l {base01.l} # HSLA -color1.hsla {term_red.hsla} -color1.hsla_a {term_red.hsla_a} +color1.hsla {base01.hsla} +color1.hsla_a {base01.hsla_a} # Combined custom formats -color1.r-g-b {term_red.r}-{term_red.g}-{term_red.b} -color1.r-g-b-a {term_red.r}-{term_red.g}-{term_red.b}-{term_red.a} +color1.r-g-b {base01.r}-{base01.g}-{base01.b} +color1.r-g-b-a {base01.r}-{base01.g}-{base01.b}-{base01.a} -color1.h-s-l {term_red.h}-{term_red.s}-{term_red.l} -color1.h-s-l-a {term_red.h}-{term_red.s}-{term_red.l}-{term_red.hsla_a} \ No newline at end of file +color1.h-s-l {base01.h}-{base01.s}-{base01.l} +color1.h-s-l-a {base01.h}-{base01.s}-{base01.l}-{base01.hsla_a} \ No newline at end of file diff --git a/example_config/templates/kitty.conf b/example_config/templates/kitty.conf index 50df36e..6954196 100644 --- a/example_config/templates/kitty.conf +++ b/example_config/templates/kitty.conf @@ -1,32 +1,40 @@ -cursor {foreground} +cursor {cursor} cursor_text_color {background} foreground {foreground} background {background} -selection_foreground {foreground_secondary} +selection_foreground {on_surface} selection_background {surface} url_color {accent} -color8 {surface_variant} -color0 {background} +# Base colors (dark variants) +color0 {base00} +color8 {base08} -color1 {term_red} -color9 {term_red_bright} +# Red +color1 {base01} +color9 {base09} -color2 {term_green} -color10 {term_green_bright} +# Green +color2 {base02} +color10 {base0A} -color3 {term_yellow} -color11 {term_yellow_bright} +# Yellow +color3 {base03} +color11 {base0B} -color4 {term_blue} -color12 {term_blue_bright} +# Blue +color4 {base04} +color12 {base0C} -color5 {term_magenta} -color13 {term_magenta_bright} +# Magenta +color5 {base05} +color13 {base0D} -color6 {term_cyan} -color14 {term_cyan_bright} +# Cyan +color6 {base06} +color14 {base0E} -color15 {term_white_bright} -color7 {term_white} \ No newline at end of file +# White +color7 {base07} +color15 {base0F} \ No newline at end of file diff --git a/example_config/templates/nvim.lua b/example_config/templates/nvim.lua index 0f6b9c6..18fc91c 100644 --- a/example_config/templates/nvim.lua +++ b/example_config/templates/nvim.lua @@ -3,33 +3,39 @@ vim.cmd("syntax reset") vim.g.colors_name = "clrsync" local palette = { - -- TextEditor - Default = "{text_main.hex}", - Keyword = "{syntax_keyword.hex}", - Number = "{text_warning.hex}", - String = "{text_string.hex}", - CharLiteral = "{text_string.hex}", - Punctuation = "{text_main.hex}", - Preprocessor = "{syntax_special_keyword.hex}", - Identifier = "{text_main.hex}", - KnownIdentifier = "{text_link.hex}", - PreprocIdentifier = "{text_link.hex}", + -- Editor colors + Default = "{editor_main.hex}", + Keyword = "{editor_command.hex}", + Number = "{editor_warning.hex}", + String = "{editor_string.hex}", + CharLiteral = "{editor_string.hex}", + Punctuation = "{editor_main.hex}", + Preprocessor = "{editor_emphasis.hex}", + Identifier = "{editor_main.hex}", + KnownIdentifier = "{editor_link.hex}", + PreprocIdentifier = "{editor_link.hex}", - Comment = "{text_comment.hex}", - MultiLineComment = "{text_comment.hex}", + Comment = "{editor_comment.hex}", + MultiLineComment = "{editor_comment.hex}", Background = "{editor_background.hex}", Cursor = "{cursor.hex}", - Selection = "{text_selected.hex}", - ErrorMarker = "{syntax_error.hex}", - Breakpoint = "{syntax_error.hex}", + Selection = "{editor_selected.hex}", + ErrorMarker = "{editor_error.hex}", + Breakpoint = "{editor_error.hex}", - LineNumber = "{text_line_number.hex}", + LineNumber = "{editor_line_number.hex}", CurrentLineFill = "{surface_variant.hex}", CurrentLineFillInactive = "{surface.hex}", - CurrentLineEdge = "{border_emphasized.hex}", + CurrentLineEdge = "{border_focused.hex}", + + -- Semantic colors + Success = "{success.hex}", + Warning = "{warning.hex}", + Error = "{error.hex}", + Info = "{info.hex}", } -- Helper function to set highlights in Neovim @@ -59,7 +65,7 @@ set_hl("Type", { fg = palette.Keyword }) set_hl("Special", { fg = palette.PreprocIdentifier }) set_hl("Underlined", { fg = palette.KnownIdentifier }) set_hl("Error", { fg = palette.ErrorMarker, bg = palette.Background }) -set_hl("Todo", { fg = palette.Text, bg = palette.Keyword }) +set_hl("Todo", { fg = palette.Default, bg = palette.Keyword }) -- Floating windows set_hl("NormalFloat", { bg = palette.Background }) @@ -70,12 +76,12 @@ set_hl("Pmenu", { bg = palette.Background }) set_hl("PmenuSel", { bg = palette.Keyword, fg = palette.Background }) -- Git and diagnostic highlights -set_hl("DiffAdd", { fg = palette.Success or palette.Default, bg = palette.Background }) +set_hl("DiffAdd", { fg = palette.Success, bg = palette.Background }) set_hl("DiffChange", { fg = palette.Keyword, bg = palette.Background }) set_hl("DiffDelete", { fg = palette.ErrorMarker, bg = palette.Background }) -set_hl("DiagnosticError", { fg = palette.ErrorMarker }) -set_hl("DiagnosticWarn", { fg = palette.Number }) -set_hl("DiagnosticInfo", { fg = palette.Keyword }) +set_hl("DiagnosticError", { fg = palette.Error }) +set_hl("DiagnosticWarn", { fg = palette.Warning }) +set_hl("DiagnosticInfo", { fg = palette.Info }) set_hl("DiagnosticHint", { fg = palette.PreprocIdentifier }) -- Treesitter links @@ -84,4 +90,4 @@ set_hl("@string", { fg = palette.String }) set_hl("@function", { fg = palette.Keyword }) set_hl("@variable", { fg = palette.Identifier }) set_hl("@keyword", { fg = palette.Keyword }) -set_hl("@type", { fg = palette.Preprocessor }) +set_hl("@type", { fg = palette.Preprocessor }) \ No newline at end of file diff --git a/src/core/palette/color_keys.hpp b/src/core/palette/color_keys.hpp index 04845ba..5a618b8 100644 --- a/src/core/palette/color_keys.hpp +++ b/src/core/palette/color_keys.hpp @@ -5,50 +5,71 @@ namespace clrsync::core { -constexpr const char *COLOR_KEYS[] = { - // UI / Surfaces - "background", // main window / editor background - "surface", // panels, cards - "surface_variant", // alternate rows, subtle panels - "foreground", // main text - "foreground_secondary", // secondary text / hints - "accent", // buttons, highlights, selection - "outline", // borders, outlines - "shadow", // drop shadows / depth - "cursor", // caret / text cursor +constexpr const char* COLOR_KEYS[] = { + // General UI + "background", + "on_background", - // Editor-specific surfaces - "editor_background", "sidebar_background", "popup_background", "floating_window_background", - "menu_option_background", + "surface", + "on_surface", - // Editor text roles - "text_main", "text_emphasis", "text_command", "text_inactive", "text_disabled", - "text_line_number", "text_selected", "text_selection_inactive", + "surface_variant", + "on_surface_varuant", - // Editor / Window borders - "border_window", "border_focused", "border_emphasized", + "border_focused", + "border", - // Syntax highlighting - "syntax_function", "syntax_error", "syntax_keyword", "syntax_special_keyword", - "syntax_operator", + "foreground", - // Semantic text colors - "text_error", "text_warning", "text_link", "text_comment", "text_string", "text_success", - "warning_emphasis", "foreground_emphasis", + "cursor", + "accent", - // Extra - "terminal_gray", + // Semantic + "success", + "info", + "warning", + "error", - // Semantic / Status - "error", "warning", "success", "info", + "on_success", + "on_info", + "on_warning", + "on_error", - // Terminal colors (normal) - "term_black", "term_red", "term_green", "term_yellow", "term_blue", "term_magenta", "term_cyan", - "term_white", + // Editor + "editor_background", + "editor_command", + "editor_comment", + "editor_disabled", + "editor_emphasis", + "editor_error", + "editor_inactive", + "editor_line_number", + "editor_link", + "editor_main", + "editor_selected", + "editor_selection_inactive", + "editor_string", + "editor_success", + "editor_warning", - // Terminal colors (bright) - "term_black_bright", "term_red_bright", "term_green_bright", "term_yellow_bright", - "term_blue_bright", "term_magenta_bright", "term_cyan_bright", "term_white_bright"}; + // Terminal + "base00", + "base01", + "base02", + "base03", + "base04", + "base05", + "base06", + "base07", + "base08", + "base09", + "base0A", + "base0B", + "base0C", + "base0D", + "base0E", + "base0F", +}; constexpr size_t NUM_COLOR_KEYS = std::size(COLOR_KEYS); } // namespace clrsync::core diff --git a/src/gui/color_scheme_editor.cpp b/src/gui/color_scheme_editor.cpp index 3848804..b1f4442 100644 --- a/src/gui/color_scheme_editor.cpp +++ b/src/gui/color_scheme_editor.cpp @@ -2,6 +2,7 @@ #include "template_editor.hpp" #include "color_text_edit/TextEditor.h" #include "imgui.h" +#include #include color_scheme_editor::color_scheme_editor() @@ -71,8 +72,20 @@ int main() })"); m_editor.SetShowWhitespaces(false); - apply_palette_to_imgui(); - apply_palette_to_editor(); + + const auto &palettes = m_controller.palettes(); + + const auto ¤t = m_controller.current_palette(); + + if (!current.colors().empty()) + { + apply_palette_to_imgui(); + apply_palette_to_editor(); + } + else + { + std::cout << "WARNING: No palette loaded, skipping theme application\n"; + } } void color_scheme_editor::notify_palette_changed() @@ -290,34 +303,25 @@ void color_scheme_editor::render_color_table() ImGui::Spacing(); }; - draw_table("UI / Surfaces", {"background", "surface", "surface_variant", "foreground", - "foreground_secondary", "accent", "outline", "shadow", "cursor"}); + draw_table("General UI", {"background", "on_background", "surface", "on_surface", + "surface_variant", "on_surface_varuant", "foreground", + "cursor", "accent"}); - draw_table("Editor Surfaces", {"editor_background", "sidebar_background", "popup_background", - "floating_window_background", "menu_option_background"}); + draw_table("Borders", {"border_focused", "border"}); - draw_table("Editor Text", - {"text_main", "text_emphasis", "text_command", "text_inactive", "text_disabled", - "text_line_number", "text_selected", "text_selection_inactive"}); + draw_table("Semantic Colors", {"success", "info", "warning", "error", + "on_success", "on_info", "on_warning", "on_error"}); - draw_table("Window Borders", {"border_window", "border_focused", "border_emphasized"}); + draw_table("Editor", {"editor_background", "editor_command", "editor_comment", + "editor_disabled", "editor_emphasis", "editor_error", + "editor_inactive", "editor_line_number", "editor_link", + "editor_main", "editor_selected", "editor_selection_inactive", + "editor_string", "editor_success", "editor_warning"}); - draw_table("Syntax Highlighting", {"syntax_function", "syntax_error", "syntax_keyword", - "syntax_special_keyword", "syntax_operator"}); - - draw_table("Semantic Text", - {"text_error", "text_warning", "text_link", "text_comment", "text_string", - "text_success", "warning_emphasis", "foreground_emphasis"}); - - draw_table("Extra", {"terminal_gray"}); - - draw_table("Status Colors", {"error", "warning", "success", "info"}); - - draw_table("Terminal Colors", - {"term_black", "term_red", "term_green", "term_yellow", "term_blue", "term_magenta", - "term_cyan", "term_white", "term_black_bright", "term_red_bright", - "term_green_bright", "term_yellow_bright", "term_blue_bright", - "term_magenta_bright", "term_cyan_bright", "term_white_bright"}); + draw_table("Terminal (Base16)", {"base00", "base01", "base02", "base03", + "base04", "base05", "base06", "base07", + "base08", "base09", "base0A", "base0B", + "base0C", "base0D", "base0E", "base0F"}); } void color_scheme_editor::render_preview_content() @@ -339,7 +343,7 @@ void color_scheme_editor::render_preview_content() const ImVec4 editor_bg = get_color("editor_background"); const ImVec4 fg = get_color("foreground"); const ImVec4 accent = get_color("accent"); - const ImVec4 outline = get_color("outline"); + const ImVec4 border = get_color("border"); const ImVec4 error = get_color("error"); const ImVec4 warning = get_color("warning"); const ImVec4 success = get_color("success"); @@ -357,7 +361,7 @@ void color_scheme_editor::render_preview_content() ImGui::PushStyleColor(ImGuiCol_ChildBg, editor_bg); ImGui::BeginChild("TerminalPreview", ImVec2(0, 0), true); - ImGui::PushStyleColor(ImGuiCol_Border, outline); + ImGui::PushStyleColor(ImGuiCol_Border, border); struct term_line { @@ -386,8 +390,13 @@ void color_scheme_editor::apply_palette_to_editor() { const auto ¤t = m_controller.current_palette(); - auto get_color_u32 = [&](const std::string &key) -> uint32_t { + auto get_color_u32 = [&](const std::string &key, const std::string &fallback = "") -> uint32_t { auto it = current.colors().find(key); + if (it == current.colors().end() && !fallback.empty()) + { + it = current.colors().find(fallback); + } + if (it != current.colors().end()) { const auto &col = it->second; @@ -404,32 +413,32 @@ void color_scheme_editor::apply_palette_to_editor() auto palette = m_editor.GetPalette(); - palette[int(TextEditor::PaletteIndex::Default)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::Keyword)] = get_color_u32("syntax_keyword"); - palette[int(TextEditor::PaletteIndex::Number)] = get_color_u32("text_warning"); - palette[int(TextEditor::PaletteIndex::String)] = get_color_u32("text_string"); - palette[int(TextEditor::PaletteIndex::CharLiteral)] = get_color_u32("text_string"); - palette[int(TextEditor::PaletteIndex::Punctuation)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::Preprocessor)] = get_color_u32("syntax_special_keyword"); - palette[int(TextEditor::PaletteIndex::Identifier)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::KnownIdentifier)] = get_color_u32("text_link"); - palette[int(TextEditor::PaletteIndex::PreprocIdentifier)] = get_color_u32("text_link"); + palette[int(TextEditor::PaletteIndex::Default)] = get_color_u32("editor_main"); + palette[int(TextEditor::PaletteIndex::Keyword)] = get_color_u32("editor_command"); + palette[int(TextEditor::PaletteIndex::Number)] = get_color_u32("editor_warning"); + palette[int(TextEditor::PaletteIndex::String)] = get_color_u32("editor_string"); + palette[int(TextEditor::PaletteIndex::CharLiteral)] = get_color_u32("editor_string"); + palette[int(TextEditor::PaletteIndex::Punctuation)] = get_color_u32("editor_main"); + palette[int(TextEditor::PaletteIndex::Preprocessor)] = get_color_u32("editor_emphasis"); + palette[int(TextEditor::PaletteIndex::Identifier)] = get_color_u32("editor_main"); + palette[int(TextEditor::PaletteIndex::KnownIdentifier)] = get_color_u32("editor_link"); + palette[int(TextEditor::PaletteIndex::PreprocIdentifier)] = get_color_u32("editor_link"); - palette[int(TextEditor::PaletteIndex::Comment)] = get_color_u32("text_comment"); - palette[int(TextEditor::PaletteIndex::MultiLineComment)] = get_color_u32("text_comment"); + palette[int(TextEditor::PaletteIndex::Comment)] = get_color_u32("editor_comment"); + palette[int(TextEditor::PaletteIndex::MultiLineComment)] = get_color_u32("editor_comment"); palette[int(TextEditor::PaletteIndex::Background)] = get_color_u32("editor_background"); palette[int(TextEditor::PaletteIndex::Cursor)] = get_color_u32("cursor"); - palette[int(TextEditor::PaletteIndex::Selection)] = get_color_u32("text_selected"); - palette[int(TextEditor::PaletteIndex::ErrorMarker)] = get_color_u32("syntax_error"); - palette[int(TextEditor::PaletteIndex::Breakpoint)] = get_color_u32("syntax_error"); + palette[int(TextEditor::PaletteIndex::Selection)] = get_color_u32("editor_selected"); + palette[int(TextEditor::PaletteIndex::ErrorMarker)] = get_color_u32("editor_error"); + palette[int(TextEditor::PaletteIndex::Breakpoint)] = get_color_u32("editor_error"); - palette[int(TextEditor::PaletteIndex::LineNumber)] = get_color_u32("text_line_number"); + palette[int(TextEditor::PaletteIndex::LineNumber)] = get_color_u32("editor_line_number"); palette[int(TextEditor::PaletteIndex::CurrentLineFill)] = get_color_u32("surface_variant"); palette[int(TextEditor::PaletteIndex::CurrentLineFillInactive)] = get_color_u32("surface"); - palette[int(TextEditor::PaletteIndex::CurrentLineEdge)] = get_color_u32("border_emphasized"); + palette[int(TextEditor::PaletteIndex::CurrentLineEdge)] = get_color_u32("border_focused"); m_editor.SetPalette(palette); } @@ -437,44 +446,44 @@ void color_scheme_editor::apply_palette_to_editor() void color_scheme_editor::apply_palette_to_imgui() const { const auto ¤t = m_controller.current_palette(); - - auto getColor = [&](const std::string &key) -> ImVec4 { + + auto getColor = [&](const std::string &key, const std::string &fallback = "") -> ImVec4 { auto it = current.colors().find(key); + if (it == current.colors().end() && !fallback.empty()) + { + it = current.colors().find(fallback); + } + if (it != current.colors().end()) { const uint32_t hex = it->second.hex(); return {((hex >> 24) & 0xFF) / 255.0f, ((hex >> 16) & 0xFF) / 255.0f, ((hex >> 8) & 0xFF) / 255.0f, ((hex) & 0xFF) / 255.0f}; } + + std::cout << "WARNING: Color key '" << key << "' not found!\n"; return {1, 1, 1, 1}; }; ImGuiStyle &style = ImGui::GetStyle(); - const ImVec4 bg = getColor("editor_background"); - const ImVec4 sidebar = getColor("sidebar_background"); - const ImVec4 popup = getColor("popup_background"); - const ImVec4 menuOpt = getColor("menu_option_background"); - + const ImVec4 bg = getColor("background"); const ImVec4 surface = getColor("surface"); const ImVec4 surfaceVariant = getColor("surface_variant"); - - const ImVec4 fg = getColor("text_main"); - const ImVec4 fgSecondary = getColor("text_inactive"); - + const ImVec4 fg = getColor("foreground"); + const ImVec4 fgInactive = getColor("editor_inactive"); const ImVec4 accent = getColor("accent"); - - const ImVec4 border = getColor("border_window"); + const ImVec4 border = getColor("border"); style.Colors[ImGuiCol_WindowBg] = bg; style.Colors[ImGuiCol_ChildBg] = surface; - style.Colors[ImGuiCol_PopupBg] = popup; + style.Colors[ImGuiCol_PopupBg] = surface; style.Colors[ImGuiCol_Border] = border; style.Colors[ImGuiCol_BorderShadow] = ImVec4(0, 0, 0, 0); style.Colors[ImGuiCol_Text] = fg; - style.Colors[ImGuiCol_TextDisabled] = fgSecondary; + style.Colors[ImGuiCol_TextDisabled] = fgInactive; style.Colors[ImGuiCol_Header] = surfaceVariant; style.Colors[ImGuiCol_HeaderHovered] = ImVec4(accent.x, accent.y, accent.z, 0.8f); @@ -490,9 +499,9 @@ void color_scheme_editor::apply_palette_to_imgui() const style.Colors[ImGuiCol_FrameBgActive] = ImVec4(surfaceVariant.x * 1.2f, surfaceVariant.y * 1.2f, surfaceVariant.z * 1.2f, 1.0f); - style.Colors[ImGuiCol_TitleBg] = sidebar; + style.Colors[ImGuiCol_TitleBg] = surface; style.Colors[ImGuiCol_TitleBgActive] = surfaceVariant; - style.Colors[ImGuiCol_TitleBgCollapsed] = sidebar; + style.Colors[ImGuiCol_TitleBgCollapsed] = surface; style.Colors[ImGuiCol_ScrollbarBg] = surface; style.Colors[ImGuiCol_ScrollbarGrab] = surfaceVariant; @@ -513,6 +522,7 @@ void color_scheme_editor::apply_palette_to_imgui() const style.Colors[ImGuiCol_TabActive] = surfaceVariant; style.Colors[ImGuiCol_TabUnfocused] = surface; style.Colors[ImGuiCol_TabUnfocusedActive] = surfaceVariant; + style.Colors[ImGuiCol_TabSelectedOverline] = accent; style.Colors[ImGuiCol_TableHeaderBg] = surfaceVariant; style.Colors[ImGuiCol_TableBorderStrong] = border; @@ -526,7 +536,7 @@ void color_scheme_editor::apply_palette_to_imgui() const style.Colors[ImGuiCol_SeparatorHovered] = accent; style.Colors[ImGuiCol_SeparatorActive] = accent; - style.Colors[ImGuiCol_MenuBarBg] = menuOpt; + style.Colors[ImGuiCol_MenuBarBg] = surface; style.Colors[ImGuiCol_DockingPreview] = ImVec4(accent.x, accent.y, accent.z, 0.7f); style.Colors[ImGuiCol_DockingEmptyBg] = bg; diff --git a/src/gui/template_editor.cpp b/src/gui/template_editor.cpp index f815c7e..9445e53 100644 --- a/src/gui/template_editor.cpp +++ b/src/gui/template_editor.cpp @@ -33,8 +33,13 @@ template_editor::template_editor() void template_editor::apply_current_palette(const clrsync::core::palette& pal) { auto colors = pal.colors(); - auto get_color_u32 = [&](const std::string &key) -> uint32_t { + auto get_color_u32 = [&](const std::string &key, const std::string &fallback = "") -> uint32_t { auto it = colors.find(key); + if (it == colors.end() && !fallback.empty()) + { + it = colors.find(fallback); + } + if (it != colors.end()) { const auto &col = it->second; @@ -51,32 +56,32 @@ void template_editor::apply_current_palette(const clrsync::core::palette& pal) auto palette = m_editor.GetPalette(); - palette[int(TextEditor::PaletteIndex::Default)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::Keyword)] = get_color_u32("syntax_keyword"); - palette[int(TextEditor::PaletteIndex::Number)] = get_color_u32("text_warning"); - palette[int(TextEditor::PaletteIndex::String)] = get_color_u32("text_string"); - palette[int(TextEditor::PaletteIndex::CharLiteral)] = get_color_u32("text_string"); - palette[int(TextEditor::PaletteIndex::Punctuation)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::Preprocessor)] = get_color_u32("syntax_special_keyword"); - palette[int(TextEditor::PaletteIndex::Identifier)] = get_color_u32("text_main"); - palette[int(TextEditor::PaletteIndex::KnownIdentifier)] = get_color_u32("text_link"); - palette[int(TextEditor::PaletteIndex::PreprocIdentifier)] = get_color_u32("text_link"); + palette[int(TextEditor::PaletteIndex::Default)] = get_color_u32("editor_main", "foreground"); + palette[int(TextEditor::PaletteIndex::Keyword)] = get_color_u32("editor_command", "accent"); + palette[int(TextEditor::PaletteIndex::Number)] = get_color_u32("editor_warning", "warning"); + palette[int(TextEditor::PaletteIndex::String)] = get_color_u32("editor_string", "success"); + palette[int(TextEditor::PaletteIndex::CharLiteral)] = get_color_u32("editor_string", "success"); + palette[int(TextEditor::PaletteIndex::Punctuation)] = get_color_u32("editor_main", "foreground"); + palette[int(TextEditor::PaletteIndex::Preprocessor)] = get_color_u32("editor_emphasis", "accent"); + palette[int(TextEditor::PaletteIndex::Identifier)] = get_color_u32("editor_main", "foreground"); + palette[int(TextEditor::PaletteIndex::KnownIdentifier)] = get_color_u32("editor_link", "info"); + palette[int(TextEditor::PaletteIndex::PreprocIdentifier)] = get_color_u32("editor_link", "info"); - palette[int(TextEditor::PaletteIndex::Comment)] = get_color_u32("text_comment"); - palette[int(TextEditor::PaletteIndex::MultiLineComment)] = get_color_u32("text_comment"); + palette[int(TextEditor::PaletteIndex::Comment)] = get_color_u32("editor_comment", "editor_inactive"); + palette[int(TextEditor::PaletteIndex::MultiLineComment)] = get_color_u32("editor_comment", "editor_inactive"); - palette[int(TextEditor::PaletteIndex::Background)] = get_color_u32("editor_background"); - palette[int(TextEditor::PaletteIndex::Cursor)] = get_color_u32("cursor"); + palette[int(TextEditor::PaletteIndex::Background)] = get_color_u32("editor_background", "background"); + palette[int(TextEditor::PaletteIndex::Cursor)] = get_color_u32("cursor", "accent"); - palette[int(TextEditor::PaletteIndex::Selection)] = get_color_u32("text_selected"); - palette[int(TextEditor::PaletteIndex::ErrorMarker)] = get_color_u32("syntax_error"); - palette[int(TextEditor::PaletteIndex::Breakpoint)] = get_color_u32("syntax_error"); + palette[int(TextEditor::PaletteIndex::Selection)] = get_color_u32("editor_selected", "surface_variant"); + palette[int(TextEditor::PaletteIndex::ErrorMarker)] = get_color_u32("editor_error", "error"); + palette[int(TextEditor::PaletteIndex::Breakpoint)] = get_color_u32("editor_error", "error"); - palette[int(TextEditor::PaletteIndex::LineNumber)] = get_color_u32("text_line_number"); + palette[int(TextEditor::PaletteIndex::LineNumber)] = get_color_u32("editor_line_number", "editor_inactive"); palette[int(TextEditor::PaletteIndex::CurrentLineFill)] = get_color_u32("surface_variant"); palette[int(TextEditor::PaletteIndex::CurrentLineFillInactive)] = get_color_u32("surface"); - palette[int(TextEditor::PaletteIndex::CurrentLineEdge)] = get_color_u32("border_emphasized"); + palette[int(TextEditor::PaletteIndex::CurrentLineEdge)] = get_color_u32("border_focused", "border"); m_editor.SetPalette(palette); }