updated color keys

This commit is contained in:
2025-12-08 10:40:36 +03:00
parent f39d22b5e3
commit 5d87e8df3c
27 changed files with 359 additions and 1259 deletions

View File

@@ -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)

View File

@@ -1,5 +1,5 @@
[general]
default_theme = 'dark'
default_theme = 'cursed'
palettes_path = '~/.config/clrsync/palettes'
font = 'JetBrainsMono Nerd Font Mono'
font_size = 14

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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"

View File

@@ -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'

View File

@@ -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 (0255)
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 = 01 normalized)
color1.rgba {term_red.rgba}
color1.a {term_red.a}
color1.rgba {base01.rgba}
color1.a {base01.a}
# HSL (normalized 01 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}
color1.h-s-l {base01.h}-{base01.s}-{base01.l}
color1.h-s-l-a {base01.h}-{base01.s}-{base01.l}-{base01.hsla_a}

View File

@@ -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}
# White
color7 {base07}
color15 {base0F}

View File

@@ -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

View File

@@ -6,49 +6,70 @@
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
// 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

View File

@@ -2,6 +2,7 @@
#include "template_editor.hpp"
#include "color_text_edit/TextEditor.h"
#include "imgui.h"
#include <iostream>
#include <ranges>
color_scheme_editor::color_scheme_editor()
@@ -71,9 +72,21 @@ int main()
})");
m_editor.SetShowWhitespaces(false);
const auto &palettes = m_controller.palettes();
const auto &current = 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 &current = 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);
}
@@ -438,43 +447,43 @@ void color_scheme_editor::apply_palette_to_imgui() const
{
const auto &current = 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;

View File

@@ -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);
}