From f7ae0a1b477c5355e5446707c01170c3e5e44079 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Fri, 2 May 2025 16:13:39 -0700 Subject: [PATCH] collapse theme-file vs. theme-preset, plug all theme selection paths into picking that single string, plug theme lister in --- src/raddbg/generated/raddbg.meta.c | 12 +- src/raddbg/raddbg.mdesk | 502 ++++++++++++++--------------- src/raddbg/raddbg_core.c | 80 +++-- 3 files changed, 291 insertions(+), 303 deletions(-) diff --git a/src/raddbg/generated/raddbg.meta.c b/src/raddbg/generated/raddbg.meta.c index 9e71ec9f..a59d0e98 100644 --- a/src/raddbg/generated/raddbg.meta.c +++ b/src/raddbg/generated/raddbg.meta.c @@ -399,8 +399,8 @@ RD_VocabInfo rd_vocab_info_table[333] = RD_NameSchemaInfo rd_name_schema_info_table[24] = { -{str8_lit_comp("user"), str8_lit_comp("x:\n{\n //- rjf: animations\n @default(1) 'hover_animations': bool,\n @default(1) 'press_animations': bool,\n @default(0) 'focus_animations': bool,\n @default(1) 'tooltip_animations': bool,\n @default(1) 'menu_animations': bool,\n @default(1) 'scrolling_animations': bool,\n\n //- rjf: fonts\n @display_name('UI Font') @description(\"The name of, or path to, the font used when displaying non-code UI elements.\")\n 'main_font': string,\n @display_name('Code Font') @description(\"The name of, or path to, the font used when displaying code.\")\n 'code_font': string,\n\n //- rjf: theme\n @no_expand @display_name('User Theme Preset') @description(\"The selected built-in theme preset.\")\n 'theme_preset': string,\n @no_expand @no_expand @display_name('User Theme File') @description(\"The path from which theme data is loaded, overriding the preset.\")\n 'theme_file': path,\n @display_name('User Theme') @description(\"The user's theme, which describes all colors used throughout the UI.\")\n 'theme_colors': query,\n\n //- rjf: autocompletion\n @display_name('Autocompletion Lister') @description(\"Enables the autocompletion lister while typing expressions.\") @default(1)\n 'autocompletion_lister': bool,\n\n //- rjf: thread & breakpoint decorations\n @default(1) @display_name('Thread Lines') @description(\"Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.\")\n 'thread_lines': bool,\n @default(1) @display_name('Thread Glow') @description(\"Controls whether or not a glowing effect is drawn on the selected thread in source and disassembly views.\")\n 'thread_glow': bool,\n @default(1) @display_name('Breakpoint Lines') @description(\"Controls whether or not a long horizontal line is drawn before the line or instruction at which a breakpoint is placed, in source and disassembly views.\")\n 'breakpoint_lines': bool,\n @default(1) @display_name('Breakpoint Glow') @description(\"Controls whether or not a glowing effect is drawn on breakpoints in source and disassembly views.\")\n 'breakpoint_glow': bool,\n\n //- rjf: occluding background settings\n @default(0) @display_name('Opaque Backgrounds') @description(\"Controls whether or not all floating background colors are forced to be fully opaque.\")\n 'opaque_backgrounds': bool,\n @default(1) @display_name('Background Blur') @description(\"Controls whether or not occluded regions behind floating elements are blurred.\")\n 'background_blur': bool,\n\n //- rjf: appearance settings\n @default(1) @display_name('Drop Shadows') @description(\"Controls whether or not drop shadows are drawn.\")\n 'drop_shadows': bool,\n @default(1.f) @display_name('Rounded Corner Amount') @description(\"Controls the degree to which UI corners are rounded.\")\n 'rounded_corner_amount': @range[0, 1] f32,\n\n //- rjf: code formatting settings\n @default(2) @display_name('User Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: windows style menu bar\n @default(1) @display_name('Focus Menu Bar With Alt') @description(\"Mimics standard Windows behavior of focusing the menu bar using the Alt key.\")\n 'focus_menu_bar_with_alt': bool,\n}\n")}, -{str8_lit_comp("project"), str8_lit_comp("x:\n{\n @default(2) @display_name('Project Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: theme\n @no_expand @display_name('Project Theme Preset') @description(\"The selected built-in project theme preset.\")\n 'theme_preset': string,\n @no_expand @display_name('Project Theme File') @description(\"The path from which project's theme data is loaded, overriding the preset.\")\n 'theme_file': path,\n @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme_colors': query,\n\n //- rjf: exception settings\n @default(1) @display_name(\"Break On Win32 Control-C Exceptions\") @description(\"Code: 0x40010005\")\n win32_ctrl_c: bool;\n @default(1) @display_name(\"Break On Win32 Control-Break Exceptions\") @description(\"Code: 0x40010008\")\n win32_ctrl_break: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Originate Error Exceptions\") @description(\"Code: 0x40080201\")\n win32_win_rt_originate_error: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Transform Error Exceptions\") @description(\"Code: 0x40080202\")\n win32_win_rt_transform_error: bool;\n @default(0) @display_name(\"Break On Win32 RPC Call Cancelled Exceptions\") @description(\"Code: 0x0000071a\")\n win32_rpc_call_cancelled: bool;\n @default(0) @display_name(\"Break On Win32 Data Type Misalignment Exceptions\") @description(\"Code: 0x80000002\")\n win32_datatype_misalignment: bool;\n @default(1) @display_name(\"Break On Win32 Access Violation Exceptions\") @description(\"Code: 0xc0000005\")\n win32_access_violation: bool;\n @default(0) @display_name(\"Break On Win32 In Page Error Exceptions\") @description(\"Code: 0xc0000006\")\n win32_in_page_error: bool;\n @default(1) @display_name(\"Break On Win32 Invalid Handle Specified Exceptions\") @description(\"Code: 0xc0000008\")\n win32_invalid_handle: bool;\n @default(0) @display_name(\"Break On Win32 Not Enough Quota Exceptions\") @description(\"Code: 0xc0000017\")\n win32_not_enough_quota: bool;\n @default(0) @display_name(\"Break On Win32 Illegal Instruction Exceptions\") @description(\"Code: 0xc000001d\")\n win32_illegal_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Cannot Continue From Exception Exceptions\") @description(\"Code: 0xc0000025\")\n win32_cannot_continue_exception: bool;\n @default(0) @display_name(\"Break On Win32 Invalid Exception Disposition Returned By Handler Exceptions\") @description(\"Code: 0xc0000026\")\n win32_invalid_exception_disposition: bool;\n @default(0) @display_name(\"Break On Win32 Array Bounds Exceeded Exceptions\") @description(\"Code: 0xc000008c\")\n win32_array_bounds_exceeded: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Denormal Operand Exceptions\") @description(\"Code: 0xc000008d\")\n win32_floating_point_denormal_operand: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Division By Zero Exceptions\") @description(\"Code: 0xc000008e\")\n win32_floating_point_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Inexact Result Exceptions\") @description(\"Code: 0xc000008f\")\n win32_floating_point_inexact_result: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Invalid Operation Exceptions\") @description(\"Code: 0xc0000090\")\n win32_floating_point_invalid_operation: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Overflow Exceptions\") @description(\"Code: 0xc0000091\")\n win32_floating_point_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Stack Check Exceptions\") @description(\"Code: 0xc0000092\")\n win32_floating_point_stack_check: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Underflow Exceptions\") @description(\"Code: 0xc0000093\")\n win32_floating_point_underflow: bool;\n @default(0) @display_name(\"Break On Win32 Integer Division By Zero Exceptions\") @description(\"Code: 0xc0000094\")\n win32_integer_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Integer Overflow Exceptions\") @description(\"Code: 0xc0000095\")\n win32_integer_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Privileged Instruction Exceptions\") @description(\"Code: 0xc0000096\")\n win32_privileged_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Stack Overflow Exceptions\") @description(\"Code: 0xc00000fd\")\n win32_stack_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Unable To Locate DLL Exceptions\") @description(\"Code: 0xc0000135\")\n win32_unable_to_locate_dll: bool;\n @default(0) @display_name(\"Break On Win32 Ordinal Not Found Exceptions\") @description(\"Code: 0xc0000138\")\n win32_ordinal_not_found: bool;\n @default(0) @display_name(\"Break On Win32 Entry Point Not Found Exceptions\") @description(\"Code: 0xc0000139\")\n win32_entry_point_not_found: bool;\n @default(0) @display_name(\"Break On Win32 DLL Initialization Failed Exceptions\") @description(\"Code: 0xc0000142\")\n win32_dll_initialization_failed: bool;\n @default(0) @display_name(\"Break On Win32 Floating Point SSE Multiple Faults Exceptions\") @description(\"Code: 0xc00002b4\")\n win32_floating_point_sse_multiple_faults: bool;\n @default(0) @display_name(\"Break On Win32 Floating Point SSE Multiple Traps Exceptions\") @description(\"Code: 0xc00002b5\")\n win32_floating_point_sse_multiple_traps: bool;\n @default(1) @display_name(\"Break On Win32 Assertion Failed Exceptions\") @description(\"Code: 0xc0000420\")\n win32_assertion_failed: bool;\n @default(0) @display_name(\"Break On Win32 Module Not Found Exceptions\") @description(\"Code: 0xc06d007e\")\n win32_module_not_found: bool;\n @default(0) @display_name(\"Break On Win32 Procedure Not Found Exceptions\") @description(\"Code: 0xc06d007f\")\n win32_procedure_not_found: bool;\n @default(1) @display_name(\"Break On Win32 Sanitizer Error Detected Exceptions\") @description(\"Code: 0xe073616e\")\n win32_sanitizer_error_detected: bool;\n @default(0) @display_name(\"Break On Win32 Sanitizer Raw Access Violation Exceptions\") @description(\"Code: 0xe0736171\")\n win32_sanitizer_raw_access_violation: bool;\n @default(1) @display_name(\"Break On Win32 DirectX Debug Layer Exceptions\") @description(\"Code: 0x0000087a\")\n win32_directx_debug_layer: bool;\n}\n")}, +{str8_lit_comp("user"), str8_lit_comp("x:\n{\n //- rjf: animations\n @default(1) 'hover_animations': bool,\n @default(1) 'press_animations': bool,\n @default(0) 'focus_animations': bool,\n @default(1) 'tooltip_animations': bool,\n @default(1) 'menu_animations': bool,\n @default(1) 'scrolling_animations': bool,\n\n //- rjf: fonts\n @display_name('UI Font') @description(\"The name of, or path to, the font used when displaying non-code UI elements.\")\n 'main_font': string,\n @display_name('Code Font') @description(\"The name of, or path to, the font used when displaying code.\")\n 'code_font': string,\n\n //- rjf: theme\n @no_expand 'theme': string,\n @display_name('User Theme') @description(\"The user's theme, which describes all colors used throughout the UI.\")\n 'theme_colors': query,\n\n //- rjf: autocompletion\n @display_name('Autocompletion Lister') @description(\"Enables the autocompletion lister while typing expressions.\") @default(1)\n 'autocompletion_lister': bool,\n\n //- rjf: thread & breakpoint decorations\n @default(1) @display_name('Thread Lines') @description(\"Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.\")\n 'thread_lines': bool,\n @default(1) @display_name('Thread Glow') @description(\"Controls whether or not a glowing effect is drawn on the selected thread in source and disassembly views.\")\n 'thread_glow': bool,\n @default(1) @display_name('Breakpoint Lines') @description(\"Controls whether or not a long horizontal line is drawn before the line or instruction at which a breakpoint is placed, in source and disassembly views.\")\n 'breakpoint_lines': bool,\n @default(1) @display_name('Breakpoint Glow') @description(\"Controls whether or not a glowing effect is drawn on breakpoints in source and disassembly views.\")\n 'breakpoint_glow': bool,\n\n //- rjf: occluding background settings\n @default(0) @display_name('Opaque Backgrounds') @description(\"Controls whether or not all floating background colors are forced to be fully opaque.\")\n 'opaque_backgrounds': bool,\n @default(1) @display_name('Background Blur') @description(\"Controls whether or not occluded regions behind floating elements are blurred.\")\n 'background_blur': bool,\n\n //- rjf: appearance settings\n @default(1) @display_name('Drop Shadows') @description(\"Controls whether or not drop shadows are drawn.\")\n 'drop_shadows': bool,\n @default(1.f) @display_name('Rounded Corner Amount') @description(\"Controls the degree to which UI corners are rounded.\")\n 'rounded_corner_amount': @range[0, 1] f32,\n\n //- rjf: code formatting settings\n @default(2) @display_name('User Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: windows style menu bar\n @default(1) @display_name('Focus Menu Bar With Alt') @description(\"Mimics standard Windows behavior of focusing the menu bar using the Alt key.\")\n 'focus_menu_bar_with_alt': bool,\n}\n")}, +{str8_lit_comp("project"), str8_lit_comp("x:\n{\n @default(2) @display_name('Project Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: theme\n @no_expand 'theme': string,\n @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme_colors': query,\n\n //- rjf: exception settings\n @default(1) @display_name(\"Break On Win32 Control-C Exceptions\") @description(\"Code: 0x40010005\")\n win32_ctrl_c: bool;\n @default(1) @display_name(\"Break On Win32 Control-Break Exceptions\") @description(\"Code: 0x40010008\")\n win32_ctrl_break: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Originate Error Exceptions\") @description(\"Code: 0x40080201\")\n win32_win_rt_originate_error: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Transform Error Exceptions\") @description(\"Code: 0x40080202\")\n win32_win_rt_transform_error: bool;\n @default(0) @display_name(\"Break On Win32 RPC Call Cancelled Exceptions\") @description(\"Code: 0x0000071a\")\n win32_rpc_call_cancelled: bool;\n @default(0) @display_name(\"Break On Win32 Data Type Misalignment Exceptions\") @description(\"Code: 0x80000002\")\n win32_datatype_misalignment: bool;\n @default(1) @display_name(\"Break On Win32 Access Violation Exceptions\") @description(\"Code: 0xc0000005\")\n win32_access_violation: bool;\n @default(0) @display_name(\"Break On Win32 In Page Error Exceptions\") @description(\"Code: 0xc0000006\")\n win32_in_page_error: bool;\n @default(1) @display_name(\"Break On Win32 Invalid Handle Specified Exceptions\") @description(\"Code: 0xc0000008\")\n win32_invalid_handle: bool;\n @default(0) @display_name(\"Break On Win32 Not Enough Quota Exceptions\") @description(\"Code: 0xc0000017\")\n win32_not_enough_quota: bool;\n @default(0) @display_name(\"Break On Win32 Illegal Instruction Exceptions\") @description(\"Code: 0xc000001d\")\n win32_illegal_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Cannot Continue From Exception Exceptions\") @description(\"Code: 0xc0000025\")\n win32_cannot_continue_exception: bool;\n @default(0) @display_name(\"Break On Win32 Invalid Exception Disposition Returned By Handler Exceptions\") @description(\"Code: 0xc0000026\")\n win32_invalid_exception_disposition: bool;\n @default(0) @display_name(\"Break On Win32 Array Bounds Exceeded Exceptions\") @description(\"Code: 0xc000008c\")\n win32_array_bounds_exceeded: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Denormal Operand Exceptions\") @description(\"Code: 0xc000008d\")\n win32_floating_point_denormal_operand: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Division By Zero Exceptions\") @description(\"Code: 0xc000008e\")\n win32_floating_point_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Inexact Result Exceptions\") @description(\"Code: 0xc000008f\")\n win32_floating_point_inexact_result: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Invalid Operation Exceptions\") @description(\"Code: 0xc0000090\")\n win32_floating_point_invalid_operation: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Overflow Exceptions\") @description(\"Code: 0xc0000091\")\n win32_floating_point_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Stack Check Exceptions\") @description(\"Code: 0xc0000092\")\n win32_floating_point_stack_check: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Underflow Exceptions\") @description(\"Code: 0xc0000093\")\n win32_floating_point_underflow: bool;\n @default(0) @display_name(\"Break On Win32 Integer Division By Zero Exceptions\") @description(\"Code: 0xc0000094\")\n win32_integer_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Integer Overflow Exceptions\") @description(\"Code: 0xc0000095\")\n win32_integer_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Privileged Instruction Exceptions\") @description(\"Code: 0xc0000096\")\n win32_privileged_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Stack Overflow Exceptions\") @description(\"Code: 0xc00000fd\")\n win32_stack_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Unable To Locate DLL Exceptions\") @description(\"Code: 0xc0000135\")\n win32_unable_to_locate_dll: bool;\n @default(0) @display_name(\"Break On Win32 Ordinal Not Found Exceptions\") @description(\"Code: 0xc0000138\")\n win32_ordinal_not_found: bool;\n @default(0) @display_name(\"Break On Win32 Entry Point Not Found Exceptions\") @description(\"Code: 0xc0000139\")\n win32_entry_point_not_found: bool;\n @default(0) @display_name(\"Break On Win32 DLL Initialization Failed Exceptions\") @description(\"Code: 0xc0000142\")\n win32_dll_initialization_failed: bool;\n @default(0) @display_name(\"Break On Win32 Floating Point SSE Multiple Faults Exceptions\") @description(\"Code: 0xc00002b4\")\n win32_floating_point_sse_multiple_faults: bool;\n @default(0) @display_name(\"Break On Win32 Floating Point SSE Multiple Traps Exceptions\") @description(\"Code: 0xc00002b5\")\n win32_floating_point_sse_multiple_traps: bool;\n @default(1) @display_name(\"Break On Win32 Assertion Failed Exceptions\") @description(\"Code: 0xc0000420\")\n win32_assertion_failed: bool;\n @default(0) @display_name(\"Break On Win32 Module Not Found Exceptions\") @description(\"Code: 0xc06d007e\")\n win32_module_not_found: bool;\n @default(0) @display_name(\"Break On Win32 Procedure Not Found Exceptions\") @description(\"Code: 0xc06d007f\")\n win32_procedure_not_found: bool;\n @default(1) @display_name(\"Break On Win32 Sanitizer Error Detected Exceptions\") @description(\"Code: 0xe073616e\")\n win32_sanitizer_error_detected: bool;\n @default(0) @display_name(\"Break On Win32 Sanitizer Raw Access Violation Exceptions\") @description(\"Code: 0xe0736171\")\n win32_sanitizer_raw_access_violation: bool;\n @default(1) @display_name(\"Break On Win32 DirectX Debug Layer Exceptions\") @description(\"Code: 0x0000087a\")\n win32_directx_debug_layer: bool;\n}\n")}, {str8_lit_comp("theme_color"), str8_lit_comp("@collection_commands(open_theme, add_theme_color, fork_loaded_theme, save_theme)\n@row_commands(duplicate_cfg, remove_cfg)\nx:\n{\n @display_name('Tags') tags: string,\n @display_name('Value') value: @color @hex u32,\n}\n")}, {str8_lit_comp("window"), str8_lit_comp("x:\n{\n //- rjf: text rasterization settings\n @default(1) @display_name('Smooth UI Text') @description(\"Controls whether or not UI text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_ui_text': bool,\n @default(1) @display_name('Hint UI Text') @description(\"Controls whether or not UI text is hinted, for better text readability at small sizes.\")\n 'hint_ui_text': bool,\n @default(0) @display_name('Smooth Code Text') @description(\"Controls whether or not code text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_code_text': bool,\n @default(1) @display_name('Hint Code Text') @description(\"Controls whether or not code text is hinted, for better text readability at small sizes.\")\n 'hint_code_text': bool,\n @default(11) @display_name('Window Font Size') @description(\"Controls the window's default font size. Does not apply to tabs with their own font size set.\")\n 'font_size': @range[6, 72] u64,\n\n //- rjf: size settings\n @default(3.f) @display_name('Window Row Height') @description(\"Controls the window's default row height, in multiples of the font size. Does not apply to tabs with their own row height set.\")\n 'row_height': @range[1.75f, 5.f] f32,\n @default(3.f) @description(\"Controls the height of tabs, in multiples of the font size.\")\n 'tab_height': @range[1.75f, 5.f] f32,\n\n //- rjf: theme settings\n @default(1) @display_name('Use Project Theme') @description(\"Prefer using the project theme for this window, if any. If off, only the user's theme settings will be used.\")\n 'use_project_theme': bool,\n}\n")}, {str8_lit_comp("tab"), str8_lit_comp("@row_commands(@file copy_tab_full_path, @file show_file_in_explorer, duplicate_tab, close_tab)\nx:\n{\n @default(11) @display_name('Tab Font Size') @description(\"Controls the tab's font size.\")\n 'font_size': @range[6, 72] u64,\n}\n")}, @@ -654,7 +654,7 @@ RD_CmdKindInfo rd_cmd_kind_info_table[226] = { str8_lit_comp("toggle_watch_pin"), str8_lit_comp("Places or removes a watch pin at a given location (file path and line number or address)."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*1)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_Expr, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, { str8_lit_comp("add_type_view"), str8_lit_comp("Adds a new type view."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_String, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, { str8_lit_comp("add_file_path_map"), str8_lit_comp("Adds a new file path map."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, -{ str8_lit_comp("open_theme"), str8_lit_comp("Opens a theme file."), str8_lit_comp("color"), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*1)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_FilePath, str8_lit_comp("folder:\"$input\""), str8_lit_comp(""), CTRL_EntityKind_Null}}, +{ str8_lit_comp("open_theme"), str8_lit_comp("Opens a theme."), str8_lit_comp("color"), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*1)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_String, str8_lit_comp("query:themes"), str8_lit_comp(""), CTRL_EntityKind_Null}}, { str8_lit_comp("add_theme_color"), str8_lit_comp("Adds a new theme color."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, { str8_lit_comp("fork_loaded_theme"), str8_lit_comp("Imports all colors from the loaded color theme file or color theme preset, so they can be individually edited."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, { str8_lit_comp("save_theme"), str8_lit_comp("Saves all theme colors to a new theme file."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*1)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_String, str8_lit_comp(""), str8_lit_comp(""), CTRL_EntityKind_Null}}, @@ -969,14 +969,14 @@ str8_lit_comp("far_manager"), String8 rd_theme_preset_cfg_string_table[10] = { str8_lit_comp("theme:\n{\n theme_color: {tags:\"background\", value: 0x1b1b1bff }\n theme_color: {tags:\"alt background\", value: 0x222222ff }\n theme_color: {tags:\"pop background\", value: 0x355b6eff }\n theme_color: {tags:\"fresh background\", value: 0x31393dff }\n theme_color: {tags:\"match background\", value: 0x31393dff }\n theme_color: {tags:\"border\", value: 0x404040ff }\n theme_color: {tags:\"text\", value: 0xe5e5e5ff }\n theme_color: {tags:\"weak text\", value: 0xa4a4a4ff }\n theme_color: {tags:\"good text\", value: 0x32a852ff }\n theme_color: {tags:\"neutral text\", value: 0x3a90bbff }\n theme_color: {tags:\"bad text\", value: 0xcf5242ff }\n theme_color: {tags:\"hover\", value: 0xffffffff }\n theme_color: {tags:\"focus overlay\", value: 0xfda20012 }\n theme_color: {tags:\"focus border\", value: 0xfda200ff }\n theme_color: {tags:\"cursor\", value: 0x8aff00ff }\n theme_color: {tags:\"selection\", value: 0x99ccff0f }\n theme_color: {tags:\"inactive background\", value: 0x0000002f }\n theme_color: {tags:\"drop_shadow\", value: 0x0000007f }\n theme_color: {tags:\"good_pop background\", value: 0x2c5b36ff }\n theme_color: {tags:\"good_pop border\", value: 0x568761ff }\n theme_color: {tags:\"good_pop hover\", value: 0xe3f5d3ff }\n theme_color: {tags:\"good_pop weak text\", value: 0xe3f5d3ff }\n theme_color: {tags:\"bad_pop background\", value: 0x803425ff }\n theme_color: {tags:\"bad_pop hover\", value: 0xff825cff }\n theme_color: {tags:\"code_default\", value: 0xcbcbcbff }\n theme_color: {tags:\"code_symbol\", value: 0x42a2cfff }\n theme_color: {tags:\"code_type\", value: 0xfec746ff }\n theme_color: {tags:\"code_local\", value: 0x98bc80ff }\n theme_color: {tags:\"code_register\", value: 0xb7afd5ff }\n theme_color: {tags:\"code_keyword\", value: 0xb38d4cff }\n theme_color: {tags:\"code_delimiter_or_operator\", value: 0x767676ff }\n theme_color: {tags:\"code_numeric\", value: 0x98abb1ff }\n theme_color: {tags:\"code_numeric_alt_digit_group\", value: 0x738287ff }\n theme_color: {tags:\"code_string\", value: 0x98abb1ff }\n theme_color: {tags:\"code_meta\", value: 0xd96759ff }\n theme_color: {tags:\"code_comment\", value: 0x717171ff }\n theme_color: {tags:\"line_info_0\", value: 0x4f3022ff }\n theme_color: {tags:\"line_info_1\", value: 0x4f3e15ff }\n theme_color: {tags:\"line_info_2\", value: 0x434e2aff }\n theme_color: {tags:\"line_info_3\", value: 0x36241fff }\n theme_color: {tags:\"line_info_4\", value: 0x4f3022ff }\n theme_color: {tags:\"line_info_5\", value: 0x4f3e15ff }\n theme_color: {tags:\"line_info_6\", value: 0x434e2aff }\n theme_color: {tags:\"line_info_7\", value: 0x36241fff }\n theme_color: {tags:\"thread_0\", value: 0xffcb7fff }\n theme_color: {tags:\"thread_1\", value: 0xb2ff65ff }\n theme_color: {tags:\"thread_2\", value: 0xff99e5ff }\n theme_color: {tags:\"thread_3\", value: 0x6598ffff }\n theme_color: {tags:\"thread_4\", value: 0x65ffcbff }\n theme_color: {tags:\"thread_5\", value: 0xff9819ff }\n theme_color: {tags:\"thread_6\", value: 0x9932ffff }\n theme_color: {tags:\"thread_7\", value: 0x65ff4cff }\n theme_color: {tags:\"thread_unwound\", value: 0xb2ccd8ff }\n theme_color: {tags:\"thread_error\", value: 0xb23219ff }\n theme_color: {tags:\"breakpoint\", value: 0xa72911ff }\n theme_color: {tags:\"floating background\", value: 0x1b1b1baf }\n theme_color: {tags:\"floating background alt\", value: 0x0000005f }\n theme_color: {tags:\"floating background fresh\", value: 0x31393d5f }\n theme_color: {tags:\"floating border\", value: 0xbfbfbf1f }\n theme_color: {tags:\"floating scroll_bar background\", value: 0x3b3b3b5f }\n theme_color: {tags:\"floating scroll_bar border\", value: 0x5f5f5f5f }\n theme_color: {tags:\"menu_bar background\", value: 0x2b3740ff }\n theme_color: {tags:\"menu_bar border\", value: 0x3e4c57ff }\n theme_color: {tags:\"scroll_bar background\", value: 0x2b2b2bff }\n theme_color: {tags:\"scroll_bar border\", value: 0x3f3f3fff }\n theme_color: {tags:\"implicit background\", value: 0x00000000 }\n theme_color: {tags:\"implicit border\", value: 0x00000000 }\n theme_color: {tags:\"hollow background\", value: 0x00000000 }\n theme_color: {tags:\"hollow border\", value: 0xffffff1f }\n theme_color: {tags:\"tab background\", value: 0x6f5135ff }\n theme_color: {tags:\"tab border\", value: 0x8a6e54ff }\n theme_color: {tags:\"tab inactive background\", value: 0x2b3740ff }\n theme_color: {tags:\"tab inactive border\", value: 0x3e4c57ff }\n theme_color: {tags:\"tab auto background\", value: 0x693847ff }\n theme_color: {tags:\"tab auto border\", value: 0x9e6274ff }\n theme_color: {tags:\"tab auto inactive background\", value: 0x2f2633ff }\n theme_color: {tags:\"tab auto inactive border\", value: 0x685073ff }\n theme_color: {tags:\"drop_site background\", value: 0xffffff05 }\n theme_color: {tags:\"drop_site border\", value: 0xffffff0f }\n}\n"), -str8_lit_comp("theme:\n{\n theme_color:{ tags: background value: 0xffffffff }\n theme_color:{ tags: \"alt background\" value: 0xf8f8f8ff }\n theme_color:{ tags: \"pop background\" value: 0xcbe4f2ff }\n theme_color:{ tags: \"menu_bar pop background\" value: 0x5aabd9ff }\n theme_color:{ tags: \"fresh background\" value: 0xeaddceff }\n theme_color:{ tags: \"match background\" value: 0xc1e9c4ff }\n theme_color:{ tags: border value: 0xcbcbcbff }\n theme_color:{ tags: text value: 0xff }\n theme_color:{ tags: \"weak text\" value: 0x727272ff }\n theme_color:{ tags: \"good text\" value: 0x217538ff }\n theme_color:{ tags: \"neutral text\" value: 0x1a5b7cff }\n theme_color:{ tags: \"bad text\" value: 0x972717ff }\n theme_color:{ tags: hover value: 0xff }\n theme_color:{ tags: \"focus overlay\" value: 0x67ff4b }\n theme_color:{ tags: \"focus border\" value: 0x67ffff }\n theme_color:{ tags: cursor value: 0xff }\n theme_color:{ tags: selection value: 0x283d5166 }\n theme_color:{ tags: \"inactive background\" value: 0x8 }\n theme_color:{ tags: drop_shadow value: 0xb }\n theme_color:{ tags: \"good_pop background\" value: 0x90c09aff }\n theme_color:{ tags: \"good_pop border\" value: 0x1e7231ff }\n theme_color:{ tags: \"good_pop hover\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop text\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" value: 0xa93620ff }\n theme_color:{ tags: \"bad_pop text\" value: 0xffffffff }\n theme_color:{ tags: \"bad_pop text weak\" value: 0xffffffff }\n theme_color:{ tags: \"menu_bar bad_pop background\" value: 0xff2a00ff }\n theme_color:{ tags: \"menu_bar bad_pop text\" value: 0xffffffff }\n theme_color:{ tags: \"bad_pop hover\" value: 0xff825cff }\n theme_color:{ tags: code_default value: 0x80808ff }\n theme_color:{ tags: code_symbol value: 0x4ac3ff }\n theme_color:{ tags: code_type value: 0xf46200ff }\n theme_color:{ tags: code_local value: 0x317c00ff }\n theme_color:{ tags: code_register value: 0x9a00ffff }\n theme_color:{ tags: code_keyword value: 0xff0600ff }\n theme_color:{ tags: code_delimiter_or_operator value: 0x8a8a8aff }\n theme_color:{ tags: code_numeric value: 0x7d49ff }\n theme_color:{ tags: code_numeric_alt_digit_group value: 0xb56aff }\n theme_color:{ tags: code_string value: 0x63549fff }\n theme_color:{ tags: code_meta value: 0xd96759ff }\n theme_color:{ tags: code_comment value: 0x717171ff }\n theme_color:{ tags: line_info_0 value: 0xe6d5cdff }\n theme_color:{ tags: line_info_1 value: 0xdbcfb2ff }\n theme_color:{ tags: line_info_2 value: 0xddeac1ff }\n theme_color:{ tags: line_info_3 value: 0xddc4bdff }\n theme_color:{ tags: line_info_4 value: 0xba917eff }\n theme_color:{ tags: thread_0 value: 0xffa700ff }\n theme_color:{ tags: thread_1 value: 0xb41fff }\n theme_color:{ tags: thread_2 value: 0xff99e5ff }\n theme_color:{ tags: thread_3 value: 0x6598ffff }\n theme_color:{ tags: thread_4 value: 0x65ffcbff }\n theme_color:{ tags: thread_5 value: 0xff9819ff }\n theme_color:{ tags: thread_6 value: 0x9932ffff }\n theme_color:{ tags: thread_7 value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error value: 0xb23219ff }\n theme_color:{ tags: breakpoint value: 0xff2800ff }\n theme_color:{ tags: \"floating background\" value: 0xffffffc7 }\n theme_color:{ tags: \"floating background alt\" value: 0x23 }\n theme_color:{ tags: \"floating background fresh\" value: 0xeaddceff }\n theme_color:{ tags: \"floating border\" value: 0x88888884 }\n theme_color:{ tags: \"scroll_bar background\" value: 0xe9e9e9ff }\n theme_color:{ tags: \"scroll_bar border\" value: 0x5f5f5f5f }\n theme_color:{ tags: \"floating scroll_bar background\" value: 0xe9e9e9ff }\n theme_color:{ tags: \"floating scroll_bar border\" value: 0x5f5f5f5f }\n theme_color:{ tags: \"menu_bar background\" value: 0x2b6b9aff }\n theme_color:{ tags: \"menu_bar border\" value: 0x4d }\n theme_color:{ tags: \"menu_bar text\" value: 0xffffffff }\n theme_color:{ tags: \"menu_bar text weak\" value: 0xffffffff }\n theme_color:{ tags: \"good menu_bar text\" value: 0x70db8dff }\n theme_color:{ tags: \"bad menu_bar text\" value: 0xffa79bff }\n theme_color:{ tags: \"neutral menu_bar text\" value: 0xc4dbe7ff }\n theme_color:{ tags: \"implicit background\" value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" value: 0xffffff1f }\n theme_color:{ tags: \"tab text\" value: 0xffffffff }\n theme_color:{ tags: \"tab text weak\" value: 0xffffffff }\n theme_color:{ tags: \"tab background\" value: 0xb67e48ff }\n theme_color:{ tags: \"tab border\" value: 0x875b31ff }\n theme_color:{ tags: \"tab inactive background\" value: 0xcacacaff }\n theme_color:{ tags: \"tab inactive border\" value: 0xb5b5b5ff }\n theme_color:{ tags: \"tab auto background\" value: 0xc41c69ff }\n theme_color:{ tags: \"tab auto border\" value: 0x981039ff }\n theme_color:{ tags: \"tab auto inactive background\" value: 0x9b88a3ff }\n theme_color:{ tags: \"tab auto inactive border\" value: 0x373737ff }\n theme_color:{ tags: \"drop_site background\" value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" value: 0xffffff0f }\n}\n"), -str8_lit_comp("theme:\n{\n theme_color:{ tags: background value: 0x1f1f1fff }\n theme_color:{ tags: \"alt background\" value: 0x222222ff }\n theme_color:{ tags: \"pop background\" value: 0x383167ff }\n theme_color:{ tags: \"fresh background\" value: 0x31393dff }\n theme_color:{ tags: \"match background\" value: 0x31393dff }\n theme_color:{ tags: border value: 0x404040ff }\n theme_color:{ tags: text value: 0xe5e5e5ff }\n theme_color:{ tags: \"weak text\" value: 0xa4a4a4ff }\n theme_color:{ tags: \"good text\" value: 0x32a852ff }\n theme_color:{ tags: \"neutral text\" value: 0x3a90bbff }\n theme_color:{ tags: \"bad text\" value: 0xcf5242ff }\n theme_color:{ tags: hover value: 0xffffffff }\n theme_color:{ tags: \"focus overlay\" value: 0x7160e81e }\n theme_color:{ tags: \"focus border\" value: 0x7160e8ff }\n theme_color:{ tags: cursor value: 0x8aff00ff }\n theme_color:{ tags: selection value: 0x99ccff0f }\n theme_color:{ tags: \"inactive background\" value: 0x0000002f }\n theme_color:{ tags: drop_shadow value: 0x0000007f }\n theme_color:{ tags: \"good_pop background\" value: 0x2c5b36ff }\n theme_color:{ tags: \"good_pop border\" value: 0x568761ff }\n theme_color:{ tags: \"good_pop hover\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" value: 0x803425ff }\n theme_color:{ tags: \"bad_pop hover\" value: 0xff825cff }\n theme_color:{ tags: code_default value: 0xe0e0e0ff }\n theme_color:{ tags: code_symbol value: 0xdcdcaaff }\n theme_color:{ tags: code_type value: 0x4ec9b0ff }\n theme_color:{ tags: code_local value: 0x9cdcfeff }\n theme_color:{ tags: code_register value: 0xb7afd5ff }\n theme_color:{ tags: code_keyword value: 0x569cd6ff }\n theme_color:{ tags: code_delimiter_or_operator value: 0x767676ff }\n theme_color:{ tags: code_numeric value: 0xb5cea8ff }\n theme_color:{ tags: code_numeric_alt_digit_group value: 0x7c986dff }\n theme_color:{ tags: code_string value: 0xd69d85ff }\n theme_color:{ tags: code_meta value: 0x9b9b9bff }\n theme_color:{ tags: code_comment value: 0x51a644ff }\n theme_color:{ tags: line_info_0 value: 0x4f3022ff }\n theme_color:{ tags: line_info_1 value: 0x4f3e15ff }\n theme_color:{ tags: line_info_2 value: 0x434e2aff }\n theme_color:{ tags: line_info_3 value: 0x36241fff }\n theme_color:{ tags: line_info_4 value: 0x4f3022ff }\n theme_color:{ tags: line_info_5 value: 0x4f3e15ff }\n theme_color:{ tags: line_info_6 value: 0x434e2aff }\n theme_color:{ tags: line_info_7 value: 0x36241fff }\n theme_color:{ tags: thread_0 value: 0xffdc48ff }\n theme_color:{ tags: thread_1 value: 0xb2ff65ff }\n theme_color:{ tags: thread_2 value: 0xff99e5ff }\n theme_color:{ tags: thread_3 value: 0x6598ffff }\n theme_color:{ tags: thread_4 value: 0x65ffcbff }\n theme_color:{ tags: thread_5 value: 0xff9819ff }\n theme_color:{ tags: thread_6 value: 0x9932ffff }\n theme_color:{ tags: thread_7 value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error value: 0xb23219ff }\n theme_color:{ tags: breakpoint value: 0xa72911ff }\n theme_color:{ tags: \"floating background\" value: 0x1b1b1baf }\n theme_color:{ tags: \"floating background alt\" value: 0x0000005f }\n theme_color:{ tags: \"floating background fresh\" value: 0x31393d5f }\n theme_color:{ tags: \"floating border\" value: 0xbfbfbf1f }\n theme_color:{ tags: \"floating scroll_bar background\" value: 0x3b3b3b5f }\n theme_color:{ tags: \"floating scroll_bar border\" value: 0x5f5f5f5f }\n theme_color:{ tags: \"scroll_bar background\" value: 0x2b2b2bff }\n theme_color:{ tags: \"scroll_bar border\" value: 0x3f3f3fff }\n theme_color:{ tags: \"implicit background\" value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" value: 0xffffff1f }\n theme_color:{ tags: \"tab background\" value: 0x333333ff }\n theme_color:{ tags: \"tab border\" value: 0x7160e8ff }\n theme_color:{ tags: \"tab inactive background\" value: 0x171717ff }\n theme_color:{ tags: \"tab inactive border\" value: 0x3e4c57ff }\n theme_color:{ tags: \"tab auto background\" value: 0x3f386dff }\n theme_color:{ tags: \"tab auto border\" value: 0x7160e8ff }\n theme_color:{ tags: \"tab auto inactive background\" value: 0x2f2633ff }\n theme_color:{ tags: \"tab auto inactive border\" value: 0x685073ff }\n theme_color:{ tags: \"drop_site background\" value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" value: 0xffffff0f }\n}\n"), +str8_lit_comp("theme:\n{\n theme_color:{ tags: background , value: 0xffffffff }\n theme_color:{ tags: \"alt background\" , value: 0xf8f8f8ff }\n theme_color:{ tags: \"pop background\" , value: 0xcbe4f2ff }\n theme_color:{ tags: \"menu_bar pop background\" , value: 0x5aabd9ff }\n theme_color:{ tags: \"fresh background\" , value: 0xeaddceff }\n theme_color:{ tags: \"match background\" , value: 0xc1e9c4ff }\n theme_color:{ tags: border , value: 0xcbcbcbff }\n theme_color:{ tags: text , value: 0xff }\n theme_color:{ tags: \"weak text\" , value: 0x727272ff }\n theme_color:{ tags: \"good text\" , value: 0x217538ff }\n theme_color:{ tags: \"neutral text\" , value: 0x1a5b7cff }\n theme_color:{ tags: \"bad text\" , value: 0x972717ff }\n theme_color:{ tags: hover , value: 0xff }\n theme_color:{ tags: \"focus overlay\" , value: 0x67ff4b }\n theme_color:{ tags: \"focus border\" , value: 0x67ffff }\n theme_color:{ tags: cursor , value: 0xff }\n theme_color:{ tags: selection , value: 0x283d5166 }\n theme_color:{ tags: \"inactive background\" , value: 0x8 }\n theme_color:{ tags: drop_shadow , value: 0xb }\n theme_color:{ tags: \"good_pop background\" , value: 0x90c09aff }\n theme_color:{ tags: \"good_pop border\" , value: 0x1e7231ff }\n theme_color:{ tags: \"good_pop hover\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop text\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" , value: 0xa93620ff }\n theme_color:{ tags: \"bad_pop text\" , value: 0xffffffff }\n theme_color:{ tags: \"bad_pop text weak\" , value: 0xffffffff }\n theme_color:{ tags: \"menu_bar bad_pop background\" , value: 0xff2a00ff }\n theme_color:{ tags: \"menu_bar bad_pop text\" , value: 0xffffffff }\n theme_color:{ tags: \"bad_pop hover\" , value: 0xff825cff }\n theme_color:{ tags: code_default , value: 0x80808ff }\n theme_color:{ tags: code_symbol , value: 0x4ac3ff }\n theme_color:{ tags: code_type , value: 0xf46200ff }\n theme_color:{ tags: code_local , value: 0x317c00ff }\n theme_color:{ tags: code_register , value: 0x9a00ffff }\n theme_color:{ tags: code_keyword , value: 0xff0600ff }\n theme_color:{ tags: code_delimiter_or_operator , value: 0x8a8a8aff }\n theme_color:{ tags: code_numeric , value: 0x7d49ff }\n theme_color:{ tags: code_numeric_alt_digit_group , value: 0xb56aff }\n theme_color:{ tags: code_string , value: 0x63549fff }\n theme_color:{ tags: code_meta , value: 0xd96759ff }\n theme_color:{ tags: code_comment , value: 0x717171ff }\n theme_color:{ tags: line_info_0 , value: 0xe6d5cdff }\n theme_color:{ tags: line_info_1 , value: 0xdbcfb2ff }\n theme_color:{ tags: line_info_2 , value: 0xddeac1ff }\n theme_color:{ tags: line_info_3 , value: 0xddc4bdff }\n theme_color:{ tags: line_info_4 , value: 0xba917eff }\n theme_color:{ tags: thread_0 , value: 0xffa700ff }\n theme_color:{ tags: thread_1 , value: 0xb41fff }\n theme_color:{ tags: thread_2 , value: 0xff99e5ff }\n theme_color:{ tags: thread_3 , value: 0x6598ffff }\n theme_color:{ tags: thread_4 , value: 0x65ffcbff }\n theme_color:{ tags: thread_5 , value: 0xff9819ff }\n theme_color:{ tags: thread_6 , value: 0x9932ffff }\n theme_color:{ tags: thread_7 , value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error , value: 0xb23219ff }\n theme_color:{ tags: breakpoint , value: 0xff2800ff }\n theme_color:{ tags: \"floating background\" , value: 0xffffffc7 }\n theme_color:{ tags: \"floating background alt\" , value: 0x23 }\n theme_color:{ tags: \"floating background fresh\" , value: 0xeaddceff }\n theme_color:{ tags: \"floating border\" , value: 0x88888884 }\n theme_color:{ tags: \"scroll_bar background\" , value: 0xe9e9e9ff }\n theme_color:{ tags: \"scroll_bar border\" , value: 0x5f5f5f5f }\n theme_color:{ tags: \"floating scroll_bar background\" , value: 0xe9e9e9ff }\n theme_color:{ tags: \"floating scroll_bar border\" , value: 0x5f5f5f5f }\n theme_color:{ tags: \"menu_bar background\" , value: 0x2b6b9aff }\n theme_color:{ tags: \"menu_bar border\" , value: 0x4d }\n theme_color:{ tags: \"menu_bar text\" , value: 0xffffffff }\n theme_color:{ tags: \"menu_bar text weak\" , value: 0xffffffff }\n theme_color:{ tags: \"good menu_bar text\" , value: 0x70db8dff }\n theme_color:{ tags: \"bad menu_bar text\" , value: 0xffa79bff }\n theme_color:{ tags: \"neutral menu_bar text\" , value: 0xc4dbe7ff }\n theme_color:{ tags: \"implicit background\" , value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" , value: 0xffffff1f }\n theme_color:{ tags: \"tab text\" , value: 0xffffffff }\n theme_color:{ tags: \"tab text weak\" , value: 0xffffffff }\n theme_color:{ tags: \"tab background\" , value: 0xb67e48ff }\n theme_color:{ tags: \"tab border\" , value: 0x875b31ff }\n theme_color:{ tags: \"tab inactive background\" , value: 0xcacacaff }\n theme_color:{ tags: \"tab inactive border\" , value: 0xb5b5b5ff }\n theme_color:{ tags: \"tab auto background\" , value: 0xc41c69ff }\n theme_color:{ tags: \"tab auto border\" , value: 0x981039ff }\n theme_color:{ tags: \"tab auto inactive background\" , value: 0x9b88a3ff }\n theme_color:{ tags: \"tab auto inactive border\" , value: 0x373737ff }\n theme_color:{ tags: \"drop_site background\" , value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" , value: 0xffffff0f }\n}\n"), +str8_lit_comp("theme:\n{\n theme_color:{ tags: background , value: 0x1f1f1fff }\n theme_color:{ tags: \"alt background\" , value: 0x222222ff }\n theme_color:{ tags: \"pop background\" , value: 0x383167ff }\n theme_color:{ tags: \"fresh background\" , value: 0x31393dff }\n theme_color:{ tags: \"match background\" , value: 0x31393dff }\n theme_color:{ tags: border , value: 0x404040ff }\n theme_color:{ tags: text , value: 0xe5e5e5ff }\n theme_color:{ tags: \"weak text\" , value: 0xa4a4a4ff }\n theme_color:{ tags: \"good text\" , value: 0x32a852ff }\n theme_color:{ tags: \"neutral text\" , value: 0x3a90bbff }\n theme_color:{ tags: \"bad text\" , value: 0xcf5242ff }\n theme_color:{ tags: hover , value: 0xffffffff }\n theme_color:{ tags: \"focus overlay\" , value: 0x7160e81e }\n theme_color:{ tags: \"focus border\" , value: 0x7160e8ff }\n theme_color:{ tags: cursor , value: 0x8aff00ff }\n theme_color:{ tags: selection , value: 0x99ccff0f }\n theme_color:{ tags: \"inactive background\" , value: 0x0000002f }\n theme_color:{ tags: drop_shadow , value: 0x0000007f }\n theme_color:{ tags: \"good_pop background\" , value: 0x2c5b36ff }\n theme_color:{ tags: \"good_pop border\" , value: 0x568761ff }\n theme_color:{ tags: \"good_pop hover\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" , value: 0x803425ff }\n theme_color:{ tags: \"bad_pop hover\" , value: 0xff825cff }\n theme_color:{ tags: code_default , value: 0xe0e0e0ff }\n theme_color:{ tags: code_symbol , value: 0xdcdcaaff }\n theme_color:{ tags: code_type , value: 0x4ec9b0ff }\n theme_color:{ tags: code_local , value: 0x9cdcfeff }\n theme_color:{ tags: code_register , value: 0xb7afd5ff }\n theme_color:{ tags: code_keyword , value: 0x569cd6ff }\n theme_color:{ tags: code_delimiter_or_operator , value: 0x767676ff }\n theme_color:{ tags: code_numeric , value: 0xb5cea8ff }\n theme_color:{ tags: code_numeric_alt_digit_group , value: 0x7c986dff }\n theme_color:{ tags: code_string , value: 0xd69d85ff }\n theme_color:{ tags: code_meta , value: 0x9b9b9bff }\n theme_color:{ tags: code_comment , value: 0x51a644ff }\n theme_color:{ tags: line_info_0 , value: 0x4f3022ff }\n theme_color:{ tags: line_info_1 , value: 0x4f3e15ff }\n theme_color:{ tags: line_info_2 , value: 0x434e2aff }\n theme_color:{ tags: line_info_3 , value: 0x36241fff }\n theme_color:{ tags: line_info_4 , value: 0x4f3022ff }\n theme_color:{ tags: line_info_5 , value: 0x4f3e15ff }\n theme_color:{ tags: line_info_6 , value: 0x434e2aff }\n theme_color:{ tags: line_info_7 , value: 0x36241fff }\n theme_color:{ tags: thread_0 , value: 0xffdc48ff }\n theme_color:{ tags: thread_1 , value: 0xb2ff65ff }\n theme_color:{ tags: thread_2 , value: 0xff99e5ff }\n theme_color:{ tags: thread_3 , value: 0x6598ffff }\n theme_color:{ tags: thread_4 , value: 0x65ffcbff }\n theme_color:{ tags: thread_5 , value: 0xff9819ff }\n theme_color:{ tags: thread_6 , value: 0x9932ffff }\n theme_color:{ tags: thread_7 , value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error , value: 0xb23219ff }\n theme_color:{ tags: breakpoint , value: 0xa72911ff }\n theme_color:{ tags: \"floating background\" , value: 0x1b1b1baf }\n theme_color:{ tags: \"floating background alt\" , value: 0x0000005f }\n theme_color:{ tags: \"floating background fresh\" , value: 0x31393d5f }\n theme_color:{ tags: \"floating border\" , value: 0xbfbfbf1f }\n theme_color:{ tags: \"floating scroll_bar background\" , value: 0x3b3b3b5f }\n theme_color:{ tags: \"floating scroll_bar border\" , value: 0x5f5f5f5f }\n theme_color:{ tags: \"scroll_bar background\" , value: 0x2b2b2bff }\n theme_color:{ tags: \"scroll_bar border\" , value: 0x3f3f3fff }\n theme_color:{ tags: \"implicit background\" , value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" , value: 0xffffff1f }\n theme_color:{ tags: \"tab background\" , value: 0x333333ff }\n theme_color:{ tags: \"tab border\" , value: 0x7160e8ff }\n theme_color:{ tags: \"tab inactive background\" , value: 0x171717ff }\n theme_color:{ tags: \"tab inactive border\" , value: 0x3e4c57ff }\n theme_color:{ tags: \"tab auto background\" , value: 0x3f386dff }\n theme_color:{ tags: \"tab auto border\" , value: 0x7160e8ff }\n theme_color:{ tags: \"tab auto inactive background\" , value: 0x2f2633ff }\n theme_color:{ tags: \"tab auto inactive border\" , value: 0x685073ff }\n theme_color:{ tags: \"drop_site background\" , value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" , value: 0xffffff0f }\n}\n"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), -str8_lit_comp("theme:\n{\n theme_color:{ tags: background value: 0x1b1f22ff }\n theme_color:{ tags: \"alt background\" value: 0x232929ff }\n theme_color:{ tags: \"pop background\" value: 0x2f4838ff }\n theme_color:{ tags: \"fresh background\" value: 0x31393dff }\n theme_color:{ tags: \"match background\" value: 0x31393dff }\n theme_color:{ tags: border value: 0x485347ff }\n theme_color:{ tags: text value: 0xffffffff }\n theme_color:{ tags: \"weak text\" value: 0xa2a2a2ff }\n theme_color:{ tags: \"good text\" value: 0x32a852ff }\n theme_color:{ tags: \"neutral text\" value: 0x3a90bbff }\n theme_color:{ tags: \"bad text\" value: 0xcf5242ff }\n theme_color:{ tags: hover value: 0xffffffff }\n theme_color:{ tags: \"focus overlay\" value: 0xfda20012 }\n theme_color:{ tags: \"focus border\" value: 0xfda200ff }\n theme_color:{ tags: cursor value: 0x8aff00ff }\n theme_color:{ tags: selection value: 0x99ccff0f }\n theme_color:{ tags: \"inactive background\" value: 0x0 }\n theme_color:{ tags: drop_shadow value: 0x0000007f }\n theme_color:{ tags: \"good_pop background\" value: 0x2c5b36ff }\n theme_color:{ tags: \"good_pop border\" value: 0x568761ff }\n theme_color:{ tags: \"good_pop hover\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" value: 0x803425ff }\n theme_color:{ tags: \"bad_pop hover\" value: 0xff825cff }\n theme_color:{ tags: code_default value: 0xad8b69ff }\n theme_color:{ tags: code_symbol value: 0x87ad6aff }\n theme_color:{ tags: code_type value: 0xb67474ff }\n theme_color:{ tags: code_local value: 0xe9bf95ff }\n theme_color:{ tags: code_register value: 0xa688b2ff }\n theme_color:{ tags: code_keyword value: 0xe49e17ff }\n theme_color:{ tags: code_delimiter_or_operator value: 0x795e43ff }\n theme_color:{ tags: code_numeric value: 0x98b19eff }\n theme_color:{ tags: code_numeric_alt_digit_group value: 0x688b71ff }\n theme_color:{ tags: code_string value: 0x98b19eff }\n theme_color:{ tags: code_meta value: 0xad5979ff }\n theme_color:{ tags: code_comment value: 0x52675dff }\n theme_color:{ tags: line_info_0 value: 0x4f3022ff }\n theme_color:{ tags: line_info_1 value: 0x4f3e15ff }\n theme_color:{ tags: line_info_2 value: 0x434e2aff }\n theme_color:{ tags: line_info_3 value: 0x36241fff }\n theme_color:{ tags: line_info_4 value: 0x4f3022ff }\n theme_color:{ tags: line_info_5 value: 0x4f3e15ff }\n theme_color:{ tags: line_info_6 value: 0x434e2aff }\n theme_color:{ tags: line_info_7 value: 0x36241fff }\n theme_color:{ tags: thread_0 value: 0xffc258ff }\n theme_color:{ tags: thread_1 value: 0x82d331ff }\n theme_color:{ tags: thread_2 value: 0xff99e5ff }\n theme_color:{ tags: thread_3 value: 0x6598ffff }\n theme_color:{ tags: thread_4 value: 0x65ffcbff }\n theme_color:{ tags: thread_5 value: 0xff9819ff }\n theme_color:{ tags: thread_6 value: 0x9932ffff }\n theme_color:{ tags: thread_7 value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error value: 0xb23219ff }\n theme_color:{ tags: breakpoint value: 0xa72911ff }\n theme_color:{ tags: \"floating background\" value: 0x1b1f2276 }\n theme_color:{ tags: \"floating background alt\" value: 0x0000005f }\n theme_color:{ tags: \"floating background fresh\" value: 0x31393d5f }\n theme_color:{ tags: \"floating border\" value: 0xbfbfbf1f }\n theme_color:{ tags: \"floating scroll_bar background\" value: 0x3b3b3b5f }\n theme_color:{ tags: \"floating scroll_bar border\" value: 0x5f5f5f5f }\n theme_color:{ tags: \"menu_bar background\" value: 0x243d32ff }\n theme_color:{ tags: \"menu_bar border\" value: 0x597b63ff }\n theme_color:{ tags: \"scroll_bar background\" value: 0x232929ff }\n theme_color:{ tags: \"scroll_bar border\" value: 0x3c4a3fff }\n theme_color:{ tags: \"implicit background\" value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" value: 0xffffff1f }\n theme_color:{ tags: \"tab background\" value: 0x243d32ff }\n theme_color:{ tags: \"tab border\" value: 0x597b63ff }\n theme_color:{ tags: \"tab inactive background\" value: 0x30383eff }\n theme_color:{ tags: \"tab inactive border\" value: 0x6b7680ff }\n theme_color:{ tags: \"tab auto background\" value: 0x30636dff }\n theme_color:{ tags: \"tab auto border\" value: 0x768f94ff }\n theme_color:{ tags: \"tab auto inactive background\" value: 0x2f2633ff }\n theme_color:{ tags: \"tab auto inactive border\" value: 0x685073ff }\n theme_color:{ tags: \"drop_site background\" value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" value: 0xffffff0f }\n}\n"), +str8_lit_comp("theme:\n{\n theme_color:{ tags: background , value: 0x1b1f22ff }\n theme_color:{ tags: \"alt background\" , value: 0x232929ff }\n theme_color:{ tags: \"pop background\" , value: 0x2f4838ff }\n theme_color:{ tags: \"fresh background\" , value: 0x31393dff }\n theme_color:{ tags: \"match background\" , value: 0x31393dff }\n theme_color:{ tags: border , value: 0x485347ff }\n theme_color:{ tags: text , value: 0xffffffff }\n theme_color:{ tags: \"weak text\" , value: 0xa2a2a2ff }\n theme_color:{ tags: \"good text\" , value: 0x32a852ff }\n theme_color:{ tags: \"neutral text\" , value: 0x3a90bbff }\n theme_color:{ tags: \"bad text\" , value: 0xcf5242ff }\n theme_color:{ tags: hover , value: 0xffffffff }\n theme_color:{ tags: \"focus overlay\" , value: 0xfda20012 }\n theme_color:{ tags: \"focus border\" , value: 0xfda200ff }\n theme_color:{ tags: cursor , value: 0x8aff00ff }\n theme_color:{ tags: selection , value: 0x99ccff0f }\n theme_color:{ tags: \"inactive background\" , value: 0x0 }\n theme_color:{ tags: drop_shadow , value: 0x0000007f }\n theme_color:{ tags: \"good_pop background\" , value: 0x2c5b36ff }\n theme_color:{ tags: \"good_pop border\" , value: 0x568761ff }\n theme_color:{ tags: \"good_pop hover\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"good_pop weak text\" , value: 0xe3f5d3ff }\n theme_color:{ tags: \"bad_pop background\" , value: 0x803425ff }\n theme_color:{ tags: \"bad_pop hover\" , value: 0xff825cff }\n theme_color:{ tags: code_default , value: 0xad8b69ff }\n theme_color:{ tags: code_symbol , value: 0x87ad6aff }\n theme_color:{ tags: code_type , value: 0xb67474ff }\n theme_color:{ tags: code_local , value: 0xe9bf95ff }\n theme_color:{ tags: code_register , value: 0xa688b2ff }\n theme_color:{ tags: code_keyword , value: 0xe49e17ff }\n theme_color:{ tags: code_delimiter_or_operator , value: 0x795e43ff }\n theme_color:{ tags: code_numeric , value: 0x98b19eff }\n theme_color:{ tags: code_numeric_alt_digit_group , value: 0x688b71ff }\n theme_color:{ tags: code_string , value: 0x98b19eff }\n theme_color:{ tags: code_meta , value: 0xad5979ff }\n theme_color:{ tags: code_comment , value: 0x52675dff }\n theme_color:{ tags: line_info_0 , value: 0x4f3022ff }\n theme_color:{ tags: line_info_1 , value: 0x4f3e15ff }\n theme_color:{ tags: line_info_2 , value: 0x434e2aff }\n theme_color:{ tags: line_info_3 , value: 0x36241fff }\n theme_color:{ tags: line_info_4 , value: 0x4f3022ff }\n theme_color:{ tags: line_info_5 , value: 0x4f3e15ff }\n theme_color:{ tags: line_info_6 , value: 0x434e2aff }\n theme_color:{ tags: line_info_7 , value: 0x36241fff }\n theme_color:{ tags: thread_0 , value: 0xffc258ff }\n theme_color:{ tags: thread_1 , value: 0x82d331ff }\n theme_color:{ tags: thread_2 , value: 0xff99e5ff }\n theme_color:{ tags: thread_3 , value: 0x6598ffff }\n theme_color:{ tags: thread_4 , value: 0x65ffcbff }\n theme_color:{ tags: thread_5 , value: 0xff9819ff }\n theme_color:{ tags: thread_6 , value: 0x9932ffff }\n theme_color:{ tags: thread_7 , value: 0x65ff4cff }\n theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff }\n theme_color:{ tags: thread_error , value: 0xb23219ff }\n theme_color:{ tags: breakpoint , value: 0xa72911ff }\n theme_color:{ tags: \"floating background\" , value: 0x1b1f2276 }\n theme_color:{ tags: \"floating background alt\" , value: 0x0000005f }\n theme_color:{ tags: \"floating background fresh\" , value: 0x31393d5f }\n theme_color:{ tags: \"floating border\" , value: 0xbfbfbf1f }\n theme_color:{ tags: \"floating scroll_bar background\" , value: 0x3b3b3b5f }\n theme_color:{ tags: \"floating scroll_bar border\" , value: 0x5f5f5f5f }\n theme_color:{ tags: \"menu_bar background\" , value: 0x243d32ff }\n theme_color:{ tags: \"menu_bar border\" , value: 0x597b63ff }\n theme_color:{ tags: \"scroll_bar background\" , value: 0x232929ff }\n theme_color:{ tags: \"scroll_bar border\" , value: 0x3c4a3fff }\n theme_color:{ tags: \"implicit background\" , value: 0x00000000 }\n theme_color:{ tags: \"implicit border\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow background\" , value: 0x00000000 }\n theme_color:{ tags: \"hollow border\" , value: 0xffffff1f }\n theme_color:{ tags: \"tab background\" , value: 0x243d32ff }\n theme_color:{ tags: \"tab border\" , value: 0x597b63ff }\n theme_color:{ tags: \"tab inactive background\" , value: 0x30383eff }\n theme_color:{ tags: \"tab inactive border\" , value: 0x6b7680ff }\n theme_color:{ tags: \"tab auto background\" , value: 0x30636dff }\n theme_color:{ tags: \"tab auto border\" , value: 0x768f94ff }\n theme_color:{ tags: \"tab auto inactive background\" , value: 0x2f2633ff }\n theme_color:{ tags: \"tab auto inactive border\" , value: 0x685073ff }\n theme_color:{ tags: \"drop_site background\" , value: 0xffffff05 }\n theme_color:{ tags: \"drop_site border\" , value: 0xffffff0f }\n}\n"), str8_lit_comp(""), }; diff --git a/src/raddbg/raddbg.mdesk b/src/raddbg/raddbg.mdesk index 144360df..716ad1b4 100644 --- a/src/raddbg/raddbg.mdesk +++ b/src/raddbg/raddbg.mdesk @@ -237,10 +237,7 @@ RD_VocabTable: 'code_font': string, //- rjf: theme - @no_expand @display_name('User Theme Preset') @description("The selected built-in theme preset.") - 'theme_preset': string, - @no_expand @no_expand @display_name('User Theme File') @description("The path from which theme data is loaded, overriding the preset.") - 'theme_file': path, + @no_expand 'theme': string, @display_name('User Theme') @description("The user's theme, which describes all colors used throughout the UI.") 'theme_colors': query, @@ -291,10 +288,7 @@ RD_VocabTable: @default(2) @display_name('Project Tab Width') 'tab_width': @range[1, 32] u64, //- rjf: theme - @no_expand @display_name('Project Theme Preset') @description("The selected built-in project theme preset.") - 'theme_preset': string, - @no_expand @display_name('Project Theme File') @description("The path from which project's theme data is loaded, overriding the preset.") - 'theme_file': path, + @no_expand 'theme': string, @display_name('Project Theme') @description("The project's theme, which describes all colors used throughout the UI, and can override the user's theme.") 'theme_colors': query, @@ -982,7 +976,7 @@ RD_CmdTable: // | | | | {AddFilePathMap 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 0 0 FileOutline "add_file_path_map" "Add File Path Map" "Adds a new file path map." "" "" } //- rjf: themes - {OpenTheme 0 0 0 0 `folder:\\"$input\\"` FilePath null Nil Null 1 0 0 0 0 1 1 Palette "open_theme" "Open Theme" "Opens a theme file." "color" "" } + {OpenTheme 0 0 0 0 "query:themes" String null Nil Null 1 0 0 0 0 1 1 Palette "open_theme" "Open Theme" "Opens a theme." "color" "" } {AddThemeColor 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 0 0 Palette "add_theme_color" "Add Theme Color" "Adds a new theme color." "" "" } {ForkLoadedTheme 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 0 0 Palette "fork_loaded_theme" "Fork Loaded Theme" "Imports all colors from the loaded color theme file or color theme preset, so they can be individually edited." "" "" } {SaveTheme 0 0 0 0 "" String null Nil Null 1 0 0 0 0 1 1 Save "save_theme" "Save Theme" "Saves all theme colors to a new theme file." "" "" } @@ -1456,95 +1450,95 @@ RD_ThemePresetTable: { DefaultLight default_light "Default (Light)", ```theme: { - theme_color:{ tags: background value: 0xffffffff } - theme_color:{ tags: "alt background" value: 0xf8f8f8ff } - theme_color:{ tags: "pop background" value: 0xcbe4f2ff } - theme_color:{ tags: "menu_bar pop background" value: 0x5aabd9ff } - theme_color:{ tags: "fresh background" value: 0xeaddceff } - theme_color:{ tags: "match background" value: 0xc1e9c4ff } - theme_color:{ tags: border value: 0xcbcbcbff } - theme_color:{ tags: text value: 0xff } - theme_color:{ tags: "weak text" value: 0x727272ff } - theme_color:{ tags: "good text" value: 0x217538ff } - theme_color:{ tags: "neutral text" value: 0x1a5b7cff } - theme_color:{ tags: "bad text" value: 0x972717ff } - theme_color:{ tags: hover value: 0xff } - theme_color:{ tags: "focus overlay" value: 0x67ff4b } - theme_color:{ tags: "focus border" value: 0x67ffff } - theme_color:{ tags: cursor value: 0xff } - theme_color:{ tags: selection value: 0x283d5166 } - theme_color:{ tags: "inactive background" value: 0x8 } - theme_color:{ tags: drop_shadow value: 0xb } - theme_color:{ tags: "good_pop background" value: 0x90c09aff } - theme_color:{ tags: "good_pop border" value: 0x1e7231ff } - theme_color:{ tags: "good_pop hover" value: 0xe3f5d3ff } - theme_color:{ tags: "good_pop weak text" value: 0xe3f5d3ff } - theme_color:{ tags: "good_pop text" value: 0xe3f5d3ff } - theme_color:{ tags: "bad_pop background" value: 0xa93620ff } - theme_color:{ tags: "bad_pop text" value: 0xffffffff } - theme_color:{ tags: "bad_pop text weak" value: 0xffffffff } - theme_color:{ tags: "menu_bar bad_pop background" value: 0xff2a00ff } - theme_color:{ tags: "menu_bar bad_pop text" value: 0xffffffff } - theme_color:{ tags: "bad_pop hover" value: 0xff825cff } - theme_color:{ tags: code_default value: 0x80808ff } - theme_color:{ tags: code_symbol value: 0x4ac3ff } - theme_color:{ tags: code_type value: 0xf46200ff } - theme_color:{ tags: code_local value: 0x317c00ff } - theme_color:{ tags: code_register value: 0x9a00ffff } - theme_color:{ tags: code_keyword value: 0xff0600ff } - theme_color:{ tags: code_delimiter_or_operator value: 0x8a8a8aff } - theme_color:{ tags: code_numeric value: 0x7d49ff } - theme_color:{ tags: code_numeric_alt_digit_group value: 0xb56aff } - theme_color:{ tags: code_string value: 0x63549fff } - theme_color:{ tags: code_meta value: 0xd96759ff } - theme_color:{ tags: code_comment value: 0x717171ff } - theme_color:{ tags: line_info_0 value: 0xe6d5cdff } - theme_color:{ tags: line_info_1 value: 0xdbcfb2ff } - theme_color:{ tags: line_info_2 value: 0xddeac1ff } - theme_color:{ tags: line_info_3 value: 0xddc4bdff } - theme_color:{ tags: line_info_4 value: 0xba917eff } - theme_color:{ tags: thread_0 value: 0xffa700ff } - theme_color:{ tags: thread_1 value: 0xb41fff } - theme_color:{ tags: thread_2 value: 0xff99e5ff } - theme_color:{ tags: thread_3 value: 0x6598ffff } - theme_color:{ tags: thread_4 value: 0x65ffcbff } - theme_color:{ tags: thread_5 value: 0xff9819ff } - theme_color:{ tags: thread_6 value: 0x9932ffff } - theme_color:{ tags: thread_7 value: 0x65ff4cff } - theme_color:{ tags: thread_unwound value: 0xb2ccd8ff } - theme_color:{ tags: thread_error value: 0xb23219ff } - theme_color:{ tags: breakpoint value: 0xff2800ff } - theme_color:{ tags: "floating background" value: 0xffffffc7 } - theme_color:{ tags: "floating background alt" value: 0x23 } - theme_color:{ tags: "floating background fresh" value: 0xeaddceff } - theme_color:{ tags: "floating border" value: 0x88888884 } - theme_color:{ tags: "scroll_bar background" value: 0xe9e9e9ff } - theme_color:{ tags: "scroll_bar border" value: 0x5f5f5f5f } - theme_color:{ tags: "floating scroll_bar background" value: 0xe9e9e9ff } - theme_color:{ tags: "floating scroll_bar border" value: 0x5f5f5f5f } - theme_color:{ tags: "menu_bar background" value: 0x2b6b9aff } - theme_color:{ tags: "menu_bar border" value: 0x4d } - theme_color:{ tags: "menu_bar text" value: 0xffffffff } - theme_color:{ tags: "menu_bar text weak" value: 0xffffffff } - theme_color:{ tags: "good menu_bar text" value: 0x70db8dff } - theme_color:{ tags: "bad menu_bar text" value: 0xffa79bff } - theme_color:{ tags: "neutral menu_bar text" value: 0xc4dbe7ff } - theme_color:{ tags: "implicit background" value: 0x00000000 } - theme_color:{ tags: "implicit border" value: 0x00000000 } - theme_color:{ tags: "hollow background" value: 0x00000000 } - theme_color:{ tags: "hollow border" value: 0xffffff1f } - theme_color:{ tags: "tab text" value: 0xffffffff } - theme_color:{ tags: "tab text weak" value: 0xffffffff } - theme_color:{ tags: "tab background" value: 0xb67e48ff } - theme_color:{ tags: "tab border" value: 0x875b31ff } - theme_color:{ tags: "tab inactive background" value: 0xcacacaff } - theme_color:{ tags: "tab inactive border" value: 0xb5b5b5ff } - theme_color:{ tags: "tab auto background" value: 0xc41c69ff } - theme_color:{ tags: "tab auto border" value: 0x981039ff } - theme_color:{ tags: "tab auto inactive background" value: 0x9b88a3ff } - theme_color:{ tags: "tab auto inactive border" value: 0x373737ff } - theme_color:{ tags: "drop_site background" value: 0xffffff05 } - theme_color:{ tags: "drop_site border" value: 0xffffff0f } + theme_color:{ tags: background , value: 0xffffffff } + theme_color:{ tags: "alt background" , value: 0xf8f8f8ff } + theme_color:{ tags: "pop background" , value: 0xcbe4f2ff } + theme_color:{ tags: "menu_bar pop background" , value: 0x5aabd9ff } + theme_color:{ tags: "fresh background" , value: 0xeaddceff } + theme_color:{ tags: "match background" , value: 0xc1e9c4ff } + theme_color:{ tags: border , value: 0xcbcbcbff } + theme_color:{ tags: text , value: 0xff } + theme_color:{ tags: "weak text" , value: 0x727272ff } + theme_color:{ tags: "good text" , value: 0x217538ff } + theme_color:{ tags: "neutral text" , value: 0x1a5b7cff } + theme_color:{ tags: "bad text" , value: 0x972717ff } + theme_color:{ tags: hover , value: 0xff } + theme_color:{ tags: "focus overlay" , value: 0x67ff4b } + theme_color:{ tags: "focus border" , value: 0x67ffff } + theme_color:{ tags: cursor , value: 0xff } + theme_color:{ tags: selection , value: 0x283d5166 } + theme_color:{ tags: "inactive background" , value: 0x8 } + theme_color:{ tags: drop_shadow , value: 0xb } + theme_color:{ tags: "good_pop background" , value: 0x90c09aff } + theme_color:{ tags: "good_pop border" , value: 0x1e7231ff } + theme_color:{ tags: "good_pop hover" , value: 0xe3f5d3ff } + theme_color:{ tags: "good_pop weak text" , value: 0xe3f5d3ff } + theme_color:{ tags: "good_pop text" , value: 0xe3f5d3ff } + theme_color:{ tags: "bad_pop background" , value: 0xa93620ff } + theme_color:{ tags: "bad_pop text" , value: 0xffffffff } + theme_color:{ tags: "bad_pop text weak" , value: 0xffffffff } + theme_color:{ tags: "menu_bar bad_pop background" , value: 0xff2a00ff } + theme_color:{ tags: "menu_bar bad_pop text" , value: 0xffffffff } + theme_color:{ tags: "bad_pop hover" , value: 0xff825cff } + theme_color:{ tags: code_default , value: 0x80808ff } + theme_color:{ tags: code_symbol , value: 0x4ac3ff } + theme_color:{ tags: code_type , value: 0xf46200ff } + theme_color:{ tags: code_local , value: 0x317c00ff } + theme_color:{ tags: code_register , value: 0x9a00ffff } + theme_color:{ tags: code_keyword , value: 0xff0600ff } + theme_color:{ tags: code_delimiter_or_operator , value: 0x8a8a8aff } + theme_color:{ tags: code_numeric , value: 0x7d49ff } + theme_color:{ tags: code_numeric_alt_digit_group , value: 0xb56aff } + theme_color:{ tags: code_string , value: 0x63549fff } + theme_color:{ tags: code_meta , value: 0xd96759ff } + theme_color:{ tags: code_comment , value: 0x717171ff } + theme_color:{ tags: line_info_0 , value: 0xe6d5cdff } + theme_color:{ tags: line_info_1 , value: 0xdbcfb2ff } + theme_color:{ tags: line_info_2 , value: 0xddeac1ff } + theme_color:{ tags: line_info_3 , value: 0xddc4bdff } + theme_color:{ tags: line_info_4 , value: 0xba917eff } + theme_color:{ tags: thread_0 , value: 0xffa700ff } + theme_color:{ tags: thread_1 , value: 0xb41fff } + theme_color:{ tags: thread_2 , value: 0xff99e5ff } + theme_color:{ tags: thread_3 , value: 0x6598ffff } + theme_color:{ tags: thread_4 , value: 0x65ffcbff } + theme_color:{ tags: thread_5 , value: 0xff9819ff } + theme_color:{ tags: thread_6 , value: 0x9932ffff } + theme_color:{ tags: thread_7 , value: 0x65ff4cff } + theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff } + theme_color:{ tags: thread_error , value: 0xb23219ff } + theme_color:{ tags: breakpoint , value: 0xff2800ff } + theme_color:{ tags: "floating background" , value: 0xffffffc7 } + theme_color:{ tags: "floating background alt" , value: 0x23 } + theme_color:{ tags: "floating background fresh" , value: 0xeaddceff } + theme_color:{ tags: "floating border" , value: 0x88888884 } + theme_color:{ tags: "scroll_bar background" , value: 0xe9e9e9ff } + theme_color:{ tags: "scroll_bar border" , value: 0x5f5f5f5f } + theme_color:{ tags: "floating scroll_bar background" , value: 0xe9e9e9ff } + theme_color:{ tags: "floating scroll_bar border" , value: 0x5f5f5f5f } + theme_color:{ tags: "menu_bar background" , value: 0x2b6b9aff } + theme_color:{ tags: "menu_bar border" , value: 0x4d } + theme_color:{ tags: "menu_bar text" , value: 0xffffffff } + theme_color:{ tags: "menu_bar text weak" , value: 0xffffffff } + theme_color:{ tags: "good menu_bar text" , value: 0x70db8dff } + theme_color:{ tags: "bad menu_bar text" , value: 0xffa79bff } + theme_color:{ tags: "neutral menu_bar text" , value: 0xc4dbe7ff } + theme_color:{ tags: "implicit background" , value: 0x00000000 } + theme_color:{ tags: "implicit border" , value: 0x00000000 } + theme_color:{ tags: "hollow background" , value: 0x00000000 } + theme_color:{ tags: "hollow border" , value: 0xffffff1f } + theme_color:{ tags: "tab text" , value: 0xffffffff } + theme_color:{ tags: "tab text weak" , value: 0xffffffff } + theme_color:{ tags: "tab background" , value: 0xb67e48ff } + theme_color:{ tags: "tab border" , value: 0x875b31ff } + theme_color:{ tags: "tab inactive background" , value: 0xcacacaff } + theme_color:{ tags: "tab inactive border" , value: 0xb5b5b5ff } + theme_color:{ tags: "tab auto background" , value: 0xc41c69ff } + theme_color:{ tags: "tab auto border" , value: 0x981039ff } + theme_color:{ tags: "tab auto inactive background" , value: 0x9b88a3ff } + theme_color:{ tags: "tab auto inactive border" , value: 0x373737ff } + theme_color:{ tags: "drop_site background" , value: 0xffffff05 } + theme_color:{ tags: "drop_site border" , value: 0xffffff0f } } ``` } @@ -1554,83 +1548,83 @@ RD_ThemePresetTable: VSDark vs_dark "VS (Dark)", ```theme: { - theme_color:{ tags: background value: 0x1f1f1fff } - theme_color:{ tags: "alt background" value: 0x222222ff } - theme_color:{ tags: "pop background" value: 0x383167ff } - theme_color:{ tags: "fresh background" value: 0x31393dff } - theme_color:{ tags: "match background" value: 0x31393dff } - theme_color:{ tags: border value: 0x404040ff } - theme_color:{ tags: text value: 0xe5e5e5ff } - theme_color:{ tags: "weak text" value: 0xa4a4a4ff } - theme_color:{ tags: "good text" value: 0x32a852ff } - theme_color:{ tags: "neutral text" value: 0x3a90bbff } - theme_color:{ tags: "bad text" value: 0xcf5242ff } - theme_color:{ tags: hover value: 0xffffffff } - theme_color:{ tags: "focus overlay" value: 0x7160e81e } - theme_color:{ tags: "focus border" value: 0x7160e8ff } - theme_color:{ tags: cursor value: 0x8aff00ff } - theme_color:{ tags: selection value: 0x99ccff0f } - theme_color:{ tags: "inactive background" value: 0x0000002f } - theme_color:{ tags: drop_shadow value: 0x0000007f } - theme_color:{ tags: "good_pop background" value: 0x2c5b36ff } - theme_color:{ tags: "good_pop border" value: 0x568761ff } - theme_color:{ tags: "good_pop hover" value: 0xe3f5d3ff } - theme_color:{ tags: "good_pop weak text" value: 0xe3f5d3ff } - theme_color:{ tags: "bad_pop background" value: 0x803425ff } - theme_color:{ tags: "bad_pop hover" value: 0xff825cff } - theme_color:{ tags: code_default value: 0xe0e0e0ff } - theme_color:{ tags: code_symbol value: 0xdcdcaaff } - theme_color:{ tags: code_type value: 0x4ec9b0ff } - theme_color:{ tags: code_local value: 0x9cdcfeff } - theme_color:{ tags: code_register value: 0xb7afd5ff } - theme_color:{ tags: code_keyword value: 0x569cd6ff } - theme_color:{ tags: code_delimiter_or_operator value: 0x767676ff } - theme_color:{ tags: code_numeric value: 0xb5cea8ff } - theme_color:{ tags: code_numeric_alt_digit_group value: 0x7c986dff } - theme_color:{ tags: code_string value: 0xd69d85ff } - theme_color:{ tags: code_meta value: 0x9b9b9bff } - theme_color:{ tags: code_comment value: 0x51a644ff } - theme_color:{ tags: line_info_0 value: 0x4f3022ff } - theme_color:{ tags: line_info_1 value: 0x4f3e15ff } - theme_color:{ tags: line_info_2 value: 0x434e2aff } - theme_color:{ tags: line_info_3 value: 0x36241fff } - theme_color:{ tags: line_info_4 value: 0x4f3022ff } - theme_color:{ tags: line_info_5 value: 0x4f3e15ff } - theme_color:{ tags: line_info_6 value: 0x434e2aff } - theme_color:{ tags: line_info_7 value: 0x36241fff } - theme_color:{ tags: thread_0 value: 0xffdc48ff } - theme_color:{ tags: thread_1 value: 0xb2ff65ff } - theme_color:{ tags: thread_2 value: 0xff99e5ff } - theme_color:{ tags: thread_3 value: 0x6598ffff } - theme_color:{ tags: thread_4 value: 0x65ffcbff } - theme_color:{ tags: thread_5 value: 0xff9819ff } - theme_color:{ tags: thread_6 value: 0x9932ffff } - theme_color:{ tags: thread_7 value: 0x65ff4cff } - theme_color:{ tags: thread_unwound value: 0xb2ccd8ff } - theme_color:{ tags: thread_error value: 0xb23219ff } - theme_color:{ tags: breakpoint value: 0xa72911ff } - theme_color:{ tags: "floating background" value: 0x1b1b1baf } - theme_color:{ tags: "floating background alt" value: 0x0000005f } - theme_color:{ tags: "floating background fresh" value: 0x31393d5f } - theme_color:{ tags: "floating border" value: 0xbfbfbf1f } - theme_color:{ tags: "floating scroll_bar background" value: 0x3b3b3b5f } - theme_color:{ tags: "floating scroll_bar border" value: 0x5f5f5f5f } - theme_color:{ tags: "scroll_bar background" value: 0x2b2b2bff } - theme_color:{ tags: "scroll_bar border" value: 0x3f3f3fff } - theme_color:{ tags: "implicit background" value: 0x00000000 } - theme_color:{ tags: "implicit border" value: 0x00000000 } - theme_color:{ tags: "hollow background" value: 0x00000000 } - theme_color:{ tags: "hollow border" value: 0xffffff1f } - theme_color:{ tags: "tab background" value: 0x333333ff } - theme_color:{ tags: "tab border" value: 0x7160e8ff } - theme_color:{ tags: "tab inactive background" value: 0x171717ff } - theme_color:{ tags: "tab inactive border" value: 0x3e4c57ff } - theme_color:{ tags: "tab auto background" value: 0x3f386dff } - theme_color:{ tags: "tab auto border" value: 0x7160e8ff } - theme_color:{ tags: "tab auto inactive background" value: 0x2f2633ff } - theme_color:{ tags: "tab auto inactive border" value: 0x685073ff } - theme_color:{ tags: "drop_site background" value: 0xffffff05 } - theme_color:{ tags: "drop_site border" value: 0xffffff0f } + theme_color:{ tags: background , value: 0x1f1f1fff } + theme_color:{ tags: "alt background" , value: 0x222222ff } + theme_color:{ tags: "pop background" , value: 0x383167ff } + theme_color:{ tags: "fresh background" , value: 0x31393dff } + theme_color:{ tags: "match background" , value: 0x31393dff } + theme_color:{ tags: border , value: 0x404040ff } + theme_color:{ tags: text , value: 0xe5e5e5ff } + theme_color:{ tags: "weak text" , value: 0xa4a4a4ff } + theme_color:{ tags: "good text" , value: 0x32a852ff } + theme_color:{ tags: "neutral text" , value: 0x3a90bbff } + theme_color:{ tags: "bad text" , value: 0xcf5242ff } + theme_color:{ tags: hover , value: 0xffffffff } + theme_color:{ tags: "focus overlay" , value: 0x7160e81e } + theme_color:{ tags: "focus border" , value: 0x7160e8ff } + theme_color:{ tags: cursor , value: 0x8aff00ff } + theme_color:{ tags: selection , value: 0x99ccff0f } + theme_color:{ tags: "inactive background" , value: 0x0000002f } + theme_color:{ tags: drop_shadow , value: 0x0000007f } + theme_color:{ tags: "good_pop background" , value: 0x2c5b36ff } + theme_color:{ tags: "good_pop border" , value: 0x568761ff } + theme_color:{ tags: "good_pop hover" , value: 0xe3f5d3ff } + theme_color:{ tags: "good_pop weak text" , value: 0xe3f5d3ff } + theme_color:{ tags: "bad_pop background" , value: 0x803425ff } + theme_color:{ tags: "bad_pop hover" , value: 0xff825cff } + theme_color:{ tags: code_default , value: 0xe0e0e0ff } + theme_color:{ tags: code_symbol , value: 0xdcdcaaff } + theme_color:{ tags: code_type , value: 0x4ec9b0ff } + theme_color:{ tags: code_local , value: 0x9cdcfeff } + theme_color:{ tags: code_register , value: 0xb7afd5ff } + theme_color:{ tags: code_keyword , value: 0x569cd6ff } + theme_color:{ tags: code_delimiter_or_operator , value: 0x767676ff } + theme_color:{ tags: code_numeric , value: 0xb5cea8ff } + theme_color:{ tags: code_numeric_alt_digit_group , value: 0x7c986dff } + theme_color:{ tags: code_string , value: 0xd69d85ff } + theme_color:{ tags: code_meta , value: 0x9b9b9bff } + theme_color:{ tags: code_comment , value: 0x51a644ff } + theme_color:{ tags: line_info_0 , value: 0x4f3022ff } + theme_color:{ tags: line_info_1 , value: 0x4f3e15ff } + theme_color:{ tags: line_info_2 , value: 0x434e2aff } + theme_color:{ tags: line_info_3 , value: 0x36241fff } + theme_color:{ tags: line_info_4 , value: 0x4f3022ff } + theme_color:{ tags: line_info_5 , value: 0x4f3e15ff } + theme_color:{ tags: line_info_6 , value: 0x434e2aff } + theme_color:{ tags: line_info_7 , value: 0x36241fff } + theme_color:{ tags: thread_0 , value: 0xffdc48ff } + theme_color:{ tags: thread_1 , value: 0xb2ff65ff } + theme_color:{ tags: thread_2 , value: 0xff99e5ff } + theme_color:{ tags: thread_3 , value: 0x6598ffff } + theme_color:{ tags: thread_4 , value: 0x65ffcbff } + theme_color:{ tags: thread_5 , value: 0xff9819ff } + theme_color:{ tags: thread_6 , value: 0x9932ffff } + theme_color:{ tags: thread_7 , value: 0x65ff4cff } + theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff } + theme_color:{ tags: thread_error , value: 0xb23219ff } + theme_color:{ tags: breakpoint , value: 0xa72911ff } + theme_color:{ tags: "floating background" , value: 0x1b1b1baf } + theme_color:{ tags: "floating background alt" , value: 0x0000005f } + theme_color:{ tags: "floating background fresh" , value: 0x31393d5f } + theme_color:{ tags: "floating border" , value: 0xbfbfbf1f } + theme_color:{ tags: "floating scroll_bar background" , value: 0x3b3b3b5f } + theme_color:{ tags: "floating scroll_bar border" , value: 0x5f5f5f5f } + theme_color:{ tags: "scroll_bar background" , value: 0x2b2b2bff } + theme_color:{ tags: "scroll_bar border" , value: 0x3f3f3fff } + theme_color:{ tags: "implicit background" , value: 0x00000000 } + theme_color:{ tags: "implicit border" , value: 0x00000000 } + theme_color:{ tags: "hollow background" , value: 0x00000000 } + theme_color:{ tags: "hollow border" , value: 0xffffff1f } + theme_color:{ tags: "tab background" , value: 0x333333ff } + theme_color:{ tags: "tab border" , value: 0x7160e8ff } + theme_color:{ tags: "tab inactive background" , value: 0x171717ff } + theme_color:{ tags: "tab inactive border" , value: 0x3e4c57ff } + theme_color:{ tags: "tab auto background" , value: 0x3f386dff } + theme_color:{ tags: "tab auto border" , value: 0x7160e8ff } + theme_color:{ tags: "tab auto inactive background" , value: 0x2f2633ff } + theme_color:{ tags: "tab auto inactive border" , value: 0x685073ff } + theme_color:{ tags: "drop_site background" , value: 0xffffff05 } + theme_color:{ tags: "drop_site border" , value: 0xffffff0f } } ``` } @@ -1646,85 +1640,85 @@ RD_ThemePresetTable: { Grove grove "Grove", ```theme: { - theme_color:{ tags: background value: 0x1b1f22ff } - theme_color:{ tags: "alt background" value: 0x232929ff } - theme_color:{ tags: "pop background" value: 0x2f4838ff } - theme_color:{ tags: "fresh background" value: 0x31393dff } - theme_color:{ tags: "match background" value: 0x31393dff } - theme_color:{ tags: border value: 0x485347ff } - theme_color:{ tags: text value: 0xffffffff } - theme_color:{ tags: "weak text" value: 0xa2a2a2ff } - theme_color:{ tags: "good text" value: 0x32a852ff } - theme_color:{ tags: "neutral text" value: 0x3a90bbff } - theme_color:{ tags: "bad text" value: 0xcf5242ff } - theme_color:{ tags: hover value: 0xffffffff } - theme_color:{ tags: "focus overlay" value: 0xfda20012 } - theme_color:{ tags: "focus border" value: 0xfda200ff } - theme_color:{ tags: cursor value: 0x8aff00ff } - theme_color:{ tags: selection value: 0x99ccff0f } - theme_color:{ tags: "inactive background" value: 0x0 } - theme_color:{ tags: drop_shadow value: 0x0000007f } - theme_color:{ tags: "good_pop background" value: 0x2c5b36ff } - theme_color:{ tags: "good_pop border" value: 0x568761ff } - theme_color:{ tags: "good_pop hover" value: 0xe3f5d3ff } - theme_color:{ tags: "good_pop weak text" value: 0xe3f5d3ff } - theme_color:{ tags: "bad_pop background" value: 0x803425ff } - theme_color:{ tags: "bad_pop hover" value: 0xff825cff } - theme_color:{ tags: code_default value: 0xad8b69ff } - theme_color:{ tags: code_symbol value: 0x87ad6aff } - theme_color:{ tags: code_type value: 0xb67474ff } - theme_color:{ tags: code_local value: 0xe9bf95ff } - theme_color:{ tags: code_register value: 0xa688b2ff } - theme_color:{ tags: code_keyword value: 0xe49e17ff } - theme_color:{ tags: code_delimiter_or_operator value: 0x795e43ff } - theme_color:{ tags: code_numeric value: 0x98b19eff } - theme_color:{ tags: code_numeric_alt_digit_group value: 0x688b71ff } - theme_color:{ tags: code_string value: 0x98b19eff } - theme_color:{ tags: code_meta value: 0xad5979ff } - theme_color:{ tags: code_comment value: 0x52675dff } - theme_color:{ tags: line_info_0 value: 0x4f3022ff } - theme_color:{ tags: line_info_1 value: 0x4f3e15ff } - theme_color:{ tags: line_info_2 value: 0x434e2aff } - theme_color:{ tags: line_info_3 value: 0x36241fff } - theme_color:{ tags: line_info_4 value: 0x4f3022ff } - theme_color:{ tags: line_info_5 value: 0x4f3e15ff } - theme_color:{ tags: line_info_6 value: 0x434e2aff } - theme_color:{ tags: line_info_7 value: 0x36241fff } - theme_color:{ tags: thread_0 value: 0xffc258ff } - theme_color:{ tags: thread_1 value: 0x82d331ff } - theme_color:{ tags: thread_2 value: 0xff99e5ff } - theme_color:{ tags: thread_3 value: 0x6598ffff } - theme_color:{ tags: thread_4 value: 0x65ffcbff } - theme_color:{ tags: thread_5 value: 0xff9819ff } - theme_color:{ tags: thread_6 value: 0x9932ffff } - theme_color:{ tags: thread_7 value: 0x65ff4cff } - theme_color:{ tags: thread_unwound value: 0xb2ccd8ff } - theme_color:{ tags: thread_error value: 0xb23219ff } - theme_color:{ tags: breakpoint value: 0xa72911ff } - theme_color:{ tags: "floating background" value: 0x1b1f2276 } - theme_color:{ tags: "floating background alt" value: 0x0000005f } - theme_color:{ tags: "floating background fresh" value: 0x31393d5f } - theme_color:{ tags: "floating border" value: 0xbfbfbf1f } - theme_color:{ tags: "floating scroll_bar background" value: 0x3b3b3b5f } - theme_color:{ tags: "floating scroll_bar border" value: 0x5f5f5f5f } - theme_color:{ tags: "menu_bar background" value: 0x243d32ff } - theme_color:{ tags: "menu_bar border" value: 0x597b63ff } - theme_color:{ tags: "scroll_bar background" value: 0x232929ff } - theme_color:{ tags: "scroll_bar border" value: 0x3c4a3fff } - theme_color:{ tags: "implicit background" value: 0x00000000 } - theme_color:{ tags: "implicit border" value: 0x00000000 } - theme_color:{ tags: "hollow background" value: 0x00000000 } - theme_color:{ tags: "hollow border" value: 0xffffff1f } - theme_color:{ tags: "tab background" value: 0x243d32ff } - theme_color:{ tags: "tab border" value: 0x597b63ff } - theme_color:{ tags: "tab inactive background" value: 0x30383eff } - theme_color:{ tags: "tab inactive border" value: 0x6b7680ff } - theme_color:{ tags: "tab auto background" value: 0x30636dff } - theme_color:{ tags: "tab auto border" value: 0x768f94ff } - theme_color:{ tags: "tab auto inactive background" value: 0x2f2633ff } - theme_color:{ tags: "tab auto inactive border" value: 0x685073ff } - theme_color:{ tags: "drop_site background" value: 0xffffff05 } - theme_color:{ tags: "drop_site border" value: 0xffffff0f } + theme_color:{ tags: background , value: 0x1b1f22ff } + theme_color:{ tags: "alt background" , value: 0x232929ff } + theme_color:{ tags: "pop background" , value: 0x2f4838ff } + theme_color:{ tags: "fresh background" , value: 0x31393dff } + theme_color:{ tags: "match background" , value: 0x31393dff } + theme_color:{ tags: border , value: 0x485347ff } + theme_color:{ tags: text , value: 0xffffffff } + theme_color:{ tags: "weak text" , value: 0xa2a2a2ff } + theme_color:{ tags: "good text" , value: 0x32a852ff } + theme_color:{ tags: "neutral text" , value: 0x3a90bbff } + theme_color:{ tags: "bad text" , value: 0xcf5242ff } + theme_color:{ tags: hover , value: 0xffffffff } + theme_color:{ tags: "focus overlay" , value: 0xfda20012 } + theme_color:{ tags: "focus border" , value: 0xfda200ff } + theme_color:{ tags: cursor , value: 0x8aff00ff } + theme_color:{ tags: selection , value: 0x99ccff0f } + theme_color:{ tags: "inactive background" , value: 0x0 } + theme_color:{ tags: drop_shadow , value: 0x0000007f } + theme_color:{ tags: "good_pop background" , value: 0x2c5b36ff } + theme_color:{ tags: "good_pop border" , value: 0x568761ff } + theme_color:{ tags: "good_pop hover" , value: 0xe3f5d3ff } + theme_color:{ tags: "good_pop weak text" , value: 0xe3f5d3ff } + theme_color:{ tags: "bad_pop background" , value: 0x803425ff } + theme_color:{ tags: "bad_pop hover" , value: 0xff825cff } + theme_color:{ tags: code_default , value: 0xad8b69ff } + theme_color:{ tags: code_symbol , value: 0x87ad6aff } + theme_color:{ tags: code_type , value: 0xb67474ff } + theme_color:{ tags: code_local , value: 0xe9bf95ff } + theme_color:{ tags: code_register , value: 0xa688b2ff } + theme_color:{ tags: code_keyword , value: 0xe49e17ff } + theme_color:{ tags: code_delimiter_or_operator , value: 0x795e43ff } + theme_color:{ tags: code_numeric , value: 0x98b19eff } + theme_color:{ tags: code_numeric_alt_digit_group , value: 0x688b71ff } + theme_color:{ tags: code_string , value: 0x98b19eff } + theme_color:{ tags: code_meta , value: 0xad5979ff } + theme_color:{ tags: code_comment , value: 0x52675dff } + theme_color:{ tags: line_info_0 , value: 0x4f3022ff } + theme_color:{ tags: line_info_1 , value: 0x4f3e15ff } + theme_color:{ tags: line_info_2 , value: 0x434e2aff } + theme_color:{ tags: line_info_3 , value: 0x36241fff } + theme_color:{ tags: line_info_4 , value: 0x4f3022ff } + theme_color:{ tags: line_info_5 , value: 0x4f3e15ff } + theme_color:{ tags: line_info_6 , value: 0x434e2aff } + theme_color:{ tags: line_info_7 , value: 0x36241fff } + theme_color:{ tags: thread_0 , value: 0xffc258ff } + theme_color:{ tags: thread_1 , value: 0x82d331ff } + theme_color:{ tags: thread_2 , value: 0xff99e5ff } + theme_color:{ tags: thread_3 , value: 0x6598ffff } + theme_color:{ tags: thread_4 , value: 0x65ffcbff } + theme_color:{ tags: thread_5 , value: 0xff9819ff } + theme_color:{ tags: thread_6 , value: 0x9932ffff } + theme_color:{ tags: thread_7 , value: 0x65ff4cff } + theme_color:{ tags: thread_unwound , value: 0xb2ccd8ff } + theme_color:{ tags: thread_error , value: 0xb23219ff } + theme_color:{ tags: breakpoint , value: 0xa72911ff } + theme_color:{ tags: "floating background" , value: 0x1b1f2276 } + theme_color:{ tags: "floating background alt" , value: 0x0000005f } + theme_color:{ tags: "floating background fresh" , value: 0x31393d5f } + theme_color:{ tags: "floating border" , value: 0xbfbfbf1f } + theme_color:{ tags: "floating scroll_bar background" , value: 0x3b3b3b5f } + theme_color:{ tags: "floating scroll_bar border" , value: 0x5f5f5f5f } + theme_color:{ tags: "menu_bar background" , value: 0x243d32ff } + theme_color:{ tags: "menu_bar border" , value: 0x597b63ff } + theme_color:{ tags: "scroll_bar background" , value: 0x232929ff } + theme_color:{ tags: "scroll_bar border" , value: 0x3c4a3fff } + theme_color:{ tags: "implicit background" , value: 0x00000000 } + theme_color:{ tags: "implicit border" , value: 0x00000000 } + theme_color:{ tags: "hollow background" , value: 0x00000000 } + theme_color:{ tags: "hollow border" , value: 0xffffff1f } + theme_color:{ tags: "tab background" , value: 0x243d32ff } + theme_color:{ tags: "tab border" , value: 0x597b63ff } + theme_color:{ tags: "tab inactive background" , value: 0x30383eff } + theme_color:{ tags: "tab inactive border" , value: 0x6b7680ff } + theme_color:{ tags: "tab auto background" , value: 0x30636dff } + theme_color:{ tags: "tab auto border" , value: 0x768f94ff } + theme_color:{ tags: "tab auto inactive background" , value: 0x2f2633ff } + theme_color:{ tags: "tab auto inactive border" , value: 0x685073ff } + theme_color:{ tags: "drop_site background" , value: 0xffffff05 } + theme_color:{ tags: "drop_site border" , value: 0xffffff0f } } ``` } diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index 14b081d4..a0564612 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -3307,6 +3307,11 @@ rd_view_ui(Rng2F32 rect) String8 cmd_name = rd_cmd_name_from_eval(eval); rd_cmd(RD_CmdKind_CompleteQuery, .cmd_name = cmd_name); }break; + case RD_EvalSpaceKind_MetaTheme: + { + String8 name = e_string_from_id(eval.value.u64); + rd_cmd(RD_CmdKind_CompleteQuery, .string = name); + }break; } // rjf: if we do not have a specific command, then we can just @@ -5754,11 +5759,8 @@ rd_window_frame(void) { HS_Scope *hs_scope = hs_scope_open(); - //- rjf: for this window, scan upwards, and then try the project, then the user, until we - // find explicit preset / colors trees in the config. we will prefer the tightest ones, so - // that windows can have their own colors, and have those override higher-up settings. - RD_Cfg *preset_cfg = &rd_nil_cfg; - RD_Cfg *file_cfg = &rd_nil_cfg; + //- rjf: try to find theme settings from the project, then the user. + RD_Cfg *theme_cfg = &rd_nil_cfg; RD_CfgList colors_cfgs = {0}; RD_Cfg *theme_parents[] = { @@ -5774,20 +5776,12 @@ rd_window_frame(void) for EachIndex(idx, theme_parents_count) { RD_Cfg *parent_cfg = theme_parents[idx]; - if(preset_cfg == &rd_nil_cfg) + if(theme_cfg == &rd_nil_cfg) { - RD_Cfg *possible_preset_cfg = rd_cfg_child_from_string(parent_cfg, str8_lit("theme_preset")); - if(possible_preset_cfg != &rd_nil_cfg) + RD_Cfg *possible_theme_cfg = rd_cfg_child_from_string(parent_cfg, str8_lit("theme")); + if(possible_theme_cfg != &rd_nil_cfg) { - preset_cfg = possible_preset_cfg; - } - } - if(file_cfg == &rd_nil_cfg) - { - RD_Cfg *possible_file_cfg = rd_cfg_child_from_string(parent_cfg, str8_lit("theme_file")); - if(possible_file_cfg != &rd_nil_cfg) - { - file_cfg = possible_file_cfg; + theme_cfg = possible_theme_cfg; } } for(RD_Cfg *child = parent_cfg->first; child != &rd_nil_cfg; child = child->next) @@ -5799,36 +5793,36 @@ rd_window_frame(void) } } - //- rjf: map the preset config to the associated preset tree - MD_Node *preset_tree = rd_state->theme_preset_trees[RD_ThemePreset_DefaultDark]; - if(preset_cfg != &rd_nil_cfg) + //- rjf: map the theme config to the associated tree (either from a preset, or from a file) + MD_Node *theme_tree = rd_state->theme_preset_trees[RD_ThemePreset_DefaultDark]; + if(theme_cfg != &rd_nil_cfg) { - String8 preset_name = preset_cfg->first->string; - for EachEnumVal(RD_ThemePreset, p) + String8 theme_name = theme_cfg->first->string; + if(theme_name.size != 0) { - if(str8_match(preset_name, rd_theme_preset_code_string_table[p], 0)) + for EachEnumVal(RD_ThemePreset, p) { - preset_tree = rd_state->theme_preset_trees[p]; - break; + if(str8_match(theme_name, rd_theme_preset_display_string_table[p], 0)) + { + theme_tree = rd_state->theme_preset_trees[p]; + break; + } + } + if(theme_tree == &md_nil_node) + { + String8 path = push_str8f(scratch.arena, "%S/raddbg/themes/%S", os_get_process_info()->user_program_data_path, theme_name); + U64 endt_us = os_now_microseconds()+100; + if(ws->frames_alive == 0) + { + endt_us = os_now_microseconds()+50000; + } + U128 hash = fs_hash_from_path_range(path, r1u64(0, max_U64), endt_us); + String8 data = hs_data_from_hash(hs_scope, hash); + theme_tree = md_tree_from_string(scratch.arena, data); } } } - //- rjf: map the file config to the associated theme file parse - MD_Node *file_tree = &md_nil_node; - if(file_cfg != &rd_nil_cfg) - { - String8 path = file_cfg->first->string; - U64 endt_us = os_now_microseconds()+100; - if(ws->frames_alive == 0) - { - endt_us = os_now_microseconds()+50000; - } - U128 hash = fs_hash_from_path_range(path, r1u64(0, max_U64), endt_us); - String8 data = hs_data_from_hash(hs_scope, hash); - file_tree = md_tree_from_string(scratch.arena, data); - } - //- rjf: build tasks for color applications - each task comprises of a metadesk // tree, describing the color patterns typedef struct ThemeTask ThemeTask; @@ -5837,7 +5831,7 @@ rd_window_frame(void) ThemeTask *next; MD_Node *tree; }; - ThemeTask start_task = {0, !md_node_is_nil(file_tree) ? file_tree : preset_tree}; + ThemeTask start_task = {0, theme_tree}; ThemeTask *first_task = &start_task; ThemeTask *last_task = first_task; { @@ -14666,8 +14660,8 @@ rd_frame(void) case RD_CmdKind_OpenTheme: { RD_Cfg *user = rd_cfg_child_from_string(rd_state->root_cfg, str8_lit("user")); - RD_Cfg *theme_file = rd_cfg_child_from_string_or_alloc(user, str8_lit("theme_file")); - rd_cfg_new_replace(theme_file, rd_regs()->file_path); + RD_Cfg *theme = rd_cfg_child_from_string_or_alloc(user, str8_lit("theme")); + rd_cfg_new_replace(theme, rd_regs()->string); }break; case RD_CmdKind_AddThemeColor: {