team project feature

master
Allen Webster 2021-05-15 11:52:36 -07:00
parent 3ca23cb37e
commit b94481dab2
3 changed files with 90 additions and 54 deletions

View File

@ -205,6 +205,7 @@ prj_stringize_project(Application_Links *app, Arena *arena, Variable_Handle proj
String_ID cursor_at_end_id = vars_save_string_lit("cursor_at_end"); String_ID cursor_at_end_id = vars_save_string_lit("cursor_at_end");
String_ID fkey_command_id = vars_save_string_lit("fkey_command"); String_ID fkey_command_id = vars_save_string_lit("fkey_command");
String_ID fkey_command_override_id = vars_save_string_lit("fkey_command_override");
String8 os_strings[] = { str8_lit("win"), str8_lit("linux"), str8_lit("mac"), }; String8 os_strings[] = { str8_lit("win"), str8_lit("linux"), str8_lit("mac"), };
local_const i32 os_string_count = ArrayCount(os_strings); local_const i32 os_string_count = ArrayCount(os_strings);
@ -272,9 +273,7 @@ prj_stringize_project(Application_Links *app, Arena *arena, Variable_Handle proj
string_list_push(arena, out, str8_lit("},\n")); string_list_push(arena, out, str8_lit("},\n"));
} }
} }
string_list_push(arena, out, str8_lit("};\n")); string_list_push(arena, out, str8_lit("};\n\n"));
string_list_push(arena, out, str8_lit("\n"));
} }
@ -312,9 +311,7 @@ prj_stringize_project(Application_Links *app, Arena *arena, Variable_Handle proj
string_list_pushf(arena, out, ".cursor_at_end = %s,\n", (cursor_at_end?"true":"false")); string_list_pushf(arena, out, ".cursor_at_end = %s,\n", (cursor_at_end?"true":"false"));
string_list_push(arena, out, str8_lit("},\n")); string_list_push(arena, out, str8_lit("},\n"));
} }
string_list_push(arena, out, str8_lit("};\n")); string_list_push(arena, out, str8_lit("};\n\n"));
string_list_push(arena, out, str8_lit("\n"));
} }
@ -325,11 +322,29 @@ prj_stringize_project(Application_Links *app, Arena *arena, Variable_Handle proj
for (Vars_Children(child, fkey_commands)){ for (Vars_Children(child, fkey_commands)){
String8 key = vars_key_from_var(scratch, child); String8 key = vars_key_from_var(scratch, child);
String8 name = vars_string_from_var(scratch, child); String8 name = vars_string_from_var(scratch, child);
string_list_pushf(arena, out, ".%.*s = \"%.*s\",\n", string_expand(key), string_expand(name)); string_list_pushf(arena, out, ".%.*s = \"%.*s\",\n",
string_expand(key), string_expand(name));
}
string_list_push(arena, out, str8_lit("};\n\n"));
} }
string_list_push(arena, out, str8_lit("};\n"));
string_list_push(arena, out, str8_lit("\n"));
// NOTE(allen): FKey Command Override
Variable_Handle fkey_commands_overide = vars_read_key(project, fkey_command_override_id);
if (!vars_is_nil(fkey_commands_overide)){
string_list_push(arena, out, str8_lit("fkey_command_override = {\n"));
for (Vars_Children(user_child, fkey_commands_overide)){
String8 user_key = vars_key_from_var(scratch, user_child);
string_list_pushf(arena, out, ".%.*s = {\n", string_expand(user_key));
for (Vars_Children(child, user_child)){
String8 key = vars_key_from_var(scratch, child);
String8 name = vars_string_from_var(scratch, child);
string_list_pushf(arena, out, ".%.*s = \"%.*s\",\n",
string_expand(key), string_expand(name));
}
string_list_pushf(arena, out, "},\n");
}
string_list_push(arena, out, str8_lit("};\n\n"));
} }
} }
@ -733,14 +748,32 @@ prj_exec_command_name(Application_Links *app, String8 cmd_name){
function void function void
prj_exec_command_fkey_index(Application_Links *app, i32 fkey_index){ prj_exec_command_fkey_index(Application_Links *app, i32 fkey_index){
// TODO(allen): ideally if one fkey_command is missing this index the fallback // setup fkey string
// can be continued.
Variable_Handle fkeys = def_get_config_var(vars_save_string_lit("fkey_command"));
Scratch_Block scratch(app); Scratch_Block scratch(app);
String8 fkey_index_str = push_stringf(scratch, "F%d", fkey_index + 1); String8 fkey_index_str = push_stringf(scratch, "F%d", fkey_index + 1);
String_ID fkey_index_id = vars_save_string(fkey_index_str); String_ID fkey_index_id = vars_save_string(fkey_index_str);
Variable_Handle cmd_name_var = vars_read_key(fkeys, fkey_index_id);
// get command variable
Variable_Handle cmd_name_var = vars_get_nil();
// try user override
{
Variable_Handle fkey_override =
def_get_config_var(vars_save_string_lit("fkey_command_override"));
if (!vars_is_nil(fkey_override)){
String_Const_u8 name = def_get_config_string(scratch, vars_save_string_lit("user_name"));
String_ID user_name_id = vars_save_string(name);
Variable_Handle user_var = vars_read_key(fkey_override, user_name_id);
cmd_name_var = vars_read_key(user_var, fkey_index_id);
}
}
// try defaults
if (vars_is_nil(cmd_name_var)){
Variable_Handle fkeys = def_get_config_var(vars_save_string_lit("fkey_command"));
cmd_name_var = vars_read_key(fkeys, fkey_index_id);
}
String8 cmd_name = vars_string_from_var(scratch, cmd_name_var); String8 cmd_name = vars_string_from_var(scratch, cmd_name_var);
prj_exec_command_name(app, cmd_name); prj_exec_command_name(app, cmd_name);
} }

View File

@ -313,7 +313,7 @@ static Command_Metadata fcoder_metacmd_table[268] = {
{ PROC_LINKS(click_set_cursor_if_lbutton, 0), false, "click_set_cursor_if_lbutton", 27, "If the mouse left button is pressed, sets the cursor position to the mouse position.", 84, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 245 }, { PROC_LINKS(click_set_cursor_if_lbutton, 0), false, "click_set_cursor_if_lbutton", 27, "If the mouse left button is pressed, sets the cursor position to the mouse position.", 84, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 245 },
{ PROC_LINKS(click_set_mark, 0), false, "click_set_mark", 14, "Sets the mark position to the mouse position.", 45, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 258 }, { PROC_LINKS(click_set_mark, 0), false, "click_set_mark", 14, "Sets the mark position to the mouse position.", 45, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 258 },
{ PROC_LINKS(clipboard_record_clip, 0), false, "clipboard_record_clip", 21, "In response to a new clipboard contents events, saves the new clip onto the clipboard history", 93, "W:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 7 }, { PROC_LINKS(clipboard_record_clip, 0), false, "clipboard_record_clip", 21, "In response to a new clipboard contents events, saves the new clip onto the clipboard history", 93, "W:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 7 },
{ PROC_LINKS(close_all_code, 0), false, "close_all_code", 14, "Closes any buffer with a filename ending with an extension configured to be recognized as a code file type.", 107, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 796 }, { PROC_LINKS(close_all_code, 0), false, "close_all_code", 14, "Closes any buffer with a filename ending with an extension configured to be recognized as a code file type.", 107, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 829 },
{ PROC_LINKS(close_build_panel, 0), false, "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "W:\\4ed\\code\\custom\\4coder_build_commands.cpp", 44, 175 }, { PROC_LINKS(close_build_panel, 0), false, "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "W:\\4ed\\code\\custom\\4coder_build_commands.cpp", 44, 175 },
{ PROC_LINKS(close_panel, 0), false, "close_panel", 11, "Closes the currently active panel if it is not the only panel open.", 67, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 676 }, { PROC_LINKS(close_panel, 0), false, "close_panel", 11, "Closes the currently active panel if it is not the only panel open.", 67, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 676 },
{ PROC_LINKS(command_documentation, 0), true, "command_documentation", 21, "Prompts the user to select a command then loads a doc buffer for that item", 74, "W:\\4ed\\code\\custom\\4coder_docs.cpp", 34, 190 }, { PROC_LINKS(command_documentation, 0), true, "command_documentation", 21, "Prompts the user to select a command then loads a doc buffer for that item", 74, "W:\\4ed\\code\\custom\\4coder_docs.cpp", 34, 190 },
@ -390,7 +390,7 @@ static Command_Metadata fcoder_metacmd_table[268] = {
{ PROC_LINKS(list_all_locations_of_type_definition_of_identifier, 0), false, "list_all_locations_of_type_definition_of_identifier", 51, "Reads a token or word under the cursor and lists all locations of strings that appear to define a type whose name matches it.", 125, "W:\\4ed\\code\\custom\\4coder_search.cpp", 36, 224 }, { PROC_LINKS(list_all_locations_of_type_definition_of_identifier, 0), false, "list_all_locations_of_type_definition_of_identifier", 51, "Reads a token or word under the cursor and lists all locations of strings that appear to define a type whose name matches it.", 125, "W:\\4ed\\code\\custom\\4coder_search.cpp", 36, 224 },
{ 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, 174 }, { 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, 174 },
{ 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, 186 }, { 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, 186 },
{ 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, 823 }, { 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, 856 },
{ 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, 1609 }, { 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, 1609 },
{ 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, 535 }, { 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, 535 },
{ 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, 554 }, { 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, 554 },
@ -433,8 +433,8 @@ static Command_Metadata fcoder_metacmd_table[268] = {
{ PROC_LINKS(multi_paste_interactive_quick, 0), false, "multi_paste_interactive_quick", 29, "Paste multiple lines from the clipboard history, controlled by inputing the number of lines to paste", 100, "W:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 380 }, { PROC_LINKS(multi_paste_interactive_quick, 0), false, "multi_paste_interactive_quick", 29, "Paste multiple lines from the clipboard history, controlled by inputing the number of lines to paste", 100, "W:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 380 },
{ PROC_LINKS(music_start, 0), false, "music_start", 11, "Starts the music.", 17, "W:\\4ed\\code\\custom\\4coder_examples.cpp", 38, 213 }, { PROC_LINKS(music_start, 0), false, "music_start", 11, "Starts the music.", 17, "W:\\4ed\\code\\custom\\4coder_examples.cpp", 38, 213 },
{ PROC_LINKS(music_stop, 0), false, "music_stop", 10, "Stops the music.", 16, "W:\\4ed\\code\\custom\\4coder_examples.cpp", 38, 234 }, { PROC_LINKS(music_stop, 0), false, "music_stop", 10, "Stops the music.", 16, "W:\\4ed\\code\\custom\\4coder_examples.cpp", 38, 234 },
{ PROC_LINKS(open_all_code, 0), false, "open_all_code", 13, "Open all code in the current directory. File types are determined by extensions. An extension is considered code based on the extensions specified in 4coder.config.", 164, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 805 }, { PROC_LINKS(open_all_code, 0), false, "open_all_code", 13, "Open all code in the current directory. File types are determined by extensions. An extension is considered code based on the extensions specified in 4coder.config.", 164, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 838 },
{ PROC_LINKS(open_all_code_recursive, 0), false, "open_all_code_recursive", 23, "Works as open_all_code but also runs in all subdirectories.", 59, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 814 }, { PROC_LINKS(open_all_code_recursive, 0), false, "open_all_code_recursive", 23, "Works as open_all_code but also runs in all subdirectories.", 59, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 847 },
{ PROC_LINKS(open_file_in_quotes, 0), false, "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1578 }, { PROC_LINKS(open_file_in_quotes, 0), false, "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1578 },
{ PROC_LINKS(open_in_other, 0), false, "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2061 }, { PROC_LINKS(open_in_other, 0), false, "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2061 },
{ PROC_LINKS(open_long_braces, 0), false, "open_long_braces", 16, "At the cursor, insert a '{' and '}' separated by a blank line.", 62, "W:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 46 }, { PROC_LINKS(open_long_braces, 0), false, "open_long_braces", 16, "At the cursor, insert a '{' and '}' separated by a blank line.", 62, "W:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 46 },
@ -455,26 +455,26 @@ static Command_Metadata fcoder_metacmd_table[268] = {
{ PROC_LINKS(profile_disable, 0), false, "profile_disable", 15, "Prevent 4coder's self profiler from gathering new profiling information.", 72, "W:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 219 }, { PROC_LINKS(profile_disable, 0), false, "profile_disable", 15, "Prevent 4coder's self profiler from gathering new profiling information.", 72, "W:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 219 },
{ PROC_LINKS(profile_enable, 0), false, "profile_enable", 14, "Allow 4coder's self profiler to gather new profiling information.", 65, "W:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 212 }, { PROC_LINKS(profile_enable, 0), false, "profile_enable", 14, "Allow 4coder's self profiler to gather new profiling information.", 65, "W:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 212 },
{ PROC_LINKS(profile_inspect, 0), true, "profile_inspect", 15, "Inspect all currently collected profiling information in 4coder's self profiler.", 80, "W:\\4ed\\code\\custom\\4coder_profile_inspect.cpp", 45, 886 }, { PROC_LINKS(profile_inspect, 0), true, "profile_inspect", 15, "Inspect all currently collected profiling information in 4coder's self profiler.", 80, "W:\\4ed\\code\\custom\\4coder_profile_inspect.cpp", 45, 886 },
{ PROC_LINKS(project_command_F1, 0), false, "project_command_F1", 18, "Run the command with index 1", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1051 }, { PROC_LINKS(project_command_F1, 0), false, "project_command_F1", 18, "Run the command with index 1", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1084 },
{ PROC_LINKS(project_command_F10, 0), false, "project_command_F10", 19, "Run the command with index 10", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1105 }, { PROC_LINKS(project_command_F10, 0), false, "project_command_F10", 19, "Run the command with index 10", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1138 },
{ PROC_LINKS(project_command_F11, 0), false, "project_command_F11", 19, "Run the command with index 11", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1111 }, { PROC_LINKS(project_command_F11, 0), false, "project_command_F11", 19, "Run the command with index 11", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1144 },
{ PROC_LINKS(project_command_F12, 0), false, "project_command_F12", 19, "Run the command with index 12", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1117 }, { PROC_LINKS(project_command_F12, 0), false, "project_command_F12", 19, "Run the command with index 12", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1150 },
{ PROC_LINKS(project_command_F13, 0), false, "project_command_F13", 19, "Run the command with index 13", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1123 }, { PROC_LINKS(project_command_F13, 0), false, "project_command_F13", 19, "Run the command with index 13", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1156 },
{ PROC_LINKS(project_command_F14, 0), false, "project_command_F14", 19, "Run the command with index 14", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1129 }, { PROC_LINKS(project_command_F14, 0), false, "project_command_F14", 19, "Run the command with index 14", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1162 },
{ PROC_LINKS(project_command_F15, 0), false, "project_command_F15", 19, "Run the command with index 15", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1135 }, { PROC_LINKS(project_command_F15, 0), false, "project_command_F15", 19, "Run the command with index 15", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1168 },
{ PROC_LINKS(project_command_F16, 0), false, "project_command_F16", 19, "Run the command with index 16", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1141 }, { PROC_LINKS(project_command_F16, 0), false, "project_command_F16", 19, "Run the command with index 16", 29, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1174 },
{ PROC_LINKS(project_command_F2, 0), false, "project_command_F2", 18, "Run the command with index 2", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1057 }, { PROC_LINKS(project_command_F2, 0), false, "project_command_F2", 18, "Run the command with index 2", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1090 },
{ PROC_LINKS(project_command_F3, 0), false, "project_command_F3", 18, "Run the command with index 3", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1063 }, { PROC_LINKS(project_command_F3, 0), false, "project_command_F3", 18, "Run the command with index 3", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1096 },
{ PROC_LINKS(project_command_F4, 0), false, "project_command_F4", 18, "Run the command with index 4", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1069 }, { PROC_LINKS(project_command_F4, 0), false, "project_command_F4", 18, "Run the command with index 4", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1102 },
{ PROC_LINKS(project_command_F5, 0), false, "project_command_F5", 18, "Run the command with index 5", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1075 }, { PROC_LINKS(project_command_F5, 0), false, "project_command_F5", 18, "Run the command with index 5", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1108 },
{ PROC_LINKS(project_command_F6, 0), false, "project_command_F6", 18, "Run the command with index 6", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1081 }, { PROC_LINKS(project_command_F6, 0), false, "project_command_F6", 18, "Run the command with index 6", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1114 },
{ PROC_LINKS(project_command_F7, 0), false, "project_command_F7", 18, "Run the command with index 7", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1087 }, { PROC_LINKS(project_command_F7, 0), false, "project_command_F7", 18, "Run the command with index 7", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1120 },
{ PROC_LINKS(project_command_F8, 0), false, "project_command_F8", 18, "Run the command with index 8", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1093 }, { PROC_LINKS(project_command_F8, 0), false, "project_command_F8", 18, "Run the command with index 8", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1126 },
{ PROC_LINKS(project_command_F9, 0), false, "project_command_F9", 18, "Run the command with index 9", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1099 }, { PROC_LINKS(project_command_F9, 0), false, "project_command_F9", 18, "Run the command with index 9", 28, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1132 },
{ PROC_LINKS(project_command_lister, 0), false, "project_command_lister", 22, "Open a lister of all commands in the currently loaded project.", 62, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1003 }, { PROC_LINKS(project_command_lister, 0), false, "project_command_lister", 22, "Open a lister of all commands in the currently loaded project.", 62, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1036 },
{ PROC_LINKS(project_fkey_command, 0), false, "project_fkey_command", 20, "Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.", 175, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 941 }, { PROC_LINKS(project_fkey_command, 0), false, "project_fkey_command", 20, "Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.", 175, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 974 },
{ PROC_LINKS(project_go_to_root_directory, 0), false, "project_go_to_root_directory", 28, "Changes 4coder's hot directory to the root directory of the currently loaded project. With no loaded project nothing hapepns.", 125, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 967 }, { PROC_LINKS(project_go_to_root_directory, 0), false, "project_go_to_root_directory", 28, "Changes 4coder's hot directory to the root directory of the currently loaded project. With no loaded project nothing hapepns.", 125, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1000 },
{ PROC_LINKS(project_reprint, 0), false, "project_reprint", 15, "Prints the current project to the file it was loaded from; prints in the most recent project file version", 105, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1013 }, { PROC_LINKS(project_reprint, 0), false, "project_reprint", 15, "Prints the current project to the file it was loaded from; prints in the most recent project file version", 105, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1046 },
{ PROC_LINKS(query_replace, 0), false, "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1284 }, { PROC_LINKS(query_replace, 0), false, "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1284 },
{ PROC_LINKS(query_replace_identifier, 0), false, "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1305 }, { PROC_LINKS(query_replace_identifier, 0), false, "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1305 },
{ PROC_LINKS(query_replace_selection, 0), false, "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1321 }, { PROC_LINKS(query_replace_selection, 0), false, "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1321 },
@ -513,10 +513,10 @@ static Command_Metadata fcoder_metacmd_table[268] = {
{ PROC_LINKS(set_mark, 0), false, "set_mark", 8, "Sets the mark to the current position of the cursor.", 52, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 115 }, { PROC_LINKS(set_mark, 0), false, "set_mark", 8, "Sets the mark to the current position of the cursor.", 52, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 115 },
{ PROC_LINKS(set_mode_to_notepad_like, 0), false, "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 499 }, { PROC_LINKS(set_mode_to_notepad_like, 0), false, "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 499 },
{ PROC_LINKS(set_mode_to_original, 0), false, "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 493 }, { PROC_LINKS(set_mode_to_original, 0), false, "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 493 },
{ PROC_LINKS(setup_build_bat, 0), false, "setup_build_bat", 15, "Queries the user for several configuration options and initializes a new build batch script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 985 }, { PROC_LINKS(setup_build_bat, 0), false, "setup_build_bat", 15, "Queries the user for several configuration options and initializes a new build batch script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1018 },
{ PROC_LINKS(setup_build_bat_and_sh, 0), false, "setup_build_bat_and_sh", 22, "Queries the user for several configuration options and initializes a new build batch script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 997 }, { PROC_LINKS(setup_build_bat_and_sh, 0), false, "setup_build_bat_and_sh", 22, "Queries the user for several configuration options and initializes a new build batch script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1030 },
{ PROC_LINKS(setup_build_sh, 0), false, "setup_build_sh", 14, "Queries the user for several configuration options and initializes a new build shell script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 991 }, { PROC_LINKS(setup_build_sh, 0), false, "setup_build_sh", 14, "Queries the user for several configuration options and initializes a new build shell script.", 92, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1024 },
{ PROC_LINKS(setup_new_project, 0), false, "setup_new_project", 17, "Queries the user for several configuration options and initializes a new 4coder project with build scripts for every OS.", 120, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 978 }, { PROC_LINKS(setup_new_project, 0), false, "setup_new_project", 17, "Queries the user for several configuration options and initializes a new 4coder project with build scripts for every OS.", 120, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 1011 },
{ PROC_LINKS(show_filebar, 0), false, "show_filebar", 12, "Sets the current view to show it's filebar.", 43, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 699 }, { PROC_LINKS(show_filebar, 0), false, "show_filebar", 12, "Sets the current view to show it's filebar.", 43, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 699 },
{ PROC_LINKS(show_scrollbar, 0), false, "show_scrollbar", 14, "Sets the current view to show it's scrollbar.", 45, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 685 }, { PROC_LINKS(show_scrollbar, 0), false, "show_scrollbar", 14, "Sets the current view to show it's scrollbar.", 45, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 685 },
{ PROC_LINKS(show_the_log_graph, 0), true, "show_the_log_graph", 18, "Parses *log* and displays the 'log graph' UI", 44, "W:\\4ed\\code\\custom\\4coder_log_parser.cpp", 40, 991 }, { PROC_LINKS(show_the_log_graph, 0), true, "show_the_log_graph", 18, "Parses *log* and displays the 'log graph' UI", 44, "W:\\4ed\\code\\custom\\4coder_log_parser.cpp", 40, 991 },

View File

@ -16,17 +16,21 @@ blacklist_patterns = {
".*", ".*",
}; };
load_path_shared = { .path = ".", .recursive = true, .relative = true, };
load_paths = { load_paths = {
.win = { load_path_shared }, .win = {
.linux = { load_path_shared }, { .path = ".", .recursive = true, .relative = true, },
.mac = { load_path_shared }, },
.linux = {
{ .path = ".", .recursive = true, .relative = true, },
},
.mac = {
{ .path = ".", .recursive = true, .relative = true, },
},
}; };
commands = { commands = {
.build_x64 = { .build_x64 = {
.win = "echo build: x64 & bin\\build.bat", .win = "echo build: x64 & bin\build.bat",
.linux = "echo build: x64 & bin/build-linux.sh", .linux = "echo build: x64 & bin/build-linux.sh",
.out = "*compilation*", .out = "*compilation*",
.footer_panel = true, .footer_panel = true,
@ -34,7 +38,7 @@ commands = {
.cursor_at_end = false, .cursor_at_end = false,
}, },
.build_x86 = { .build_x86 = {
.win = "echo build: x86 & bin\\build.bat /DDEV_BUILD_X86", .win = "echo build: x86 & bin\build.bat /DDEV_BUILD_X86",
.linux = "echo build: x86 & bin/build-linux.sh /DDEV_BUILD_X86", .linux = "echo build: x86 & bin/build-linux.sh /DDEV_BUILD_X86",
.out = "*compilation*", .out = "*compilation*",
.footer_panel = true, .footer_panel = true,
@ -42,7 +46,7 @@ commands = {
.cursor_at_end = false, .cursor_at_end = false,
}, },
.package = { .package = {
.win = "echo package & bin\\package.bat", .win = "echo package & bin\package.bat",
.linux = "echo package & bin/package.sh", .linux = "echo package & bin/package.sh",
.out = "*compilation*", .out = "*compilation*",
.footer_panel = false, .footer_panel = false,
@ -50,7 +54,7 @@ commands = {
.cursor_at_end = false, .cursor_at_end = false,
}, },
.run_one_time = { .run_one_time = {
.win = "pushd ..\\build & one_time", .win = "pushd ..\build & one_time",
.linux = "pushd ../build & one_time", .linux = "pushd ../build & one_time",
.out = "*run*", .out = "*run*",
.footer_panel = false, .footer_panel = false,
@ -58,7 +62,7 @@ commands = {
.cursor_at_end = false, .cursor_at_end = false,
}, },
.build_custom_api_docs = { .build_custom_api_docs = {
.win = "custom\\bin\\build_one_time docs\\4ed_doc_custom_api_main.cpp ..\\build", .win = "custom\bin\build_one_time docs\4ed_doc_custom_api_main.cpp ..\build",
.out = "*compilation*", .out = "*compilation*",
.footer_panel = true, .footer_panel = true,
.save_dirty_files = true, .save_dirty_files = true,
@ -144,4 +148,3 @@ fkey_command = {
.F6 = "build_token_tester", .F6 = "build_token_tester",
.F11 = "package", .F11 = "package",
}; };