diff --git a/custom/4coder_config.cpp b/custom/4coder_config.cpp index b013bb91..337914ae 100644 --- a/custom/4coder_config.cpp +++ b/custom/4coder_config.cpp @@ -1419,6 +1419,17 @@ theme_parse__data(Application_Links *app, Arena *arena, String_Const_u8 file_nam return(parsed); } +function Config* +theme_parse__buffer(Application_Links *app, Arena *arena, Buffer_ID buffer, Arena *color_arena, Color_Table *color_table){ + String_Const_u8 contents = push_whole_buffer(app, arena, buffer); + Config *parsed = 0; + if (contents.str != 0){ + String_Const_u8 file_name = push_buffer_file_name(app, arena, buffer); + parsed = theme_parse__data(app, arena, file_name, contents, color_arena, color_table); + } + return(parsed); +} + function Config* theme_parse__file_handle(Application_Links *app, Arena *arena, String_Const_u8 file_name, FILE *file, Arena *color_arena, Color_Table *color_table){ Data data = dump_file_handle(arena, file); @@ -1608,6 +1619,35 @@ load_theme_file_into_live_set(Application_Links *app, char *file_name){ save_theme(color_table, name); } +CUSTOM_COMMAND_SIG(load_theme_current_buffer) +CUSTOM_DOC("Parse the current buffer as a theme file and add the theme to the theme list. If the buffer has a .4coder postfix in it's name, it is removed when the name is saved.") +{ + View_ID view = get_active_view(app, Access_ReadVisible); + Buffer_ID buffer = view_get_buffer(app, view, Access_ReadVisible); + + Scratch_Block scratch(app); + String_Const_u8 file_name = push_buffer_file_name(app, scratch, buffer); + if (file_name.size > 0){ + Arena *arena = &global_theme_arena; + Color_Table color_table = make_color_table(app, arena); + Scratch_Block scratch(app); + Config *config = theme_parse__buffer(app, scratch, buffer, arena, &color_table); + String_Const_u8 error_text = config_stringize_errors(app, scratch, config); + print_message(app, error_text); + + String_Const_u8 name = string_front_of_path(file_name); + if (string_match(string_postfix(name, 7), string_u8_litexpr(".4coder"))){ + name = string_chop(name, 7); + } + save_theme(color_table, name); + + Color_Table_Node *node = global_theme_list.last; + if (node != 0 && string_match(node->name, name)){ + active_color_table = node->table; + } + } +} + function void load_folder_of_themes_into_live_set(Application_Links *app, String_Const_u8 path){ Scratch_Block scratch(app, Scratch_Share); diff --git a/custom/generated/command_metadata.h b/custom/generated/command_metadata.h index 9f806e50..8167c98d 100644 --- a/custom/generated/command_metadata.h +++ b/custom/generated/command_metadata.h @@ -2,7 +2,7 @@ #define command_id(c) (fcoder_metacmd_ID_##c) #define command_metadata(c) (&fcoder_metacmd_table[command_id(c)]) #define command_metadata_by_id(id) (&fcoder_metacmd_table[id]) -#define command_one_past_last_id 230 +#define command_one_past_last_id 231 #if defined(CUSTOM_COMMAND_SIG) #define PROC_LINKS(x,y) x #else @@ -99,6 +99,7 @@ CUSTOM_COMMAND_SIG(list_all_locations_of_type_definition_of_identifier); CUSTOM_COMMAND_SIG(list_all_substring_locations); CUSTOM_COMMAND_SIG(list_all_substring_locations_case_insensitive); CUSTOM_COMMAND_SIG(load_project); +CUSTOM_COMMAND_SIG(load_theme_current_buffer); CUSTOM_COMMAND_SIG(load_themes_default_folder); CUSTOM_COMMAND_SIG(load_themes_hot_directory); CUSTOM_COMMAND_SIG(make_directory_query); @@ -251,7 +252,7 @@ char *source_name; i32 source_name_len; i32 line_number; }; -static Command_Metadata fcoder_metacmd_table[230] = { +static Command_Metadata fcoder_metacmd_table[231] = { { PROC_LINKS(allow_mouse, 0), false, "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 409 }, { PROC_LINKS(auto_indent_line_at_cursor, 0), false, "auto_indent_line_at_cursor", 26, "Auto-indents the line on which the cursor sits.", 47, "w:\\4ed\\code\\custom\\4coder_auto_indent.cpp", 41, 407 }, { PROC_LINKS(auto_indent_range, 0), false, "auto_indent_range", 17, "Auto-indents the range between the cursor and the mark.", 55, "w:\\4ed\\code\\custom\\4coder_auto_indent.cpp", 41, 417 }, @@ -342,6 +343,7 @@ static Command_Metadata fcoder_metacmd_table[230] = { { PROC_LINKS(list_all_substring_locations, 0), false, "list_all_substring_locations", 28, "Queries the user for a string and lists all case-sensitive substring matches found in all open buffers.", 103, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 171 }, { PROC_LINKS(list_all_substring_locations_case_insensitive, 0), false, "list_all_substring_locations_case_insensitive", 45, "Queries the user for a string and lists all case-insensitive substring matches found in all open buffers.", 105, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 183 }, { PROC_LINKS(load_project, 0), false, "load_project", 12, "Looks for a project.4coder file in the current directory and tries to load it. Looks in parent directories until a project file is found or there are no more parents.", 167, "w:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 862 }, +{ PROC_LINKS(load_theme_current_buffer, 0), false, "load_theme_current_buffer", 25, "Parse the current buffer as a theme file and add the theme to the theme list. If the buffer has a .4coder postfix in it's name, it is removed when the name is saved.", 165, "w:\\4ed\\code\\custom\\4coder_config.cpp", 36, 1622 }, { PROC_LINKS(load_themes_default_folder, 0), false, "load_themes_default_folder", 26, "Loads all the theme files in the default theme folder.", 54, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 457 }, { PROC_LINKS(load_themes_hot_directory, 0), false, "load_themes_hot_directory", 25, "Loads all the theme files in the current hot directory.", 55, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 469 }, { PROC_LINKS(make_directory_query, 0), false, "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1342 }, @@ -573,144 +575,145 @@ static i32 fcoder_metacmd_ID_list_all_locations_of_type_definition_of_identifier static i32 fcoder_metacmd_ID_list_all_substring_locations = 87; static i32 fcoder_metacmd_ID_list_all_substring_locations_case_insensitive = 88; static i32 fcoder_metacmd_ID_load_project = 89; -static i32 fcoder_metacmd_ID_load_themes_default_folder = 90; -static i32 fcoder_metacmd_ID_load_themes_hot_directory = 91; -static i32 fcoder_metacmd_ID_make_directory_query = 92; -static i32 fcoder_metacmd_ID_miblo_decrement_basic = 93; -static i32 fcoder_metacmd_ID_miblo_decrement_time_stamp = 94; -static i32 fcoder_metacmd_ID_miblo_decrement_time_stamp_minute = 95; -static i32 fcoder_metacmd_ID_miblo_increment_basic = 96; -static i32 fcoder_metacmd_ID_miblo_increment_time_stamp = 97; -static i32 fcoder_metacmd_ID_miblo_increment_time_stamp_minute = 98; -static i32 fcoder_metacmd_ID_mouse_wheel_change_face_size = 99; -static i32 fcoder_metacmd_ID_mouse_wheel_scroll = 100; -static i32 fcoder_metacmd_ID_move_down = 101; -static i32 fcoder_metacmd_ID_move_down_10 = 102; -static i32 fcoder_metacmd_ID_move_down_textual = 103; -static i32 fcoder_metacmd_ID_move_down_to_blank_line = 104; -static i32 fcoder_metacmd_ID_move_down_to_blank_line_end = 105; -static i32 fcoder_metacmd_ID_move_down_to_blank_line_skip_whitespace = 106; -static i32 fcoder_metacmd_ID_move_left = 107; -static i32 fcoder_metacmd_ID_move_left_alpha_numeric_boundary = 108; -static i32 fcoder_metacmd_ID_move_left_alpha_numeric_or_camel_boundary = 109; -static i32 fcoder_metacmd_ID_move_left_token_boundary = 110; -static i32 fcoder_metacmd_ID_move_left_whitespace_boundary = 111; -static i32 fcoder_metacmd_ID_move_left_whitespace_or_token_boundary = 112; -static i32 fcoder_metacmd_ID_move_line_down = 113; -static i32 fcoder_metacmd_ID_move_line_up = 114; -static i32 fcoder_metacmd_ID_move_right = 115; -static i32 fcoder_metacmd_ID_move_right_alpha_numeric_boundary = 116; -static i32 fcoder_metacmd_ID_move_right_alpha_numeric_or_camel_boundary = 117; -static i32 fcoder_metacmd_ID_move_right_token_boundary = 118; -static i32 fcoder_metacmd_ID_move_right_whitespace_boundary = 119; -static i32 fcoder_metacmd_ID_move_right_whitespace_or_token_boundary = 120; -static i32 fcoder_metacmd_ID_move_up = 121; -static i32 fcoder_metacmd_ID_move_up_10 = 122; -static i32 fcoder_metacmd_ID_move_up_to_blank_line = 123; -static i32 fcoder_metacmd_ID_move_up_to_blank_line_end = 124; -static i32 fcoder_metacmd_ID_move_up_to_blank_line_skip_whitespace = 125; -static i32 fcoder_metacmd_ID_open_all_code = 126; -static i32 fcoder_metacmd_ID_open_all_code_recursive = 127; -static i32 fcoder_metacmd_ID_open_file_in_quotes = 128; -static i32 fcoder_metacmd_ID_open_in_other = 129; -static i32 fcoder_metacmd_ID_open_long_braces = 130; -static i32 fcoder_metacmd_ID_open_long_braces_break = 131; -static i32 fcoder_metacmd_ID_open_long_braces_semicolon = 132; -static i32 fcoder_metacmd_ID_open_matching_file_cpp = 133; -static i32 fcoder_metacmd_ID_open_panel_hsplit = 134; -static i32 fcoder_metacmd_ID_open_panel_vsplit = 135; -static i32 fcoder_metacmd_ID_page_down = 136; -static i32 fcoder_metacmd_ID_page_up = 137; -static i32 fcoder_metacmd_ID_paste = 138; -static i32 fcoder_metacmd_ID_paste_and_indent = 139; -static i32 fcoder_metacmd_ID_paste_next = 140; -static i32 fcoder_metacmd_ID_paste_next_and_indent = 141; -static i32 fcoder_metacmd_ID_place_in_scope = 142; -static i32 fcoder_metacmd_ID_profile_clear = 143; -static i32 fcoder_metacmd_ID_profile_disable = 144; -static i32 fcoder_metacmd_ID_profile_enable = 145; -static i32 fcoder_metacmd_ID_profile_inspect = 146; -static i32 fcoder_metacmd_ID_project_command_lister = 147; -static i32 fcoder_metacmd_ID_project_fkey_command = 148; -static i32 fcoder_metacmd_ID_project_go_to_root_directory = 149; -static i32 fcoder_metacmd_ID_query_replace = 150; -static i32 fcoder_metacmd_ID_query_replace_identifier = 151; -static i32 fcoder_metacmd_ID_query_replace_selection = 152; -static i32 fcoder_metacmd_ID_redo = 153; -static i32 fcoder_metacmd_ID_redo_all_buffers = 154; -static i32 fcoder_metacmd_ID_rename_file_query = 155; -static i32 fcoder_metacmd_ID_reopen = 156; -static i32 fcoder_metacmd_ID_replace_in_all_buffers = 157; -static i32 fcoder_metacmd_ID_replace_in_buffer = 158; -static i32 fcoder_metacmd_ID_replace_in_range = 159; -static i32 fcoder_metacmd_ID_reverse_search = 160; -static i32 fcoder_metacmd_ID_reverse_search_identifier = 161; -static i32 fcoder_metacmd_ID_save = 162; -static i32 fcoder_metacmd_ID_save_all_dirty_buffers = 163; -static i32 fcoder_metacmd_ID_save_to_query = 164; -static i32 fcoder_metacmd_ID_search = 165; -static i32 fcoder_metacmd_ID_search_identifier = 166; -static i32 fcoder_metacmd_ID_seek_beginning_of_line = 167; -static i32 fcoder_metacmd_ID_seek_beginning_of_textual_line = 168; -static i32 fcoder_metacmd_ID_seek_end_of_line = 169; -static i32 fcoder_metacmd_ID_seek_end_of_textual_line = 170; -static i32 fcoder_metacmd_ID_select_all = 171; -static i32 fcoder_metacmd_ID_select_next_scope_absolute = 172; -static i32 fcoder_metacmd_ID_select_next_scope_after_current = 173; -static i32 fcoder_metacmd_ID_select_prev_scope_absolute = 174; -static i32 fcoder_metacmd_ID_select_prev_top_most_scope = 175; -static i32 fcoder_metacmd_ID_select_surrounding_scope = 176; -static i32 fcoder_metacmd_ID_select_surrounding_scope_maximal = 177; -static i32 fcoder_metacmd_ID_set_eol_mode_from_contents = 178; -static i32 fcoder_metacmd_ID_set_eol_mode_to_binary = 179; -static i32 fcoder_metacmd_ID_set_eol_mode_to_crlf = 180; -static i32 fcoder_metacmd_ID_set_eol_mode_to_lf = 181; -static i32 fcoder_metacmd_ID_set_mark = 182; -static i32 fcoder_metacmd_ID_set_mode_to_notepad_like = 183; -static i32 fcoder_metacmd_ID_set_mode_to_original = 184; -static i32 fcoder_metacmd_ID_setup_build_bat = 185; -static i32 fcoder_metacmd_ID_setup_build_bat_and_sh = 186; -static i32 fcoder_metacmd_ID_setup_build_sh = 187; -static i32 fcoder_metacmd_ID_setup_new_project = 188; -static i32 fcoder_metacmd_ID_show_filebar = 189; -static i32 fcoder_metacmd_ID_show_scrollbar = 190; -static i32 fcoder_metacmd_ID_show_the_log_graph = 191; -static i32 fcoder_metacmd_ID_snipe_backward_whitespace_or_token_boundary = 192; -static i32 fcoder_metacmd_ID_snipe_forward_whitespace_or_token_boundary = 193; -static i32 fcoder_metacmd_ID_snippet_lister = 194; -static i32 fcoder_metacmd_ID_suppress_mouse = 195; -static i32 fcoder_metacmd_ID_swap_panels = 196; -static i32 fcoder_metacmd_ID_test_double_backspace = 197; -static i32 fcoder_metacmd_ID_theme_lister = 198; -static i32 fcoder_metacmd_ID_to_lowercase = 199; -static i32 fcoder_metacmd_ID_to_uppercase = 200; -static i32 fcoder_metacmd_ID_toggle_filebar = 201; -static i32 fcoder_metacmd_ID_toggle_fps_meter = 202; -static i32 fcoder_metacmd_ID_toggle_fullscreen = 203; -static i32 fcoder_metacmd_ID_toggle_highlight_enclosing_scopes = 204; -static i32 fcoder_metacmd_ID_toggle_highlight_line_at_cursor = 205; -static i32 fcoder_metacmd_ID_toggle_line_numbers = 206; -static i32 fcoder_metacmd_ID_toggle_line_wrap = 207; -static i32 fcoder_metacmd_ID_toggle_mouse = 208; -static i32 fcoder_metacmd_ID_toggle_paren_matching_helper = 209; -static i32 fcoder_metacmd_ID_toggle_show_whitespace = 210; -static i32 fcoder_metacmd_ID_toggle_virtual_whitespace = 211; -static i32 fcoder_metacmd_ID_tutorial_maximize = 212; -static i32 fcoder_metacmd_ID_tutorial_minimize = 213; -static i32 fcoder_metacmd_ID_uncomment_line = 214; -static i32 fcoder_metacmd_ID_undo = 215; -static i32 fcoder_metacmd_ID_undo_all_buffers = 216; -static i32 fcoder_metacmd_ID_view_buffer_other_panel = 217; -static i32 fcoder_metacmd_ID_view_jump_list_with_lister = 218; -static i32 fcoder_metacmd_ID_word_complete = 219; -static i32 fcoder_metacmd_ID_word_complete_drop_down = 220; -static i32 fcoder_metacmd_ID_write_block = 221; -static i32 fcoder_metacmd_ID_write_hack = 222; -static i32 fcoder_metacmd_ID_write_note = 223; -static i32 fcoder_metacmd_ID_write_space = 224; -static i32 fcoder_metacmd_ID_write_text_and_auto_indent = 225; -static i32 fcoder_metacmd_ID_write_text_input = 226; -static i32 fcoder_metacmd_ID_write_todo = 227; -static i32 fcoder_metacmd_ID_write_underscore = 228; -static i32 fcoder_metacmd_ID_write_zero_struct = 229; +static i32 fcoder_metacmd_ID_load_theme_current_buffer = 90; +static i32 fcoder_metacmd_ID_load_themes_default_folder = 91; +static i32 fcoder_metacmd_ID_load_themes_hot_directory = 92; +static i32 fcoder_metacmd_ID_make_directory_query = 93; +static i32 fcoder_metacmd_ID_miblo_decrement_basic = 94; +static i32 fcoder_metacmd_ID_miblo_decrement_time_stamp = 95; +static i32 fcoder_metacmd_ID_miblo_decrement_time_stamp_minute = 96; +static i32 fcoder_metacmd_ID_miblo_increment_basic = 97; +static i32 fcoder_metacmd_ID_miblo_increment_time_stamp = 98; +static i32 fcoder_metacmd_ID_miblo_increment_time_stamp_minute = 99; +static i32 fcoder_metacmd_ID_mouse_wheel_change_face_size = 100; +static i32 fcoder_metacmd_ID_mouse_wheel_scroll = 101; +static i32 fcoder_metacmd_ID_move_down = 102; +static i32 fcoder_metacmd_ID_move_down_10 = 103; +static i32 fcoder_metacmd_ID_move_down_textual = 104; +static i32 fcoder_metacmd_ID_move_down_to_blank_line = 105; +static i32 fcoder_metacmd_ID_move_down_to_blank_line_end = 106; +static i32 fcoder_metacmd_ID_move_down_to_blank_line_skip_whitespace = 107; +static i32 fcoder_metacmd_ID_move_left = 108; +static i32 fcoder_metacmd_ID_move_left_alpha_numeric_boundary = 109; +static i32 fcoder_metacmd_ID_move_left_alpha_numeric_or_camel_boundary = 110; +static i32 fcoder_metacmd_ID_move_left_token_boundary = 111; +static i32 fcoder_metacmd_ID_move_left_whitespace_boundary = 112; +static i32 fcoder_metacmd_ID_move_left_whitespace_or_token_boundary = 113; +static i32 fcoder_metacmd_ID_move_line_down = 114; +static i32 fcoder_metacmd_ID_move_line_up = 115; +static i32 fcoder_metacmd_ID_move_right = 116; +static i32 fcoder_metacmd_ID_move_right_alpha_numeric_boundary = 117; +static i32 fcoder_metacmd_ID_move_right_alpha_numeric_or_camel_boundary = 118; +static i32 fcoder_metacmd_ID_move_right_token_boundary = 119; +static i32 fcoder_metacmd_ID_move_right_whitespace_boundary = 120; +static i32 fcoder_metacmd_ID_move_right_whitespace_or_token_boundary = 121; +static i32 fcoder_metacmd_ID_move_up = 122; +static i32 fcoder_metacmd_ID_move_up_10 = 123; +static i32 fcoder_metacmd_ID_move_up_to_blank_line = 124; +static i32 fcoder_metacmd_ID_move_up_to_blank_line_end = 125; +static i32 fcoder_metacmd_ID_move_up_to_blank_line_skip_whitespace = 126; +static i32 fcoder_metacmd_ID_open_all_code = 127; +static i32 fcoder_metacmd_ID_open_all_code_recursive = 128; +static i32 fcoder_metacmd_ID_open_file_in_quotes = 129; +static i32 fcoder_metacmd_ID_open_in_other = 130; +static i32 fcoder_metacmd_ID_open_long_braces = 131; +static i32 fcoder_metacmd_ID_open_long_braces_break = 132; +static i32 fcoder_metacmd_ID_open_long_braces_semicolon = 133; +static i32 fcoder_metacmd_ID_open_matching_file_cpp = 134; +static i32 fcoder_metacmd_ID_open_panel_hsplit = 135; +static i32 fcoder_metacmd_ID_open_panel_vsplit = 136; +static i32 fcoder_metacmd_ID_page_down = 137; +static i32 fcoder_metacmd_ID_page_up = 138; +static i32 fcoder_metacmd_ID_paste = 139; +static i32 fcoder_metacmd_ID_paste_and_indent = 140; +static i32 fcoder_metacmd_ID_paste_next = 141; +static i32 fcoder_metacmd_ID_paste_next_and_indent = 142; +static i32 fcoder_metacmd_ID_place_in_scope = 143; +static i32 fcoder_metacmd_ID_profile_clear = 144; +static i32 fcoder_metacmd_ID_profile_disable = 145; +static i32 fcoder_metacmd_ID_profile_enable = 146; +static i32 fcoder_metacmd_ID_profile_inspect = 147; +static i32 fcoder_metacmd_ID_project_command_lister = 148; +static i32 fcoder_metacmd_ID_project_fkey_command = 149; +static i32 fcoder_metacmd_ID_project_go_to_root_directory = 150; +static i32 fcoder_metacmd_ID_query_replace = 151; +static i32 fcoder_metacmd_ID_query_replace_identifier = 152; +static i32 fcoder_metacmd_ID_query_replace_selection = 153; +static i32 fcoder_metacmd_ID_redo = 154; +static i32 fcoder_metacmd_ID_redo_all_buffers = 155; +static i32 fcoder_metacmd_ID_rename_file_query = 156; +static i32 fcoder_metacmd_ID_reopen = 157; +static i32 fcoder_metacmd_ID_replace_in_all_buffers = 158; +static i32 fcoder_metacmd_ID_replace_in_buffer = 159; +static i32 fcoder_metacmd_ID_replace_in_range = 160; +static i32 fcoder_metacmd_ID_reverse_search = 161; +static i32 fcoder_metacmd_ID_reverse_search_identifier = 162; +static i32 fcoder_metacmd_ID_save = 163; +static i32 fcoder_metacmd_ID_save_all_dirty_buffers = 164; +static i32 fcoder_metacmd_ID_save_to_query = 165; +static i32 fcoder_metacmd_ID_search = 166; +static i32 fcoder_metacmd_ID_search_identifier = 167; +static i32 fcoder_metacmd_ID_seek_beginning_of_line = 168; +static i32 fcoder_metacmd_ID_seek_beginning_of_textual_line = 169; +static i32 fcoder_metacmd_ID_seek_end_of_line = 170; +static i32 fcoder_metacmd_ID_seek_end_of_textual_line = 171; +static i32 fcoder_metacmd_ID_select_all = 172; +static i32 fcoder_metacmd_ID_select_next_scope_absolute = 173; +static i32 fcoder_metacmd_ID_select_next_scope_after_current = 174; +static i32 fcoder_metacmd_ID_select_prev_scope_absolute = 175; +static i32 fcoder_metacmd_ID_select_prev_top_most_scope = 176; +static i32 fcoder_metacmd_ID_select_surrounding_scope = 177; +static i32 fcoder_metacmd_ID_select_surrounding_scope_maximal = 178; +static i32 fcoder_metacmd_ID_set_eol_mode_from_contents = 179; +static i32 fcoder_metacmd_ID_set_eol_mode_to_binary = 180; +static i32 fcoder_metacmd_ID_set_eol_mode_to_crlf = 181; +static i32 fcoder_metacmd_ID_set_eol_mode_to_lf = 182; +static i32 fcoder_metacmd_ID_set_mark = 183; +static i32 fcoder_metacmd_ID_set_mode_to_notepad_like = 184; +static i32 fcoder_metacmd_ID_set_mode_to_original = 185; +static i32 fcoder_metacmd_ID_setup_build_bat = 186; +static i32 fcoder_metacmd_ID_setup_build_bat_and_sh = 187; +static i32 fcoder_metacmd_ID_setup_build_sh = 188; +static i32 fcoder_metacmd_ID_setup_new_project = 189; +static i32 fcoder_metacmd_ID_show_filebar = 190; +static i32 fcoder_metacmd_ID_show_scrollbar = 191; +static i32 fcoder_metacmd_ID_show_the_log_graph = 192; +static i32 fcoder_metacmd_ID_snipe_backward_whitespace_or_token_boundary = 193; +static i32 fcoder_metacmd_ID_snipe_forward_whitespace_or_token_boundary = 194; +static i32 fcoder_metacmd_ID_snippet_lister = 195; +static i32 fcoder_metacmd_ID_suppress_mouse = 196; +static i32 fcoder_metacmd_ID_swap_panels = 197; +static i32 fcoder_metacmd_ID_test_double_backspace = 198; +static i32 fcoder_metacmd_ID_theme_lister = 199; +static i32 fcoder_metacmd_ID_to_lowercase = 200; +static i32 fcoder_metacmd_ID_to_uppercase = 201; +static i32 fcoder_metacmd_ID_toggle_filebar = 202; +static i32 fcoder_metacmd_ID_toggle_fps_meter = 203; +static i32 fcoder_metacmd_ID_toggle_fullscreen = 204; +static i32 fcoder_metacmd_ID_toggle_highlight_enclosing_scopes = 205; +static i32 fcoder_metacmd_ID_toggle_highlight_line_at_cursor = 206; +static i32 fcoder_metacmd_ID_toggle_line_numbers = 207; +static i32 fcoder_metacmd_ID_toggle_line_wrap = 208; +static i32 fcoder_metacmd_ID_toggle_mouse = 209; +static i32 fcoder_metacmd_ID_toggle_paren_matching_helper = 210; +static i32 fcoder_metacmd_ID_toggle_show_whitespace = 211; +static i32 fcoder_metacmd_ID_toggle_virtual_whitespace = 212; +static i32 fcoder_metacmd_ID_tutorial_maximize = 213; +static i32 fcoder_metacmd_ID_tutorial_minimize = 214; +static i32 fcoder_metacmd_ID_uncomment_line = 215; +static i32 fcoder_metacmd_ID_undo = 216; +static i32 fcoder_metacmd_ID_undo_all_buffers = 217; +static i32 fcoder_metacmd_ID_view_buffer_other_panel = 218; +static i32 fcoder_metacmd_ID_view_jump_list_with_lister = 219; +static i32 fcoder_metacmd_ID_word_complete = 220; +static i32 fcoder_metacmd_ID_word_complete_drop_down = 221; +static i32 fcoder_metacmd_ID_write_block = 222; +static i32 fcoder_metacmd_ID_write_hack = 223; +static i32 fcoder_metacmd_ID_write_note = 224; +static i32 fcoder_metacmd_ID_write_space = 225; +static i32 fcoder_metacmd_ID_write_text_and_auto_indent = 226; +static i32 fcoder_metacmd_ID_write_text_input = 227; +static i32 fcoder_metacmd_ID_write_todo = 228; +static i32 fcoder_metacmd_ID_write_underscore = 229; +static i32 fcoder_metacmd_ID_write_zero_struct = 230; #endif diff --git a/ship_files/changes.txt b/ship_files/changes.txt index 6724954b..e2238ccb 100644 --- a/ship_files/changes.txt +++ b/ship_files/changes.txt @@ -1,10 +1,15 @@ 4.1.3 + + Unkillable buffer setting + + UI elements in listers and buttons can have different highlight backgrounds + + command 'load_theme_current_buffer' for loading the current file as a theme and setting it as the theme + Fix: search and replace never exits early + Fix: optimized builds of the custom layer display the dirty * on the file bar correclty + Fix: can merge "backwards" strings in the history correctly + Fix: the helper user_list_definition_array matches both LF and CRLF line endings + Fix: line number background and text colors in the built in theme files + + Fix: a drive letter by itself is recognized as an existing path + + Fix: the margin colors for panels are determined by the margins in theme files 4.1.2 + Cursor color changes when recording macro if the theme provides a second cursor color