Added load_theme_current_buffer command and updated changes.txt

master
Allen Webster 2020-01-26 21:24:26 -08:00
parent 797e05a3a2
commit 88e6186192
3 changed files with 190 additions and 142 deletions

View File

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

View File

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

View File

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