diff --git a/4coder_API/types.h b/4coder_API/types.h index 08b2ff41..2061bff0 100644 --- a/4coder_API/types.h +++ b/4coder_API/types.h @@ -82,16 +82,6 @@ ENUM(uint32_t, Memory_Protect_Flags){ MemProtect_Execute = 0x4, }; -/* DOC(User_Input_Type_ID specifies a type of user input event.) */ -ENUM(int32_t, User_Input_Type_ID){ - /* DOC(UserInputNone indicates that no event has occurred.) */ - UserInputNone = 0, - /* DOC(UserInputKey indicates an event which can be described by a Key_Event_Data struct.) */ - UserInputKey = 1, - /* DOC(UserInputMouse indicates an event which can be described by a Mouse_State struct.) */ - UserInputMouse = 2 -}; - /* DOC(A Wrap_Indicator_Mode is used in the buffer setting BufferSetting_WrapIndicator to specify how to indicate that line has been wrapped.) */ ENUM(int32_t, Wrap_Indicator_Mode){ /* DOC(WrapIndicator_Hide tells the buffer rendering system not to put any indicator on wrapped lines.) */ @@ -290,25 +280,26 @@ ENUM(uint32_t, Set_Buffer_Flag){ /* DOC(A Input_Type_Flag field specifies a set of input event types.) */ ENUM(uint32_t, Input_Type_Flag){ /* DOC(If EventOnAnyKey is set, all keyboard events are included in the set.) */ - EventOnAnyKey = 0x1, + EventOnAnyKey = 0x1, /* DOC(If EventOnEsc is set, any press of the escape key is included in the set.) */ - EventOnEsc = 0x2, - /* DOC(If EventOnLeftButton is set, left clicks are included in the set.) */ - EventOnLeftButton = 0x4, - /* DOC(If EventOnRightButton is set, right clicks are included in the set.) */ - EventOnRightButton = 0x8, - /* DOC(If EventOnWheel is set, any wheel movement is included in the set.) */ - EventOnWheel = 0x10, - /* DOC(This is not totally implemented yet.) */ - EventOnMouseMove = 0x20, + EventOnEsc = 0x2, - /* DOC(If EventOnButton is set, all mouse button events are included in the set.) */ - EventOnButton = (EventOnLeftButton | EventOnRightButton | EventOnWheel), - /* DOC(This is not totally implemented yet.) */ - EventOnMouse = (EventOnButton | EventOnMouseMove), + /* DOC(If EventOnLeftButton is set, left clicks and releases are included in the set.) */ + EventOnMouseLeftButton = 0x4, + /* DOC(If EventOnRightButton is set, right clicks and releases are included in the set.) */ + EventOnMouseRightButton = 0x8, + /* DOC(If EventOnWheel is set, any wheel movement is included in the set.) */ + EventOnMouseWheel = 0x10, + /* DOC(If EventOnMouseMove is set, mouse movement events are included in the set.) */ + EventOnMouseMove = 0x20, + + /* DOC(If EventOnAnimate is set, animate events are included in the set.) */ + EventOnAnimate = 0x40, + /* DOC(If EventOnViewActivation is set, view activation and deactivation events are included in the set.) */ + EventOnViewActivation = 0x80, /* DOC(EventAll is a catch all name for including all possible events in the set.) */ - EventAll = 0xFF + EventAll = 0xFFFFFFFF, }; /* DOC(A Mouse_Cursor_Show_Type value specifes a mode for 4coder to handle the mouse cursor.) */ @@ -360,7 +351,7 @@ DOC_SEE(Key_Modifier) */ }; // TODO(allen): GLOBAL_VAR meta parsing -GLOBAL_VAR Key_Event_Data null_key_event_data = {0}; +GLOBAL_VAR Key_Event_Data null_key_event_data = {}; /* DOC(Mouse_State describes an entire mouse state complete with the position, left and right button states, the wheel state, and whether or not the mouse if in the window.) */ STRUCT Mouse_State{ @@ -386,7 +377,7 @@ STRUCT Mouse_State{ int32_t y; }; -GLOBAL_VAR Mouse_State null_mouse_state = {0}; +GLOBAL_VAR Mouse_State null_mouse_state = {}; /* DOC(Range describes an integer range typically used for ranges within a buffer. Ranges are not used to pass into the API, but this struct is used for returns. @@ -640,7 +631,7 @@ STRUCT i32_Rect{ int32_t y1; }; -GLOBAL_VAR i32_Rect null_i32_rect = {0}; +GLOBAL_VAR i32_Rect null_i32_rect = {}; /* DOC(A four corner axis aligned rectangle, with floating point coordinates.) @@ -652,7 +643,7 @@ STRUCT f32_Rect{ float y1; }; -GLOBAL_VAR f32_Rect null_f32_rect = {0}; +GLOBAL_VAR f32_Rect null_f32_rect = {}; /* DOC(View_Summary acts as a handle to a view and describes the state of the view.) DOC_SEE(Access_Flag) @@ -1027,25 +1018,20 @@ UNION Generic_Command{ /* -DOC(User_Input describes a user input event which can be either a key press or mouse event.) -DOC_SEE(User_Input_Type_ID) +DOC(User_Input describes an event, such as key presses, mouse button presses, mouse moves, +and also non-input related events like animation frames, and view activation changes.) DOC_SEE(Generic_Command) DOC_SEE(Key_Event_Data) -DOC_SEE(Mouse_State) */ STRUCT User_Input{ - /* DOC(This field specifies whether the event was a key press or mouse event.) */ - User_Input_Type_ID type; - /* DOC(This field indicates that an abort event has occurred and the command needs to shut down.) */ - bool32 abort; - UNION{ - /* DOC(This field describes a key press event.) */ - Key_Event_Data key; - /* DOC(This field describes a mouse input event.) */ - Mouse_State mouse; - }; + /* DOC(The description of the event.) */ + Key_Event_Data key; /* DOC(If this event would trigger a command, this field specifies what the command would be.) */ Generic_Command command; + /* DOC(This field indicates that an abort event has occurred and the command needs to shut down. +This can be set even if key and command are also set, in which case the command still needs to abort, and the key and command simply reflect +what event triggered the abort event.) */ + bool32 abort; }; /* diff --git a/4coder_auto_indent.cpp b/4coder_auto_indent.cpp index 248c296b..dce0c33a 100644 --- a/4coder_auto_indent.cpp +++ b/4coder_auto_indent.cpp @@ -8,13 +8,13 @@ static Hard_Start_Result buffer_find_hard_start(Application_Links *app, Buffer_Summary *buffer, int32_t line_start, int32_t tab_width){ tab_width -= 1; - Hard_Start_Result result = {0}; + Hard_Start_Result result = {}; result.all_space = 1; result.indent_pos = 0; result.char_pos = line_start; char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; stream.add_null = true; if (init_stream_chunk(&stream, app, buffer, line_start, data_chunk, sizeof(data_chunk))){ int32_t still_looping = 1; @@ -110,7 +110,7 @@ make_batch_from_indent_marks(Application_Links *app, Partition *arena, Buffer_Su Assert(edit_count <= edit_max); } - Buffer_Batch_Edit result = {0}; + Buffer_Batch_Edit result = {}; result.str = str_base; result.str_len = (int32_t)(push_array(arena, char, 0) - str_base); result.edits = edits; @@ -164,7 +164,7 @@ find_anchor_token(Application_Links *app, Buffer_Summary *buffer, Cpp_Token_Arra int32_t line_start, int32_t tab_width){ #if 1 // NOTE(allen): New implementation of find_anchor_token (4.0.26) revert if it is a problem. - Indent_Anchor_Position anchor = {0}; + Indent_Anchor_Position anchor = {}; if (tokens.count > 0){ Cpp_Token *first_invalid_token = get_first_token_at_line(app, buffer, tokens, line_start); @@ -242,7 +242,7 @@ find_anchor_token(Application_Links *app, Buffer_Summary *buffer, Cpp_Token_Arra #else // NOTE(allen): Old (4.0.25) implementation of find_anchor_token. - Indent_Anchor_Position anchor = {0}; + Indent_Anchor_Position anchor = {}; if (tokens.count != 0){ anchor.token = get_first_token_at_line(app, buffer, tokens, line_start); @@ -352,7 +352,7 @@ get_indentation_marks(Application_Links *app, Partition *arena, Buffer_Summary * // Decide where to start indentation parsing. Indent_Anchor_Position anchor = find_anchor_token(app, buffer, tokens, first_line, tab_width); Cpp_Token *token_ptr = anchor.token; - Indent_Parse_State indent = {0}; + Indent_Parse_State indent = {}; indent.current_indent = anchor.indentation; if (token_ptr == 0){ @@ -372,8 +372,8 @@ get_indentation_marks(Application_Links *app, Partition *arena, Buffer_Summary * int32_t next_line_start_pos = buffer_get_line_start(app, buffer, line_number); indent.previous_line_indent = indent.current_indent; - Cpp_Token prev_token = {0}; - Cpp_Token token = {0}; + Cpp_Token prev_token = {}; + Cpp_Token token = {}; if (token_ptr < tokens.tokens + tokens.count){ token = *token_ptr; } @@ -462,7 +462,7 @@ get_indentation_marks(Application_Links *app, Partition *arena, Buffer_Summary * bool32 statement_complete = false; Cpp_Token *prev_usable_token_ptr = token_ptr - 1; - Cpp_Token prev_usable_token = {0}; + Cpp_Token prev_usable_token = {}; if (prev_usable_token_ptr >= tokens.tokens){ prev_usable_token = *prev_usable_token_ptr; } @@ -678,7 +678,7 @@ buffer_auto_indent(Application_Links *app, Partition *part, Buffer_Summary *buff int32_t *indent_marks = get_indentation_marks(app, part, buffer, tokens, line_start, line_end, (flags & AutoIndent_ExactAlignBlock), tab_width); // Stage 4: Set the Line Indents - Indent_Options opts = {0}; + Indent_Options opts = {}; opts.empty_blank_lines = (flags & AutoIndent_ClearLine); opts.use_tabs = (flags & AutoIndent_UseTab); opts.tab_width = tab_width; @@ -753,7 +753,7 @@ CUSTOM_DOC("Inserts a character and auto-indents the line on which the cursor si uint32_t flags = DEFAULT_INDENT_FLAGS; User_Input in = get_command_input(app); - if (in.type == UserInputKey && in.key.character == '\n'){ + if (in.key.character == '\n'){ flags |= AutoIndent_ExactAlignBlock; } buffer_auto_indent(app, &global_part, &buffer, view.cursor.pos, view.cursor.pos, DEF_TAB_WIDTH, DEFAULT_INDENT_FLAGS); diff --git a/4coder_base_commands.cpp b/4coder_base_commands.cpp index 7bbb6244..a0565e47 100644 --- a/4coder_base_commands.cpp +++ b/4coder_base_commands.cpp @@ -16,7 +16,7 @@ write_character_parameter(Application_Links *app, uint8_t *character, uint32_t l Buffer_Summary buffer = get_buffer(app, view.buffer_id, access); int32_t pos = view.cursor.pos; - Marker next_cursor_marker = {0}; + Marker next_cursor_marker = {}; next_cursor_marker.pos = character_pos_to_pos(app, &view, &buffer, view.cursor.character_pos); next_cursor_marker.lean_right = true; @@ -58,7 +58,7 @@ CUSTOM_DOC("Deletes the character to the right of the cursor.") Buffer_Summary buffer = get_buffer(app, view.buffer_id, access); int32_t start = view.cursor.pos; if (0 <= start && start < buffer.size){ - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; view_compute_cursor(app, &view, seek_character_pos(view.cursor.character_pos + 1), &cursor); int32_t end = cursor.pos; buffer_replace_range(app, &buffer, start, end, 0, 0); @@ -76,7 +76,7 @@ CUSTOM_DOC("Deletes the character to the left of the cursor.") Buffer_Summary buffer = get_buffer(app, view.buffer_id, access); int32_t end = view.cursor.pos; if (0 < end && end <= buffer.size){ - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; view_compute_cursor(app, &view, seek_character_pos(view.cursor.character_pos - 1), &cursor); int32_t start = cursor.pos; buffer_replace_range(app, &buffer, start, end, 0, 0); @@ -424,7 +424,7 @@ CUSTOM_DOC("Removes trailing whitespace from all lines in the current buffer.") Buffer_Edit *edits = (Buffer_Edit*)app->memory; char data[1024]; - Stream_Chunk chunk = {0}; + Stream_Chunk chunk = {}; int32_t i = 0; if (init_stream_chunk(&chunk, app, &buffer, i, data, sizeof(data))){ @@ -630,7 +630,7 @@ CUSTOM_DOC("Queries the user for a number, and jumps the cursor to the correspon { uint32_t access = AccessProtected; - Query_Bar bar = {0}; + Query_Bar bar = {}; char string_space[256]; bar.prompt = make_lit_string("Goto Line: "); @@ -650,7 +650,7 @@ CUSTOM_COMMAND_SIG(reverse_search); static void isearch__update_highlight(Application_Links *app, View_Summary *view, Managed_Object highlight, int32_t start, int32_t end){ - Marker markers[4] = {0}; + Marker markers[4] = {}; markers[0].pos = start; markers[1].pos = end; managed_object_store_data(app, highlight, 0, 2, markers); @@ -665,7 +665,7 @@ isearch(Application_Links *app, bool32 start_reversed, String query_init, bool32 return; } - Query_Bar bar = {0}; + Query_Bar bar = {}; if (start_query_bar(app, &bar, 0) == 0){ return; } @@ -702,7 +702,7 @@ isearch(Application_Links *app, bool32 start_reversed, String query_init, bool32 isearch__update_highlight(app, &view, highlight, match.start, match.end); cursor_is_hidden = true; - User_Input in = {0}; + User_Input in = {}; for (;;){ // NOTE(allen): Change the bar's prompt to match the current direction. if (reverse){ @@ -721,9 +721,6 @@ isearch(Application_Links *app, bool32 start_reversed, String query_init, bool32 in = get_user_input(app, EventOnAnyKey, EventOnEsc); if (in.abort) break; - // NOTE(allen): If we're getting mouse events here it's a 4coder bug, because we only asked to intercept key events. - Assert(in.type == UserInputKey); - uint8_t character[4]; uint32_t length = to_writable_character(in, character); @@ -850,14 +847,14 @@ isearch(Application_Links *app, bool32 start_reversed, String query_init, bool32 CUSTOM_COMMAND_SIG(search) CUSTOM_DOC("Begins an incremental search down through the current buffer for a user specified string.") { - String query = {0}; + String query = {}; isearch(app, false, query, false); } CUSTOM_COMMAND_SIG(reverse_search) CUSTOM_DOC("Begins an incremental search up through the current buffer for a user specified string.") { - String query = {0}; + String query = {}; isearch(app, true, query, false); } @@ -938,12 +935,12 @@ query_replace_base(Application_Links *app, View_Summary *view, Buffer_Summary *b marker_visual_set_view_key(app, visual, view->view_id); cursor_is_hidden = true; - User_Input in = {0}; + User_Input in = {}; for (;new_pos < buffer->size;){ Range match = make_range(new_pos, new_pos + r.size); isearch__update_highlight(app, view, highlight, match.min, match.max); - in = get_user_input(app, EventOnAnyKey, EventOnButton); + in = get_user_input(app, EventOnAnyKey, EventOnMouseLeftButton|EventOnMouseRightButton); if (in.abort || in.key.keycode == key_esc || !key_is_unmodified(&in.key)) break; if (in.key.character == 'y' || in.key.character == 'Y' || @@ -1011,7 +1008,7 @@ CUSTOM_DOC("Queries the user for two strings, and incrementally replaces every o return; } - Query_Bar replace = {0}; + Query_Bar replace = {}; char replace_space[1024]; replace.prompt = make_lit_string("Replace: "); replace.string = make_fixed_width_string(replace_space); @@ -1035,7 +1032,7 @@ CUSTOM_DOC("Queries the user for a string, and incrementally replace every occur return; } - Range range = {0}; + Range range = {}; char space[256]; String replace = read_identifier_at_pos(app, &buffer, view.cursor.pos, space, sizeof(space), &range); @@ -1091,7 +1088,7 @@ save_all_dirty_buffers_with_postfix(Application_Links *app, String postfix){ CUSTOM_COMMAND_SIG(save_all_dirty_buffers) CUSTOM_DOC("Saves all buffers marked dirty (showing the '*' indicator).") { - String empty = {0}; + String empty = {}; save_all_dirty_buffers_with_postfix(app, empty); } @@ -1125,7 +1122,7 @@ CUSTOM_DOC("Deletes the file of the current buffer if 4coder has the appropriate Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessAll); if (buffer.file_name != 0){ - String file_name = {0}; + String file_name = {}; file_name = make_string(buffer.file_name, buffer.file_name_len); char space[4096]; @@ -1273,9 +1270,9 @@ CUSTOM_DOC("Swaps the line under the cursor with the line above it, and moves th return; } - Full_Cursor prev_line_cursor = {0}; - Full_Cursor this_line_cursor = {0}; - Full_Cursor next_line_cursor = {0}; + Full_Cursor prev_line_cursor = {}; + Full_Cursor this_line_cursor = {}; + Full_Cursor next_line_cursor = {}; int32_t this_line = view.cursor.line; int32_t prev_line = this_line - 1; @@ -1336,7 +1333,7 @@ CUSTOM_DOC("Swaps the line under the cursor with the line below it, and moves th } int32_t next_line = view.cursor.line + 1; - Full_Cursor new_cursor = {0}; + Full_Cursor new_cursor = {}; if (view_compute_cursor(app, &view, seek_line_char(next_line, 1), &new_cursor)){ if (new_cursor.line == next_line){ view_set_cursor(app, &view, seek_pos(new_cursor.pos), true); @@ -1355,7 +1352,7 @@ CUSTOM_DOC("Create a copy of the line on which the cursor sits.") Partition *part = &global_part; Temp_Memory temp = begin_temp_memory(part); - String line_string = {0}; + String line_string = {}; char *before_line = push_array(part, char, 1); if (read_line(app, part, &buffer, view.cursor.line, &line_string)){ *before_line = '\n'; @@ -1406,7 +1403,7 @@ get_cpp_matching_file(Application_Links *app, Buffer_Summary buffer, Buffer_Summ append(&file_name, make_string(buffer.file_name, buffer.file_name_len)); String extension = file_extension(file_name); - String new_extensions[2] = {0}; + String new_extensions[2] = {}; int32_t new_extensions_count = 0; if (match(extension, "cpp") || match(extension, "cc")){ @@ -1487,7 +1484,7 @@ CUSTOM_DOC("If the current file is a *.cpp or *.h, attempts to open the correspo View_Summary view = get_active_view(app, AccessAll); Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessAll); - Buffer_Summary new_buffer = {0}; + Buffer_Summary new_buffer = {}; if (get_cpp_matching_file(app, buffer, &new_buffer)){ get_next_view_looped_primary_panels(app, &view, AccessAll); view_set_buffer(app, &view, new_buffer.buffer_id, 0); diff --git a/4coder_build_commands.cpp b/4coder_build_commands.cpp index 6e17dc24..a0a49677 100644 --- a/4coder_build_commands.cpp +++ b/4coder_build_commands.cpp @@ -167,7 +167,7 @@ CUSTOM_DOC("Looks for a build.bat, build.sh, or makefile in the current and pare static View_Summary get_or_open_build_panel(Application_Links *app){ - View_Summary view = {0}; + View_Summary view = {}; Buffer_Summary buffer = GET_COMP_BUFFER(app); if (buffer.exists){ view = get_first_view_with_buffer(app, buffer.buffer_id); diff --git a/4coder_casey.cpp b/4coder_casey.cpp index ebb80f01..4157979b 100644 --- a/4coder_casey.cpp +++ b/4coder_casey.cpp @@ -1140,7 +1140,7 @@ CUSTOM_COMMAND_SIG(casey_force_codelegal_characters) Buffer_Edit *edits = (Buffer_Edit*)app->memory; char data[1024]; - Stream_Chunk chunk = {0}; + Stream_Chunk chunk = {}; int32_t i = 0; int32_t last_utf = 0; @@ -1244,7 +1244,7 @@ casey_list_all_functions(Application_Links *app, Partition *part, Buffer_Summary static const int32_t token_chunk_size = 512; Cpp_Token token_chunk[token_chunk_size]; - Stream_Tokens token_stream = {0}; + Stream_Tokens token_stream = {}; if (init_stream_tokens(&token_stream, app, buffer, 0, token_chunk, token_chunk_size)){ Stream_Tokens start_position_stream_temp = begin_temp_stream_token(&token_stream); @@ -1779,7 +1779,7 @@ struct Casey_Scroll_Velocity float x, y, t; }; -Casey_Scroll_Velocity casey_scroll_velocity_[16] = {0}; +Casey_Scroll_Velocity casey_scroll_velocity_[16] = {}; Casey_Scroll_Velocity *casey_scroll_velocity = casey_scroll_velocity_ - 1; SCROLL_RULE_SIG(casey_smooth_scroll_rule){ diff --git a/4coder_clipboard.cpp b/4coder_clipboard.cpp index f698eb53..1845d8b3 100644 --- a/4coder_clipboard.cpp +++ b/4coder_clipboard.cpp @@ -74,7 +74,7 @@ CUSTOM_DOC("At the cursor, insert the text at the top of the clipboard.") view_set_cursor(app, &view, seek_pos(pos + len), true); // TODO(allen): Send this to all views. - Theme_Color paste = {0}; + Theme_Color paste = {}; paste.tag = Stag_Paste; get_theme_colors(app, &paste, 1); view_post_fade(app, &view, 0.667f, pos, pos + len, paste.color); @@ -119,7 +119,7 @@ CUSTOM_DOC("If the previous command was paste or paste_next, replaces the paste view_set_cursor(app, &view, seek_pos(pos + len), true); // TODO(allen): Send this to all views. - Theme_Color paste = {0}; + Theme_Color paste = {}; paste.tag = Stag_Paste; get_theme_colors(app, &paste, 1); view_post_fade(app, &view, 0.667f, pos, pos + len, paste.color); diff --git a/4coder_combined_write_commands.cpp b/4coder_combined_write_commands.cpp index abdd8f3b..83917a3e 100644 --- a/4coder_combined_write_commands.cpp +++ b/4coder_combined_write_commands.cpp @@ -193,7 +193,7 @@ snippet_lister__parameterized(Application_Links *app, Snippet_Array snippet_arra CUSTOM_COMMAND_SIG(snippet_lister) CUSTOM_DOC("Opens a snippet lister for inserting whole pre-written snippets of text.") { - Snippet_Array snippet_array = {0}; + Snippet_Array snippet_array = {}; snippet_array.snippets = default_snippets; snippet_array.count = ArrayCount(default_snippets); snippet_lister__parameterized(app, snippet_array); diff --git a/4coder_config.cpp b/4coder_config.cpp index 7e859519..d136802d 100644 --- a/4coder_config.cpp +++ b/4coder_config.cpp @@ -6,7 +6,7 @@ static CString_Array get_code_extensions(Extension_List *list){ - CString_Array array = {0}; + CString_Array array = {}; array.strings = default_extensions; array.count = ArrayCount(default_extensions); if (list->count != 0){ @@ -50,7 +50,7 @@ parse_extension_line_to_extension_list(String str, Extension_List *list){ static Error_Location get_error_location(char *base, char *pos){ - Error_Location location = {0}; + Error_Location location = {}; location.line_number = 1; location.column_number = 1; for (char *ptr = base; @@ -69,7 +69,7 @@ get_error_location(char *base, char *pos){ static String config_stringize_errors(Partition *arena, Config *parsed){ - String result = {0}; + String result = {}; if (parsed->errors.first != 0){ result.str = push_array(arena, char, 0); result.memory_size = partition_remaining(arena); @@ -104,7 +104,7 @@ config_parser__advance_to_next(Config_Parser *ctx){ static Config_Parser make_config_parser(Partition *arena, String file_name, String data, Cpp_Token_Array array){ - Config_Parser ctx = {0}; + Config_Parser ctx = {}; ctx.start = array.tokens; ctx.token = ctx.start - 1; ctx.end = ctx.start + array.count; @@ -129,7 +129,7 @@ config_parser__recognize_token(Config_Parser *ctx, Cpp_Token_Type type){ static String config_parser__get_lexeme(Config_Parser *ctx){ - String lexeme = {0}; + String lexeme = {}; if (ctx->start <= ctx->token && ctx->token < ctx->end){ lexeme = make_string(ctx->data.str + ctx->token->start, ctx->token->size); } @@ -138,7 +138,7 @@ config_parser__get_lexeme(Config_Parser *ctx){ static Config_Integer config_parser__get_int(Config_Parser *ctx){ - Config_Integer config_integer = {0}; + Config_Integer config_integer = {}; String str = config_parser__get_lexeme(ctx); if (match(substr(str, 0, 2), "0x")){ config_integer.is_signed = false; @@ -512,7 +512,7 @@ config_parser__compound(Config_Parser *ctx){ static Config_Compound_Element* config_parser__element(Config_Parser *ctx){ - Config_Layout layout = {0}; + Config_Layout layout = {}; layout.pos = config_parser__get_pos(ctx); if (config_parser__match_token(ctx, CPP_TOKEN_DOT)){ if (config_parser__recognize_token(ctx, CPP_TOKEN_IDENTIFIER)){ @@ -568,7 +568,7 @@ config_var(Config *config, String var_name, int32_t subscript); static Config_Get_Result config_evaluate_rvalue(Config *config, Config_Assignment *assignment, Config_RValue *r){ - Config_Get_Result result = {0}; + Config_Get_Result result = {}; if (r != 0 && !assignment->visited){ if (r->type == ConfigRValueType_LValue){ assignment->visited = true; @@ -613,7 +613,7 @@ config_evaluate_rvalue(Config *config, Config_Assignment *assignment, Config_RVa static Config_Get_Result config_var(Config *config, String var_name, int32_t subscript){ - Config_Get_Result result = {0}; + Config_Get_Result result = {}; Config_Assignment *assignment = config_lookup_assignment(config, var_name, subscript); if (assignment != 0){ result = config_evaluate_rvalue(config, assignment, assignment->r); @@ -623,7 +623,7 @@ config_var(Config *config, String var_name, int32_t subscript){ static Config_Get_Result config_compound_member(Config *config, Config_Compound *compound, String var_name, int32_t index){ - Config_Get_Result result = {0}; + Config_Get_Result result = {}; int32_t implicit_index = 0; bool32 implicit_index_is_valid = true; for (Config_Compound_Element *element = compound->first; @@ -655,7 +655,7 @@ config_compound_member(Config *config, Config_Compound *compound, String var_nam }break; } if (element_matches_query){ - Config_Assignment dummy_assignment = {0}; + Config_Assignment dummy_assignment = {}; dummy_assignment.pos = element->l.pos; result = config_evaluate_rvalue(config, &dummy_assignment, element->r); break; @@ -1207,7 +1207,7 @@ typed_no_type_array_reference_list(Partition *arena, Config *config, Config_Comp static Config_Iteration_Step_Result typed_array_iteration_step(Config *parsed, Config_Compound *compound, Config_RValue_Type type, int32_t index){ - Config_Iteration_Step_Result result = {0}; + Config_Iteration_Step_Result result = {}; result.step = Iteration_Quit; Config_Get_Result get_result = config_compound_member(parsed, compound, make_lit_string("~"), index); if (get_result.success){ @@ -1240,7 +1240,7 @@ typed_array_get_count(Config *parsed, Config_Compound *compound, Config_RValue_T static Config_Get_Result_List typed_array_reference_list(Partition *arena, Config *parsed, Config_Compound *compound, Config_RValue_Type type){ - Config_Get_Result_List list = {0}; + Config_Get_Result_List list = {}; for (int32_t i = 0;; ++i){ Config_Iteration_Step_Result result = typed_array_iteration_step(parsed, compound, type, i); if (result.step == Iteration_Skip){ @@ -1295,12 +1295,12 @@ text_data_to_token_array(Partition *arena, String data){ bool32 success = false; int32_t max_count = (1 << 20)/sizeof(Cpp_Token); Temp_Memory restore_point = begin_temp_memory(arena); - Cpp_Token_Array array = {0}; + Cpp_Token_Array array = {}; array.tokens = push_array(arena, Cpp_Token, max_count); if (array.tokens != 0){ array.max_count = max_count; - Cpp_Keyword_Table kw_table = {0}; - Cpp_Keyword_Table pp_table = {0}; + Cpp_Keyword_Table kw_table = {}; + Cpp_Keyword_Table pp_table = {}; if (lexer_keywords_default_init(arena, &kw_table, &pp_table)){ Cpp_Lex_Data S = cpp_lex_data_init(false, kw_table, pp_table); Cpp_Lex_Result result = cpp_lex_step(&S, data.str, data.size + 1, HAS_NULL_TERM, &array, NO_OUT_LIMIT); @@ -1684,7 +1684,7 @@ load_config_and_apply(Application_Links *app, Partition *scratch, Config_Data *c change_theme(app, config->default_theme_name.str, config->default_theme_name.size); highlight_line_at_cursor = config->highlight_line_at_cursor; - Face_Description description = {0}; + Face_Description description = {}; int32_t len = config->default_font_name.size; char *name_ptr = config->default_font_name.str; if (len > sizeof(description.font.name) - 1){ @@ -1708,7 +1708,7 @@ load_config_and_apply(Application_Links *app, Partition *scratch, Config_Data *c static void load_theme_file_into_live_set(Application_Links *app, Partition *scratch, char *file_name){ Temp_Memory temp = begin_temp_memory(scratch); - Theme_Data theme = {0}; + Theme_Data theme = {}; Config *config = theme_parse__file_name(app, scratch, file_name, &theme); String error_text = config_stringize_errors(scratch, config); print_message(app, error_text.str, error_text.size); diff --git a/4coder_default_framework.cpp b/4coder_default_framework.cpp index d8890e6a..6cb6d363 100644 --- a/4coder_default_framework.cpp +++ b/4coder_default_framework.cpp @@ -27,7 +27,7 @@ lock_jump_buffer(Buffer_Summary buffer){ static View_Summary get_view_for_locked_jump_buffer(Application_Links *app){ - View_Summary view = {0}; + View_Summary view = {}; if (locked_buffer.size > 0){ Buffer_Summary buffer = get_buffer_by_name(app, locked_buffer.str, locked_buffer.size, AccessAll); if (buffer.exists){ @@ -290,7 +290,7 @@ CUSTOM_DOC("Toggle fullscreen mode on or off. The change(s) do not take effect CUSTOM_COMMAND_SIG(remap_interactive) CUSTOM_DOC("Switch to a named key binding map.") { - Query_Bar bar = {0}; + Query_Bar bar = {}; char space[1024]; bar.prompt = make_lit_string("Map Name: "); bar.string = make_fixed_width_string(space); diff --git a/4coder_default_framework_variables.cpp b/4coder_default_framework_variables.cpp index 25508f5c..00da31c1 100644 --- a/4coder_default_framework_variables.cpp +++ b/4coder_default_framework_variables.cpp @@ -59,12 +59,12 @@ enum{ }; static int32_t fcoder_mode = FCoderMode_Original; -static ID_Line_Column_Jump_Location prev_location = {0}; +static ID_Line_Column_Jump_Location prev_location = {}; -static Config_Data global_config = {0}; +static Config_Data global_config = {}; -static char previous_isearch_query[256] = {0}; +static char previous_isearch_query[256] = {}; // BOTTOM diff --git a/4coder_default_hooks.cpp b/4coder_default_hooks.cpp index 011d5d59..03d6169a 100644 --- a/4coder_default_hooks.cpp +++ b/4coder_default_hooks.cpp @@ -107,10 +107,10 @@ sort_highlight_record(Highlight_Record *records, int32_t first, int32_t one_past static Range_Array get_enclosure_ranges(Application_Links *app, Partition *part, Buffer_Summary *buffer, int32_t pos, uint32_t flags){ - Range_Array array = {0}; + Range_Array array = {}; array.ranges = push_array(part, Range, 0); for (;;){ - Range range = {0}; + Range range = {}; if (find_scope_range(app, buffer, pos, &range, flags)){ Range *r = push_array(part, Range, 1); *r = range; @@ -147,7 +147,7 @@ mark_enclosures(Application_Links *app, Partition *scratch, Managed_Scope render Managed_Object o = alloc_buffer_markers_on_buffer(app, buffer->buffer_id, marker_count, &render_scope); managed_object_store_data(app, o, 0, marker_count, markers); - Marker_Visual_Take_Rule take_rule = {0}; + Marker_Visual_Take_Rule take_rule = {}; take_rule.take_count_per_step = 2; take_rule.step_stride_in_marker_count = 8; @@ -263,7 +263,7 @@ RENDER_CALLER_SIG(default_render_caller){ // NOTE(allen): Cursor and mark Managed_Object cursor_and_mark = alloc_buffer_markers_on_buffer(app, buffer.buffer_id, 2, &render_scope); - Marker cm_markers[2] = {0}; + Marker cm_markers[2] = {}; cm_markers[0].pos = view.cursor.pos; cm_markers[1].pos = view.mark.pos; managed_object_store_data(app, cursor_and_mark, 0, 2, cm_markers); @@ -272,14 +272,14 @@ RENDER_CALLER_SIG(default_render_caller){ switch (fcoder_mode){ case FCoderMode_Original: { - Theme_Color colors[2] = {0}; + Theme_Color colors[2] = {}; colors[0].tag = Stag_Cursor; colors[1].tag = Stag_Mark; get_theme_colors(app, colors, 2); uint32_t cursor_color = colors[0].color; uint32_t mark_color = colors[1].color; - Marker_Visual_Take_Rule take_rule = {0}; + Marker_Visual_Take_Rule take_rule = {}; take_rule.first_index = 0; take_rule.take_count_per_step = 1; take_rule.step_stride_in_marker_count = 1; @@ -302,14 +302,14 @@ RENDER_CALLER_SIG(default_render_caller){ case FCoderMode_NotepadLike: { - Theme_Color colors[2] = {0}; + Theme_Color colors[2] = {}; colors[0].tag = Stag_Cursor; colors[1].tag = Stag_Highlight; get_theme_colors(app, colors, 2); uint32_t cursor_color = colors[0].color; uint32_t highlight_color = colors[1].color; - Marker_Visual_Take_Rule take_rule = {0}; + Marker_Visual_Take_Rule take_rule = {}; take_rule.first_index = 0; take_rule.take_count_per_step = 1; take_rule.step_stride_in_marker_count = 1; @@ -333,14 +333,14 @@ RENDER_CALLER_SIG(default_render_caller){ // NOTE(allen): Line highlight setup if (highlight_line_at_cursor && is_active_view){ - Theme_Color color = {0}; + Theme_Color color = {}; color.tag = Stag_Highlight_Cursor_Line; get_theme_colors(app, &color, 1); uint32_t line_color = color.color; Marker_Visual visual = create_marker_visual(app, cursor_and_mark); marker_visual_set_effect(app, visual, VisualType_LineHighlights, line_color, 0, 0); - Marker_Visual_Take_Rule take_rule = {0}; + Marker_Visual_Take_Rule take_rule = {}; take_rule.first_index = 0; take_rule.take_count_per_step = 1; take_rule.step_stride_in_marker_count = 1; @@ -352,7 +352,7 @@ RENDER_CALLER_SIG(default_render_caller){ // NOTE(allen): Token highlight setup bool32 do_token_highlight = false; if (do_token_highlight){ - Theme_Color color = {0}; + Theme_Color color = {}; color.tag = Stag_Cursor; get_theme_colors(app, &color, 1); uint32_t token_color = (0x50 << 24) | (color.color&0xFFFFFF); @@ -363,7 +363,7 @@ RENDER_CALLER_SIG(default_render_caller){ int32_t pos2 = buffer_boundary_seek(app, &buffer, pos1, DirRight, token_flags); Managed_Object token_highlight = alloc_buffer_markers_on_buffer(app, buffer.buffer_id, 2, &render_scope); - Marker range_markers[2] = {0}; + Marker range_markers[2] = {}; range_markers[0].pos = pos1; range_markers[1].pos = pos2; managed_object_store_data(app, token_highlight, 0, 2, range_markers); @@ -811,7 +811,7 @@ struct Scroll_Velocity{ float x, y; }; -Scroll_Velocity scroll_velocity_[16] = {0}; +Scroll_Velocity scroll_velocity_[16] = {}; Scroll_Velocity *scroll_velocity = scroll_velocity_ - 1; static int32_t diff --git a/4coder_experiments.cpp b/4coder_experiments.cpp index 4ecf8f56..ff4af515 100644 --- a/4coder_experiments.cpp +++ b/4coder_experiments.cpp @@ -14,7 +14,7 @@ static float get_line_y(Application_Links *app, View_Summary *view, int32_t line){ - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; view_compute_cursor(app, view, seek_line_char(line, 1), &cursor); float y = cursor.wrapped_y; if (view->unwrapped_lines){ @@ -38,7 +38,7 @@ CUSTOM_DOC("Delete characters in a rectangular region. Range testing is done by int32_t end = 0; bool32 success = 1; - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; float y = get_line_y(app, &view, line); @@ -60,8 +60,8 @@ CUSTOM_DOC("Delete characters in a rectangular region. Range testing is done by static void pad_buffer_line(Application_Links *app, Partition *part, Buffer_Summary *buffer, int32_t line, char padchar, int32_t target){ - Partial_Cursor start = {0}; - Partial_Cursor end = {0}; + Partial_Cursor start = {}; + Partial_Cursor end = {}; if (buffer_compute_cursor(app, buffer, seek_line_char(line, 1), &start)){ if (buffer_compute_cursor(app, buffer, seek_line_char(line, 65536), &end)){ @@ -145,7 +145,7 @@ CUSTOM_DOC("Begin multi-line mode. In multi-line mode characters are inserted a Buffer_Edit *edits = edit; for (int32_t i = rect.line0; i <= rect.line1; ++i){ - Partial_Cursor cursor = {0}; + Partial_Cursor cursor = {}; if (buffer_compute_cursor(app, &buffer, seek_line_char(i, pos+1), &cursor)){ edit->str_start = 0; @@ -173,7 +173,7 @@ CUSTOM_DOC("Begin multi-line mode. In multi-line mode characters are inserted a Buffer_Edit *edits = edit; for (int32_t i = rect.line0; i <= rect.line1; ++i){ - Partial_Cursor cursor = {0}; + Partial_Cursor cursor = {}; if (buffer_compute_cursor(app, &buffer, seek_line_char(i, pos+1), &cursor)){ edit->str_start = 0; @@ -300,18 +300,18 @@ static void multi_paste_interactive_up_down(Application_Links *app, int32_t paste_count, int32_t clip_count){ View_Summary view = get_active_view(app, AccessOpen); - Range range = {0}; + Range range = {}; range.min = range.max = view.cursor.pos; bool32 old_to_new = true; range = multi_paste_range(app, &view, range, paste_count, old_to_new); - Query_Bar bar = {0}; + Query_Bar bar = {}; bar.prompt = make_lit_string("Up and Down to condense and expand paste stages; R to reverse order; Return to finish; Escape to abort."); if (start_query_bar(app, &bar, 0) == 0) return; - User_Input in = {0}; + User_Input in = {}; for (;;){ in = get_user_input(app, EventOnAnyKey, EventOnEsc); if (in.abort) break; @@ -360,7 +360,7 @@ CUSTOM_COMMAND_SIG(multi_paste_interactive_quick){ int32_t clip_count = clipboard_count(app, 0); if (clip_count > 0){ char string_space[256]; - Query_Bar bar = {0}; + Query_Bar bar = {}; bar.prompt = make_lit_string("How Many Slots To Paste: "); bar.string = make_fixed_width_string(string_space); query_user_number(app, &bar); @@ -397,7 +397,7 @@ CUSTOM_DOC("If the cursor is found to be on the name of a function parameter in if (!result.in_whitespace){ static const int32_t stream_space_size = 512; Cpp_Token stream_space[stream_space_size]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, &buffer, result.token_index, stream_space, stream_space_size)){ int32_t token_index = result.token_index; @@ -554,7 +554,7 @@ write_explicit_enum_values_parameters(Application_Links *app, Write_Explicit_Enu if (buffer_get_token_index(app, &buffer, view.cursor.pos, &result)){ if (!result.in_whitespace){ Cpp_Token stream_space[32]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, &buffer, result.token_index, stream_space, 32)){ int32_t token_index = result.token_index; @@ -725,8 +725,8 @@ replace_all_occurrences_parameters(Application_Links *app, Heap *heap, Partition for (bool32 got_all_occurrences = false; !got_all_occurrences;){ // Initialize a generic search all buffers - Search_Set set = {0}; - Search_Iter iter = {0}; + Search_Set set = {}; + Search_Iter iter = {}; initialize_generic_search_all_buffers(app, heap, &target_string, 1, SearchFlag_MatchSubstring, 0, 0, &set, &iter); // Visit all locations and create replacement list diff --git a/4coder_file.h b/4coder_file.h index 35f111fe..72ce6db8 100644 --- a/4coder_file.h +++ b/4coder_file.h @@ -200,7 +200,7 @@ get_file_list(Partition *part, Filename_Character *pattern, File_Filter *filter) // TODO(allen): // TODO(allen): // TODO(allen): // TODO(allen): // TODO(allen): // Get this working with the new search by pattern structure!!! - WIN32_FIND_DATA find_data = {0}; + WIN32_FIND_DATA find_data = {}; HANDLE search = FindFirstFile(pattern, &find_data); if (search == INVALID_HANDLE_VALUE){ fprintf(stdout, "fatal error: could not begin a file search\n"); @@ -231,7 +231,7 @@ get_file_list(Partition *part, Filename_Character *pattern, File_Filter *filter) }while(more_files); FindClose(search); - Cross_Platform_File_List list = {0}; + Cross_Platform_File_List list = {}; Temp_Memory part_reset = begin_temp_memory(part); int32_t rounded_char_size = (character_count*sizeof(Filename_Character) + 7)&(~7); @@ -311,7 +311,7 @@ static bool32 match_pattern(Filename_Character *name, Filename_Character *pattern){ bool32 match = false; if (sizeof(*name) == 1){ - Absolutes absolutes = {0}; + Absolutes absolutes = {}; String pattern_str = make_string_slowly(pattern); get_absolutes(pattern_str, &absolutes, false, false); match = wildcard_match_c(&absolutes, name, false); @@ -397,7 +397,7 @@ get_file_list(Partition *part, Filename_Character *pattern, File_Filter *filter) } } - Cross_Platform_File_List list = {0}; + Cross_Platform_File_List list = {}; Temp_Memory part_reset = begin_temp_memory(part); int32_t rounded_char_size = (character_count*sizeof(Filename_Character) + 7)&(~7); @@ -479,7 +479,7 @@ get_file_list(Partition *part, Filename_Character *pattern, File_Filter *filter) static String file_dump(Partition *part, char *name){ - String text = {0}; + String text = {}; FILE *file = fopen(name, "rb"); if (file != 0){ diff --git a/4coder_font_helper.cpp b/4coder_font_helper.cpp index fbe2c562..5179b624 100644 --- a/4coder_font_helper.cpp +++ b/4coder_font_helper.cpp @@ -7,7 +7,7 @@ static Face_Description get_buffer_face_description(Application_Links *app, Buffer_Summary *buffer){ Face_ID current_id = get_face_id(app, buffer); - Face_Description description = {0}; + Face_Description description = {}; if (current_id != 0){ description = get_face_description(app, current_id); } diff --git a/4coder_function_list.cpp b/4coder_function_list.cpp index ffa9709a..b50ab076 100644 --- a/4coder_function_list.cpp +++ b/4coder_function_list.cpp @@ -15,11 +15,11 @@ static Get_Positions_Results get_function_positions(Application_Links *app, Buffer_Summary *buffer, int32_t token_index, Function_Positions *positions_array, int32_t positions_max){ - Get_Positions_Results result = {0}; + Get_Positions_Results result = {}; static const int32_t token_chunk_size = 512; Cpp_Token token_chunk[token_chunk_size]; - Stream_Tokens token_stream = {0}; + Stream_Tokens token_stream = {}; if (init_stream_tokens(&token_stream, app, buffer, token_index, token_chunk, token_chunk_size)){ int32_t nest_level = 0; @@ -171,7 +171,7 @@ print_positions(Application_Links *app, Buffer_Summary *buffer, Function_Positio static const int32_t sig_chunk_size = 64; Cpp_Token sig_chunk[sig_chunk_size]; - Stream_Tokens sig_stream = {0}; + Stream_Tokens sig_stream = {}; if (init_stream_tokens(&sig_stream, app, buffer, local_index, sig_chunk, sig_chunk_size)){ bool32 still_looping = false; do{ diff --git a/4coder_generated/command_metadata.h b/4coder_generated/command_metadata.h index c0b2b43c..37eb69e8 100644 --- a/4coder_generated/command_metadata.h +++ b/4coder_generated/command_metadata.h @@ -237,222 +237,222 @@ int32_t source_name_len; int32_t line_number; }; static Command_Metadata fcoder_metacmd_table[216] = { -{ PROC_LINKS(allow_mouse, 0), "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 240 }, -{ PROC_LINKS(auto_tab_line_at_cursor, 0), "auto_tab_line_at_cursor", 23, "Auto-indents the line on which the cursor sits.", 47, "c:\\4ed\\code\\4coder_auto_indent.cpp", 34, 722 }, -{ PROC_LINKS(auto_tab_range, 0), "auto_tab_range", 14, "Auto-indents the range between the cursor and the mark.", 55, "c:\\4ed\\code\\4coder_auto_indent.cpp", 34, 733 }, -{ PROC_LINKS(auto_tab_whole_file, 0), "auto_tab_whole_file", 19, "Audo-indents the entire current buffer.", 39, "c:\\4ed\\code\\4coder_auto_indent.cpp", 34, 712 }, -{ PROC_LINKS(backspace_char, 0), "backspace_char", 14, "Deletes the character to the left of the cursor.", 48, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 69 }, -{ PROC_LINKS(backspace_word, 0), "backspace_word", 14, "Delete characters between the cursor position and the first alphanumeric boundary to the left.", 94, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1258 }, -{ PROC_LINKS(basic_change_active_panel, 0), "basic_change_active_panel", 25, "Change the currently active panel, moving to the panel with the next highest view_id. Will not skipe the build panel if it is open.", 132, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 476 }, -{ PROC_LINKS(build_in_build_panel, 0), "build_in_build_panel", 20, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*. Puts the *compilation* buffer in a panel at the footer of the current view.", 230, "c:\\4ed\\code\\4coder_build_commands.cpp", 37, 187 }, -{ PROC_LINKS(build_search, 0), "build_search", 12, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*.", 153, "c:\\4ed\\code\\4coder_build_commands.cpp", 37, 155 }, -{ PROC_LINKS(center_view, 0), "center_view", 11, "Centers the view vertically on the line on which the cursor sits.", 65, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 118 }, -{ PROC_LINKS(change_active_panel, 0), "change_active_panel", 19, "Change the currently active panel, moving to the panel with the next highest view_id.", 85, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 144 }, -{ PROC_LINKS(change_active_panel_backwards, 0), "change_active_panel_backwards", 29, "Change the currently active panel, moving to the panel with the next lowest view_id.", 84, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 154 }, -{ PROC_LINKS(change_to_build_panel, 0), "change_to_build_panel", 21, "If the special build panel is open, makes the build panel the active panel.", 75, "c:\\4ed\\code\\4coder_build_commands.cpp", 37, 209 }, -{ PROC_LINKS(clean_all_lines, 0), "clean_all_lines", 15, "Removes trailing whitespace from all lines in the current buffer.", 65, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 411 }, -{ PROC_LINKS(click_set_cursor, 0), "click_set_cursor", 16, "Sets the cursor position to the mouse position.", 47, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 185 }, -{ PROC_LINKS(click_set_cursor_and_mark, 0), "click_set_cursor_and_mark", 25, "Sets the cursor position and mark to the mouse position.", 56, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 172 }, -{ PROC_LINKS(click_set_cursor_if_lbutton, 0), "click_set_cursor_if_lbutton", 27, "If the mouse left button is pressed, sets the cursor position to the mouse position.", 84, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 198 }, -{ PROC_LINKS(click_set_mark, 0), "click_set_mark", 14, "Sets the mark position to the mouse position.", 45, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 213 }, -{ PROC_LINKS(close_all_code, 0), "close_all_code", 14, "Closes any buffer with a filename ending with an extension configured to be recognized as a code file type.", 107, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1060 }, -{ PROC_LINKS(close_build_panel, 0), "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "c:\\4ed\\code\\4coder_build_commands.cpp", 37, 203 }, -{ PROC_LINKS(close_panel, 0), "close_panel", 11, "Closes the currently active panel if it is not the only panel open.", 67, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 484 }, -{ PROC_LINKS(command_lister, 0), "command_lister", 14, "Opens an interactive list of all registered commands.", 53, "c:\\4ed\\code\\4coder_lists.cpp", 28, 938 }, -{ PROC_LINKS(copy, 0), "copy", 4, "Copy the text in the range from the cursor to the mark onto the clipboard.", 74, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 26 }, -{ PROC_LINKS(cursor_mark_swap, 0), "cursor_mark_swap", 16, "Swaps the position of the cursor and the mark.", 46, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 96 }, -{ PROC_LINKS(cut, 0), "cut", 3, "Cut the text in the range from the cursor to the mark onto the clipboard.", 73, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 35 }, -{ PROC_LINKS(decrease_face_size, 0), "decrease_face_size", 18, "Decrease the size of the face used by the current buffer.", 57, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 574 }, -{ PROC_LINKS(decrease_line_wrap, 0), "decrease_line_wrap", 18, "Decrases the current buffer's width for line wrapping.", 54, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 551 }, -{ PROC_LINKS(delete_char, 0), "delete_char", 11, "Deletes the character to the right of the cursor.", 49, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 51 }, -{ PROC_LINKS(delete_current_scope, 0), "delete_current_scope", 20, "Deletes the braces surrounding the currently selected scope. Leaves the contents within the scope.", 99, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 526 }, -{ PROC_LINKS(delete_file_query, 0), "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1121 }, -{ PROC_LINKS(delete_line, 0), "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1371 }, -{ PROC_LINKS(delete_range, 0), "delete_range", 12, "Deletes the text in the range between the cursor and the mark.", 62, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 106 }, -{ PROC_LINKS(delete_word, 0), "delete_word", 11, "Delete characters between the cursor position and the first alphanumeric boundary to the right.", 95, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1264 }, -{ PROC_LINKS(duplicate_line, 0), "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1349 }, -{ PROC_LINKS(eol_dosify, 0), "eol_dosify", 10, "Puts the buffer in DOS line ending mode.", 40, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 604 }, -{ PROC_LINKS(eol_nixify, 0), "eol_nixify", 10, "Puts the buffer in NIX line ending mode.", 40, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 612 }, -{ PROC_LINKS(execute_any_cli, 0), "execute_any_cli", 15, "Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer.", 133, "c:\\4ed\\code\\4coder_system_command.cpp", 37, 23 }, -{ PROC_LINKS(execute_previous_cli, 0), "execute_previous_cli", 20, "If the command execute_any_cli has already been used, this will execute a CLI reusing the most recent buffer name and command.", 126, "c:\\4ed\\code\\4coder_system_command.cpp", 37, 7 }, -{ PROC_LINKS(exit_4coder, 0), "exit_4coder", 11, "Attempts to close 4coder.", 25, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 620 }, -{ PROC_LINKS(goto_beginning_of_file, 0), "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1177 }, -{ PROC_LINKS(goto_end_of_file, 0), "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1185 }, -{ PROC_LINKS(goto_first_jump_direct, 0), "goto_first_jump_direct", 22, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer.", 95, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 84 }, -{ PROC_LINKS(goto_first_jump_same_panel_sticky, 0), "goto_first_jump_same_panel_sticky", 33, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer and views the buffer in the panel where the jump list was.", 153, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 550 }, -{ PROC_LINKS(goto_first_jump_sticky, 0), "goto_first_jump_sticky", 22, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer.", 95, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 532 }, -{ PROC_LINKS(goto_jump_at_cursor_direct, 0), "goto_jump_at_cursor_direct", 26, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in another view and changes the active panel to the view containing the jump.", 187, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 8 }, -{ PROC_LINKS(goto_jump_at_cursor_same_panel_direct, 0), "goto_jump_at_cursor_same_panel_direct", 37, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in this view, losing the compilation output or jump list..", 168, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 29 }, -{ PROC_LINKS(goto_jump_at_cursor_same_panel_sticky, 0), "goto_jump_at_cursor_same_panel_sticky", 37, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in this view, losing the compilation output or jump list.", 167, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 376 }, -{ PROC_LINKS(goto_jump_at_cursor_sticky, 0), "goto_jump_at_cursor_sticky", 26, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in another view and changes the active panel to the view containing the jump.", 187, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 348 }, -{ PROC_LINKS(goto_line, 0), "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 628 }, -{ PROC_LINKS(goto_next_jump_direct, 0), "goto_next_jump_direct", 21, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, skipping sub jump locations.", 123, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 48 }, -{ PROC_LINKS(goto_next_jump_no_skips_direct, 0), "goto_next_jump_no_skips_direct", 30, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, and does not skip sub jump locations.", 132, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 66 }, -{ PROC_LINKS(goto_next_jump_no_skips_sticky, 0), "goto_next_jump_no_skips_sticky", 30, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, and does not skip sub jump locations.", 132, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 501 }, -{ PROC_LINKS(goto_next_jump_sticky, 0), "goto_next_jump_sticky", 21, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, skipping sub jump locations.", 123, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 471 }, -{ PROC_LINKS(goto_prev_jump_direct, 0), "goto_prev_jump_direct", 21, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, skipping sub jump locations.", 127, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 57 }, -{ PROC_LINKS(goto_prev_jump_no_skips_direct, 0), "goto_prev_jump_no_skips_direct", 30, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, and does not skip sub jump locations.", 136, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 75 }, -{ PROC_LINKS(goto_prev_jump_no_skips_sticky, 0), "goto_prev_jump_no_skips_sticky", 30, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, and does not skip sub jump locations.", 136, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 517 }, -{ PROC_LINKS(goto_prev_jump_sticky, 0), "goto_prev_jump_sticky", 21, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, skipping sub jump locations.", 127, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 487 }, -{ PROC_LINKS(hide_filebar, 0), "hide_filebar", 12, "Sets the current view to hide it's filebar.", 43, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 514 }, -{ PROC_LINKS(hide_scrollbar, 0), "hide_scrollbar", 14, "Sets the current view to hide it's scrollbar.", 45, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 500 }, -{ PROC_LINKS(if0_off, 0), "if0_off", 7, "Surround the range between the cursor and mark with an '#if 0' and an '#endif'", 78, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 81 }, -{ PROC_LINKS(increase_face_size, 0), "increase_face_size", 18, "Increase the size of the face used by the current buffer.", 57, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 562 }, -{ PROC_LINKS(increase_line_wrap, 0), "increase_line_wrap", 18, "Increases the current buffer's width for line wrapping.", 55, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 540 }, -{ PROC_LINKS(interactive_kill_buffer, 0), "interactive_kill_buffer", 23, "Interactively kill an open buffer.", 34, "c:\\4ed\\code\\4coder_lists.cpp", 28, 751 }, -{ PROC_LINKS(interactive_new, 0), "interactive_new", 15, "Interactively creates a new file.", 33, "c:\\4ed\\code\\4coder_lists.cpp", 28, 856 }, -{ PROC_LINKS(interactive_open, 0), "interactive_open", 16, "Interactively opens a file.", 27, "c:\\4ed\\code\\4coder_lists.cpp", 28, 884 }, -{ PROC_LINKS(interactive_open_or_new, 0), "interactive_open_or_new", 23, "Interactively open a file out of the file system.", 49, "c:\\4ed\\code\\4coder_lists.cpp", 28, 822 }, -{ PROC_LINKS(interactive_switch_buffer, 0), "interactive_switch_buffer", 25, "Interactively switch to an open buffer.", 39, "c:\\4ed\\code\\4coder_lists.cpp", 28, 732 }, -{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1541 }, -{ PROC_LINKS(left_adjust_view, 0), "left_adjust_view", 16, "Sets the left size of the view near the x position of the cursor.", 65, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 133 }, -{ PROC_LINKS(list_all_functions_all_buffers, 0), "list_all_functions_all_buffers", 30, "Creates a jump list of lines from all buffers that appear to define or declare functions.", 89, "c:\\4ed\\code\\4coder_function_list.cpp", 36, 358 }, -{ PROC_LINKS(list_all_functions_all_buffers_lister, 0), "list_all_functions_all_buffers_lister", 37, "Creates a lister of locations that look like function definitions and declarations all buffers.", 95, "c:\\4ed\\code\\4coder_function_list.cpp", 36, 364 }, -{ PROC_LINKS(list_all_functions_current_buffer, 0), "list_all_functions_current_buffer", 33, "Creates a jump list of lines of the current buffer that appear to define or declare functions.", 94, "c:\\4ed\\code\\4coder_function_list.cpp", 36, 335 }, -{ PROC_LINKS(list_all_functions_current_buffer_lister, 0), "list_all_functions_current_buffer_lister", 40, "Creates a lister of locations that look like function definitions and declarations in the buffer.", 97, "c:\\4ed\\code\\4coder_function_list.cpp", 36, 345 }, -{ PROC_LINKS(list_all_locations, 0), "list_all_locations", 18, "Queries the user for a string and lists all exact case-sensitive matches found in all open buffers.", 99, "c:\\4ed\\code\\4coder_search.cpp", 29, 769 }, -{ PROC_LINKS(list_all_locations_case_insensitive, 0), "list_all_locations_case_insensitive", 35, "Queries the user for a string and lists all exact case-insensitive matches found in all open buffers.", 101, "c:\\4ed\\code\\4coder_search.cpp", 29, 783 }, -{ PROC_LINKS(list_all_locations_of_identifier, 0), "list_all_locations_of_identifier", 32, "Reads a token or word under the cursor and lists all exact case-sensitive mathces in all open buffers.", 102, "c:\\4ed\\code\\4coder_search.cpp", 29, 797 }, -{ PROC_LINKS(list_all_locations_of_identifier_case_insensitive, 0), "list_all_locations_of_identifier_case_insensitive", 49, "Reads a token or word under the cursor and lists all exact case-insensitive mathces in all open buffers.", 104, "c:\\4ed\\code\\4coder_search.cpp", 29, 804 }, -{ PROC_LINKS(list_all_locations_of_selection, 0), "list_all_locations_of_selection", 31, "Reads the string in the selected range and lists all exact case-sensitive mathces in all open buffers.", 102, "c:\\4ed\\code\\4coder_search.cpp", 29, 811 }, -{ PROC_LINKS(list_all_locations_of_selection_case_insensitive, 0), "list_all_locations_of_selection_case_insensitive", 48, "Reads the string in the selected range and lists all exact case-insensitive mathces in all open buffers.", 104, "c:\\4ed\\code\\4coder_search.cpp", 29, 818 }, -{ PROC_LINKS(list_all_locations_of_type_definition, 0), "list_all_locations_of_type_definition", 37, "Queries user for string, lists all locations of strings that appear to define a type whose name matches the input string.", 121, "c:\\4ed\\code\\4coder_search.cpp", 29, 825 }, -{ PROC_LINKS(list_all_locations_of_type_definition_of_identifier, 0), "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, "c:\\4ed\\code\\4coder_search.cpp", 29, 836 }, -{ PROC_LINKS(list_all_substring_locations, 0), "list_all_substring_locations", 28, "Queries the user for a string and lists all case-sensitive substring matches found in all open buffers.", 103, "c:\\4ed\\code\\4coder_search.cpp", 29, 776 }, -{ PROC_LINKS(list_all_substring_locations_case_insensitive, 0), "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, "c:\\4ed\\code\\4coder_search.cpp", 29, 790 }, -{ PROC_LINKS(lister__activate, 0), "lister__activate", 16, "A lister mode command that activates the list's action on the highlighted item.", 79, "c:\\4ed\\code\\4coder_lists.cpp", 28, 15 }, -{ PROC_LINKS(lister__backspace_text_field, 0), "lister__backspace_text_field", 28, "A lister mode command that dispatches to the lister's backspace text field handler.", 83, "c:\\4ed\\code\\4coder_lists.cpp", 28, 41 }, -{ PROC_LINKS(lister__backspace_text_field__default, 0), "lister__backspace_text_field__default", 37, "A lister mode command that backspaces one character from the text field.", 72, "c:\\4ed\\code\\4coder_lists.cpp", 28, 146 }, -{ PROC_LINKS(lister__backspace_text_field__file_path, 0), "lister__backspace_text_field__file_path", 39, "A lister mode command that backspaces one character from the text field of a file system list.", 94, "c:\\4ed\\code\\4coder_lists.cpp", 28, 218 }, -{ PROC_LINKS(lister__mouse_press, 0), "lister__mouse_press", 19, "A lister mode command that beings a click interaction with a list item under the mouse.", 87, "c:\\4ed\\code\\4coder_lists.cpp", 28, 86 }, -{ PROC_LINKS(lister__mouse_release, 0), "lister__mouse_release", 21, "A lister mode command that ends a click interaction with a list item under the mouse, possibly activating it.", 109, "c:\\4ed\\code\\4coder_lists.cpp", 28, 98 }, -{ PROC_LINKS(lister__move_down, 0), "lister__move_down", 17, "A lister mode command that dispatches to the lister's navigate down handler.", 76, "c:\\4ed\\code\\4coder_lists.cpp", 28, 61 }, -{ PROC_LINKS(lister__move_down__default, 0), "lister__move_down__default", 26, "A lister mode command that moves the highlighted item one down in the list.", 75, "c:\\4ed\\code\\4coder_lists.cpp", 28, 177 }, -{ PROC_LINKS(lister__move_up, 0), "lister__move_up", 15, "A lister mode command that dispatches to the lister's navigate up handler.", 74, "c:\\4ed\\code\\4coder_lists.cpp", 28, 51 }, -{ PROC_LINKS(lister__move_up__default, 0), "lister__move_up__default", 24, "A lister mode command that moves the highlighted item one up in the list.", 73, "c:\\4ed\\code\\4coder_lists.cpp", 28, 161 }, -{ PROC_LINKS(lister__quit, 0), "lister__quit", 12, "A lister mode command that quits the list without executing any actions.", 72, "c:\\4ed\\code\\4coder_lists.cpp", 28, 8 }, -{ PROC_LINKS(lister__repaint, 0), "lister__repaint", 15, "A lister mode command that updates the lists UI data.", 53, "c:\\4ed\\code\\4coder_lists.cpp", 28, 115 }, -{ PROC_LINKS(lister__wheel_scroll, 0), "lister__wheel_scroll", 20, "A lister mode command that scrolls the list in response to the mouse wheel.", 75, "c:\\4ed\\code\\4coder_lists.cpp", 28, 71 }, -{ PROC_LINKS(lister__write_character, 0), "lister__write_character", 23, "A lister mode command that dispatches to the lister's write character handler.", 78, "c:\\4ed\\code\\4coder_lists.cpp", 28, 31 }, -{ PROC_LINKS(lister__write_character__default, 0), "lister__write_character__default", 32, "A lister mode command that inserts a new character to the text field.", 69, "c:\\4ed\\code\\4coder_lists.cpp", 28, 126 }, -{ PROC_LINKS(lister__write_character__file_path, 0), "lister__write_character__file_path", 34, "A lister mode command that inserts a character into the text field of a file system list.", 89, "c:\\4ed\\code\\4coder_lists.cpp", 28, 193 }, -{ PROC_LINKS(lister__write_character__fixed_list, 0), "lister__write_character__fixed_list", 35, "A lister mode command that handles input for the fixed sure to kill list.", 73, "c:\\4ed\\code\\4coder_lists.cpp", 28, 253 }, -{ PROC_LINKS(load_project, 0), "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, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1083 }, -{ PROC_LINKS(make_directory_query, 0), "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1229 }, -{ PROC_LINKS(mouse_wheel_scroll, 0), "mouse_wheel_scroll", 18, "Reads the scroll wheel value from the mouse state and scrolls accordingly.", 74, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 226 }, -{ PROC_LINKS(move_down, 0), "move_down", 9, "Moves the cursor down one line.", 31, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 290 }, -{ PROC_LINKS(move_down_10, 0), "move_down_10", 12, "Moves the cursor down ten lines.", 32, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 302 }, -{ PROC_LINKS(move_down_textual, 0), "move_down_textual", 17, "Moves down to the next line of actual text, regardless of line wrapping.", 72, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 308 }, -{ PROC_LINKS(move_left, 0), "move_left", 9, "Moves the cursor one character to the left.", 43, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 339 }, -{ PROC_LINKS(move_line_down, 0), "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1326 }, -{ PROC_LINKS(move_line_up, 0), "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1262 }, -{ PROC_LINKS(move_right, 0), "move_right", 10, "Moves the cursor one character to the right.", 44, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 349 }, -{ PROC_LINKS(move_up, 0), "move_up", 7, "Moves the cursor up one line.", 29, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 284 }, -{ PROC_LINKS(move_up_10, 0), "move_up_10", 10, "Moves the cursor up ten lines.", 30, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 296 }, -{ PROC_LINKS(newline_or_goto_position_direct, 0), "newline_or_goto_position_direct", 31, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor.", 106, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 101 }, -{ PROC_LINKS(newline_or_goto_position_same_panel_direct, 0), "newline_or_goto_position_same_panel_direct", 42, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor_same_panel.", 117, "c:\\4ed\\code\\4coder_jump_direct.cpp", 34, 116 }, -{ PROC_LINKS(newline_or_goto_position_same_panel_sticky, 0), "newline_or_goto_position_same_panel_sticky", 42, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor_same_panel.", 117, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 588 }, -{ PROC_LINKS(newline_or_goto_position_sticky, 0), "newline_or_goto_position_sticky", 31, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor.", 106, "c:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 573 }, -{ PROC_LINKS(open_all_code, 0), "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, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1067 }, -{ PROC_LINKS(open_all_code_recursive, 0), "open_all_code_recursive", 23, "Works as open_all_code but also runs in all subdirectories.", 59, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1074 }, -{ PROC_LINKS(open_color_tweaker, 0), "open_color_tweaker", 18, "Opens the 4coder theme selector list.", 37, "c:\\4ed\\code\\4coder_lists.cpp", 28, 900 }, -{ PROC_LINKS(open_file_in_quotes, 0), "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1448 }, -{ PROC_LINKS(open_in_other, 0), "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1599 }, -{ PROC_LINKS(open_long_braces, 0), "open_long_braces", 16, "At the cursor, insert a '{' and '}' separated by a blank line.", 62, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 57 }, -{ PROC_LINKS(open_long_braces_break, 0), "open_long_braces_break", 22, "At the cursor, insert a '{' and '}break;' separated by a blank line.", 68, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 73 }, -{ PROC_LINKS(open_long_braces_semicolon, 0), "open_long_braces_semicolon", 26, "At the cursor, insert a '{' and '};' separated by a blank line.", 63, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 65 }, -{ PROC_LINKS(open_matching_file_cpp, 0), "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1484 }, -{ PROC_LINKS(open_panel_hsplit, 0), "open_panel_hsplit", 17, "Create a new panel by horizontally splitting the active panel.", 62, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 173 }, -{ PROC_LINKS(open_panel_vsplit, 0), "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 164 }, -{ PROC_LINKS(page_down, 0), "page_down", 9, "Scrolls the view down one view height and moves the cursor down one view height.", 80, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 328 }, -{ PROC_LINKS(page_up, 0), "page_up", 7, "Scrolls the view up one view height and moves the cursor up one view height.", 76, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 319 }, -{ PROC_LINKS(paste, 0), "paste", 5, "At the cursor, insert the text at the top of the clipboard.", 59, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 46 }, -{ PROC_LINKS(paste_and_indent, 0), "paste_and_indent", 16, "Paste from the top of clipboard and run auto-indent on the newly pasted text.", 77, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 134 }, -{ PROC_LINKS(paste_next, 0), "paste_next", 10, "If the previous command was paste or paste_next, replaces the paste range with the next text down on the clipboard, otherwise operates as the paste command.", 156, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 85 }, -{ PROC_LINKS(paste_next_and_indent, 0), "paste_next_and_indent", 21, "Paste the next item on the clipboard and run auto-indent on the newly pasted text.", 82, "c:\\4ed\\code\\4coder_clipboard.cpp", 32, 141 }, -{ PROC_LINKS(place_in_scope, 0), "place_in_scope", 14, "Wraps the code contained in the range between cursor and mark with a new curly brace scope.", 91, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 520 }, -{ PROC_LINKS(project_command_lister, 0), "project_command_lister", 22, "Open a lister of all commands in the currently loaded project.", 62, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1529 }, -{ PROC_LINKS(project_fkey_command, 0), "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, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1090 }, -{ PROC_LINKS(project_go_to_root_directory, 0), "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, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1115 }, -{ PROC_LINKS(query_replace, 0), "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1005 }, -{ PROC_LINKS(query_replace_identifier, 0), "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, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1029 }, -{ PROC_LINKS(query_replace_selection, 0), "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, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1047 }, -{ PROC_LINKS(redo, 0), "redo", 4, "Advances forewards through the undo history.", 44, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1556 }, -{ PROC_LINKS(reload_themes, 0), "reload_themes", 13, "Loads all the theme files in the theme folder, replacing duplicates with the new theme data.", 92, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1576 }, -{ PROC_LINKS(remap_interactive, 0), "remap_interactive", 17, "Switch to a named key binding map.", 34, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 290 }, -{ PROC_LINKS(rename_file_query, 0), "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1187 }, -{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1562 }, -{ PROC_LINKS(replace_in_range, 0), "replace_in_range", 16, "Queries the user for two strings, and replaces all occurences of the first string in the range between the cursor and the mark with the second string.", 150, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 886 }, -{ PROC_LINKS(reverse_search, 0), "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 857 }, -{ PROC_LINKS(reverse_search_identifier, 0), "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 875 }, -{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1568 }, -{ PROC_LINKS(save_all_dirty_buffers, 0), "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1091 }, -{ PROC_LINKS(save_to_query, 0), "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1147 }, -{ PROC_LINKS(scope_absorb_down, 0), "scope_absorb_down", 17, "If a scope is currently selected, and a statement or block statement is present below the current scope, the statement is moved into the scope.", 143, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 777 }, -{ PROC_LINKS(search, 0), "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 850 }, -{ PROC_LINKS(search_identifier, 0), "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 864 }, -{ PROC_LINKS(seek_alphanumeric_left, 0), "seek_alphanumeric_left", 22, "Seek left for boundary between alphanumeric characters and non-alphanumeric characters.", 87, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1238 }, -{ PROC_LINKS(seek_alphanumeric_or_camel_left, 0), "seek_alphanumeric_or_camel_left", 31, "Seek left for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.", 106, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1250 }, -{ PROC_LINKS(seek_alphanumeric_or_camel_right, 0), "seek_alphanumeric_or_camel_right", 32, "Seek right for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.", 107, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1244 }, -{ PROC_LINKS(seek_alphanumeric_right, 0), "seek_alphanumeric_right", 23, "Seek right for boundary between alphanumeric characters and non-alphanumeric characters.", 88, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1232 }, -{ PROC_LINKS(seek_beginning_of_line, 0), "seek_beginning_of_line", 22, "Seeks the cursor to the beginning of the visual line.", 53, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1131 }, -{ PROC_LINKS(seek_beginning_of_textual_line, 0), "seek_beginning_of_textual_line", 30, "Seeks the cursor to the beginning of the line across all text.", 62, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1111 }, -{ PROC_LINKS(seek_end_of_line, 0), "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1143 }, -{ PROC_LINKS(seek_end_of_textual_line, 0), "seek_end_of_textual_line", 24, "Seeks the cursor to the end of the line across all text.", 56, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1121 }, -{ PROC_LINKS(seek_token_left, 0), "seek_token_left", 15, "Seek left for the next beginning of a token.", 44, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1214 }, -{ PROC_LINKS(seek_token_right, 0), "seek_token_right", 16, "Seek right for the next end of a token.", 39, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1208 }, -{ PROC_LINKS(seek_white_or_token_left, 0), "seek_white_or_token_left", 24, "Seek left for the next end of a token or boundary between whitespace and non-whitespace.", 88, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1226 }, -{ PROC_LINKS(seek_white_or_token_right, 0), "seek_white_or_token_right", 25, "Seek right for the next end of a token or boundary between whitespace and non-whitespace.", 89, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1220 }, -{ PROC_LINKS(seek_whitespace_down, 0), "seek_whitespace_down", 20, "Seeks the cursor down to the next blank line.", 45, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1101 }, -{ PROC_LINKS(seek_whitespace_down_end_line, 0), "seek_whitespace_down_end_line", 29, "Seeks the cursor down to the next blank line and places it at the end of the line.", 82, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1166 }, -{ PROC_LINKS(seek_whitespace_left, 0), "seek_whitespace_left", 20, "Seek left for the next boundary between whitespace and non-whitespace.", 70, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1202 }, -{ PROC_LINKS(seek_whitespace_right, 0), "seek_whitespace_right", 21, "Seek right for the next boundary between whitespace and non-whitespace.", 71, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1196 }, -{ PROC_LINKS(seek_whitespace_up, 0), "seek_whitespace_up", 18, "Seeks the cursor up to the next blank line.", 43, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1091 }, -{ PROC_LINKS(seek_whitespace_up_end_line, 0), "seek_whitespace_up_end_line", 27, "Seeks the cursor up to the next blank line and places it at the end of the line.", 80, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1155 }, -{ PROC_LINKS(select_all, 0), "select_all", 10, "Puts the cursor at the top of the file, and the mark at the bottom of the file.", 79, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 359 }, -{ PROC_LINKS(select_next_scope_absolute, 0), "select_next_scope_absolute", 26, "Finds the first scope started by '{' after the cursor and puts the cursor and mark on the '{' and '}'.", 102, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 401 }, -{ PROC_LINKS(select_prev_scope_absolute, 0), "select_prev_scope_absolute", 26, "Finds the first scope started by '{' before the cursor and puts the cursor and mark on the '{' and '}'.", 103, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 421 }, -{ PROC_LINKS(select_surrounding_scope, 0), "select_surrounding_scope", 24, "Finds the scope enclosed by '{' '}' surrounding the cursor and puts the cursor and mark on the '{' and '}'.", 107, "c:\\4ed\\code\\4coder_scope_commands.cpp", 37, 385 }, -{ PROC_LINKS(set_bindings_choose, 0), "set_bindings_choose", 19, "Remap keybindings using the 'choose' mapping rule.", 50, "c:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 47 }, -{ PROC_LINKS(set_bindings_default, 0), "set_bindings_default", 20, "Remap keybindings using the 'default' mapping rule.", 51, "c:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 61 }, -{ PROC_LINKS(set_bindings_mac_default, 0), "set_bindings_mac_default", 24, "Remap keybindings using the 'mac-default' mapping rule.", 55, "c:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 75 }, -{ PROC_LINKS(set_mark, 0), "set_mark", 8, "Sets the mark to the current position of the cursor.", 52, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 88 }, -{ PROC_LINKS(set_mode_to_notepad_like, 0), "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 258 }, -{ PROC_LINKS(set_mode_to_original, 0), "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 252 }, -{ PROC_LINKS(setup_build_bat, 0), "setup_build_bat", 15, "Queries the user for several configuration options and initializes a new build batch script.", 92, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1500 }, -{ PROC_LINKS(setup_build_bat_and_sh, 0), "setup_build_bat_and_sh", 22, "Queries the user for several configuration options and initializes a new build batch script.", 92, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1512 }, -{ PROC_LINKS(setup_build_sh, 0), "setup_build_sh", 14, "Queries the user for several configuration options and initializes a new build shell script.", 92, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1506 }, -{ PROC_LINKS(setup_new_project, 0), "setup_new_project", 17, "Queries the user for several configuration options and initializes a new 4coder project with build scripts for every OS.", 120, "c:\\4ed\\code\\4coder_project_commands.cpp", 39, 1493 }, -{ PROC_LINKS(show_filebar, 0), "show_filebar", 12, "Sets the current view to show it's filebar.", 43, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 507 }, -{ PROC_LINKS(show_scrollbar, 0), "show_scrollbar", 14, "Sets the current view to show it's scrollbar.", 45, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 493 }, -{ PROC_LINKS(snipe_token_or_word, 0), "snipe_token_or_word", 19, "Delete a single, whole token on or to the left of the cursor and post it to the clipboard.", 90, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1270 }, -{ PROC_LINKS(snipe_token_or_word_right, 0), "snipe_token_or_word_right", 25, "Delete a single, whole token on or to the right of the cursor and post it to the clipboard.", 91, "c:\\4ed\\code\\4coder_seek.cpp", 27, 1276 }, -{ PROC_LINKS(snippet_lister, 0), "snippet_lister", 14, "Opens a snippet lister for inserting whole pre-written snippets of text.", 72, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 193 }, -{ PROC_LINKS(suppress_mouse, 0), "suppress_mouse", 14, "Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.", 83, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 234 }, -{ PROC_LINKS(swap_buffers_between_panels, 0), "swap_buffers_between_panels", 27, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1508 }, -{ PROC_LINKS(to_lowercase, 0), "to_lowercase", 12, "Converts all ascii text in the range between the cursor and the mark to lowercase.", 82, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 391 }, -{ PROC_LINKS(to_uppercase, 0), "to_uppercase", 12, "Converts all ascii text in the range between the cursor and the mark to uppercase.", 82, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 371 }, -{ PROC_LINKS(toggle_filebar, 0), "toggle_filebar", 14, "Toggles the visibility status of the current view's filebar.", 60, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 521 }, -{ PROC_LINKS(toggle_fullscreen, 0), "toggle_fullscreen", 17, "Toggle fullscreen mode on or off. The change(s) do not take effect until the next frame.", 89, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 282 }, -{ PROC_LINKS(toggle_highlight_enclosing_scopes, 0), "toggle_highlight_enclosing_scopes", 33, "In code files scopes surrounding the cursor are highlighted with distinguishing colors.", 87, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 270 }, -{ PROC_LINKS(toggle_highlight_line_at_cursor, 0), "toggle_highlight_line_at_cursor", 31, "Toggles the line highlight at the cursor.", 41, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 264 }, -{ PROC_LINKS(toggle_line_wrap, 0), "toggle_line_wrap", 16, "Toggles the current buffer's line wrapping status.", 50, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 530 }, -{ PROC_LINKS(toggle_mouse, 0), "toggle_mouse", 12, "Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.", 71, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 246 }, -{ PROC_LINKS(toggle_paren_matching_helper, 0), "toggle_paren_matching_helper", 28, "In code files matching parentheses pairs are colored with distinguishing colors.", 80, "c:\\4ed\\code\\4coder_default_framework.cpp", 40, 276 }, -{ PROC_LINKS(toggle_show_whitespace, 0), "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 597 }, -{ PROC_LINKS(toggle_virtual_whitespace, 0), "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 586 }, -{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history.", 44, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1550 }, -{ PROC_LINKS(view_buffer_other_panel, 0), "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 1498 }, -{ PROC_LINKS(view_jump_list_with_lister, 0), "view_jump_list_with_lister", 26, "When executed on a buffer with jumps, creates a persistent lister for all the jumps", 83, "c:\\4ed\\code\\4coder_jump_lister.cpp", 34, 108 }, -{ PROC_LINKS(word_complete, 0), "word_complete", 13, "Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.", 130, "c:\\4ed\\code\\4coder_search.cpp", 29, 856 }, -{ PROC_LINKS(write_and_auto_tab, 0), "write_and_auto_tab", 18, "Inserts a character and auto-indents the line on which the cursor sits.", 71, "c:\\4ed\\code\\4coder_auto_indent.cpp", 34, 745 }, -{ PROC_LINKS(write_block, 0), "write_block", 11, "At the cursor, insert a block comment.", 38, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 105 }, -{ PROC_LINKS(write_character, 0), "write_character", 15, "Inserts whatever character was used to trigger this command.", 60, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 35 }, -{ PROC_LINKS(write_hack, 0), "write_hack", 10, "At the cursor, insert a '// HACK' comment, includes user name if it was specified in config.4coder.", 99, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 93 }, -{ PROC_LINKS(write_note, 0), "write_note", 10, "At the cursor, insert a '// NOTE' comment, includes user name if it was specified in config.4coder.", 99, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 99 }, -{ PROC_LINKS(write_todo, 0), "write_todo", 10, "At the cursor, insert a '// TODO' comment, includes user name if it was specified in config.4coder.", 99, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 87 }, -{ PROC_LINKS(write_underscore, 0), "write_underscore", 16, "Inserts an underscore.", 22, "c:\\4ed\\code\\4coder_base_commands.cpp", 36, 44 }, -{ PROC_LINKS(write_zero_struct, 0), "write_zero_struct", 17, "At the cursor, insert a ' = {};'.", 33, "c:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 111 }, +{ PROC_LINKS(allow_mouse, 0), "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 240 }, +{ PROC_LINKS(auto_tab_line_at_cursor, 0), "auto_tab_line_at_cursor", 23, "Auto-indents the line on which the cursor sits.", 47, "w:\\4ed\\code\\4coder_auto_indent.cpp", 34, 722 }, +{ PROC_LINKS(auto_tab_range, 0), "auto_tab_range", 14, "Auto-indents the range between the cursor and the mark.", 55, "w:\\4ed\\code\\4coder_auto_indent.cpp", 34, 733 }, +{ PROC_LINKS(auto_tab_whole_file, 0), "auto_tab_whole_file", 19, "Audo-indents the entire current buffer.", 39, "w:\\4ed\\code\\4coder_auto_indent.cpp", 34, 712 }, +{ PROC_LINKS(backspace_char, 0), "backspace_char", 14, "Deletes the character to the left of the cursor.", 48, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 69 }, +{ PROC_LINKS(backspace_word, 0), "backspace_word", 14, "Delete characters between the cursor position and the first alphanumeric boundary to the left.", 94, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1258 }, +{ PROC_LINKS(basic_change_active_panel, 0), "basic_change_active_panel", 25, "Change the currently active panel, moving to the panel with the next highest view_id. Will not skipe the build panel if it is open.", 132, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 476 }, +{ PROC_LINKS(build_in_build_panel, 0), "build_in_build_panel", 20, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*. Puts the *compilation* buffer in a panel at the footer of the current view.", 230, "w:\\4ed\\code\\4coder_build_commands.cpp", 37, 187 }, +{ PROC_LINKS(build_search, 0), "build_search", 12, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*.", 153, "w:\\4ed\\code\\4coder_build_commands.cpp", 37, 155 }, +{ PROC_LINKS(center_view, 0), "center_view", 11, "Centers the view vertically on the line on which the cursor sits.", 65, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 118 }, +{ PROC_LINKS(change_active_panel, 0), "change_active_panel", 19, "Change the currently active panel, moving to the panel with the next highest view_id.", 85, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 144 }, +{ PROC_LINKS(change_active_panel_backwards, 0), "change_active_panel_backwards", 29, "Change the currently active panel, moving to the panel with the next lowest view_id.", 84, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 154 }, +{ PROC_LINKS(change_to_build_panel, 0), "change_to_build_panel", 21, "If the special build panel is open, makes the build panel the active panel.", 75, "w:\\4ed\\code\\4coder_build_commands.cpp", 37, 209 }, +{ PROC_LINKS(clean_all_lines, 0), "clean_all_lines", 15, "Removes trailing whitespace from all lines in the current buffer.", 65, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 411 }, +{ PROC_LINKS(click_set_cursor, 0), "click_set_cursor", 16, "Sets the cursor position to the mouse position.", 47, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 185 }, +{ PROC_LINKS(click_set_cursor_and_mark, 0), "click_set_cursor_and_mark", 25, "Sets the cursor position and mark to the mouse position.", 56, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 172 }, +{ PROC_LINKS(click_set_cursor_if_lbutton, 0), "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\\4coder_base_commands.cpp", 36, 198 }, +{ PROC_LINKS(click_set_mark, 0), "click_set_mark", 14, "Sets the mark position to the mouse position.", 45, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 213 }, +{ PROC_LINKS(close_all_code, 0), "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\\4coder_project_commands.cpp", 39, 1060 }, +{ PROC_LINKS(close_build_panel, 0), "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "w:\\4ed\\code\\4coder_build_commands.cpp", 37, 203 }, +{ PROC_LINKS(close_panel, 0), "close_panel", 11, "Closes the currently active panel if it is not the only panel open.", 67, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 484 }, +{ PROC_LINKS(command_lister, 0), "command_lister", 14, "Opens an interactive list of all registered commands.", 53, "w:\\4ed\\code\\4coder_lists.cpp", 28, 938 }, +{ PROC_LINKS(copy, 0), "copy", 4, "Copy the text in the range from the cursor to the mark onto the clipboard.", 74, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 26 }, +{ PROC_LINKS(cursor_mark_swap, 0), "cursor_mark_swap", 16, "Swaps the position of the cursor and the mark.", 46, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 96 }, +{ PROC_LINKS(cut, 0), "cut", 3, "Cut the text in the range from the cursor to the mark onto the clipboard.", 73, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 35 }, +{ PROC_LINKS(decrease_face_size, 0), "decrease_face_size", 18, "Decrease the size of the face used by the current buffer.", 57, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 574 }, +{ PROC_LINKS(decrease_line_wrap, 0), "decrease_line_wrap", 18, "Decrases the current buffer's width for line wrapping.", 54, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 551 }, +{ PROC_LINKS(delete_char, 0), "delete_char", 11, "Deletes the character to the right of the cursor.", 49, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 51 }, +{ PROC_LINKS(delete_current_scope, 0), "delete_current_scope", 20, "Deletes the braces surrounding the currently selected scope. Leaves the contents within the scope.", 99, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 526 }, +{ PROC_LINKS(delete_file_query, 0), "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1118 }, +{ PROC_LINKS(delete_line, 0), "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1368 }, +{ PROC_LINKS(delete_range, 0), "delete_range", 12, "Deletes the text in the range between the cursor and the mark.", 62, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 106 }, +{ PROC_LINKS(delete_word, 0), "delete_word", 11, "Delete characters between the cursor position and the first alphanumeric boundary to the right.", 95, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1264 }, +{ PROC_LINKS(duplicate_line, 0), "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1346 }, +{ PROC_LINKS(eol_dosify, 0), "eol_dosify", 10, "Puts the buffer in DOS line ending mode.", 40, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 604 }, +{ PROC_LINKS(eol_nixify, 0), "eol_nixify", 10, "Puts the buffer in NIX line ending mode.", 40, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 612 }, +{ PROC_LINKS(execute_any_cli, 0), "execute_any_cli", 15, "Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer.", 133, "w:\\4ed\\code\\4coder_system_command.cpp", 37, 23 }, +{ PROC_LINKS(execute_previous_cli, 0), "execute_previous_cli", 20, "If the command execute_any_cli has already been used, this will execute a CLI reusing the most recent buffer name and command.", 126, "w:\\4ed\\code\\4coder_system_command.cpp", 37, 7 }, +{ PROC_LINKS(exit_4coder, 0), "exit_4coder", 11, "Attempts to close 4coder.", 25, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 620 }, +{ PROC_LINKS(goto_beginning_of_file, 0), "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1177 }, +{ PROC_LINKS(goto_end_of_file, 0), "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1185 }, +{ PROC_LINKS(goto_first_jump_direct, 0), "goto_first_jump_direct", 22, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer.", 95, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 84 }, +{ PROC_LINKS(goto_first_jump_same_panel_sticky, 0), "goto_first_jump_same_panel_sticky", 33, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer and views the buffer in the panel where the jump list was.", 153, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 550 }, +{ PROC_LINKS(goto_first_jump_sticky, 0), "goto_first_jump_sticky", 22, "If a buffer containing jump locations has been locked in, goes to the first jump in the buffer.", 95, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 532 }, +{ PROC_LINKS(goto_jump_at_cursor_direct, 0), "goto_jump_at_cursor_direct", 26, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in another view and changes the active panel to the view containing the jump.", 187, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 8 }, +{ PROC_LINKS(goto_jump_at_cursor_same_panel_direct, 0), "goto_jump_at_cursor_same_panel_direct", 37, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in this view, losing the compilation output or jump list..", 168, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 29 }, +{ PROC_LINKS(goto_jump_at_cursor_same_panel_sticky, 0), "goto_jump_at_cursor_same_panel_sticky", 37, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in this view, losing the compilation output or jump list.", 167, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 376 }, +{ PROC_LINKS(goto_jump_at_cursor_sticky, 0), "goto_jump_at_cursor_sticky", 26, "If the cursor is found to be on a jump location, parses the jump location and brings up the file and position in another view and changes the active panel to the view containing the jump.", 187, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 348 }, +{ PROC_LINKS(goto_line, 0), "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 628 }, +{ PROC_LINKS(goto_next_jump_direct, 0), "goto_next_jump_direct", 21, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, skipping sub jump locations.", 123, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 48 }, +{ PROC_LINKS(goto_next_jump_no_skips_direct, 0), "goto_next_jump_no_skips_direct", 30, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, and does not skip sub jump locations.", 132, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 66 }, +{ PROC_LINKS(goto_next_jump_no_skips_sticky, 0), "goto_next_jump_no_skips_sticky", 30, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, and does not skip sub jump locations.", 132, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 501 }, +{ PROC_LINKS(goto_next_jump_sticky, 0), "goto_next_jump_sticky", 21, "If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, skipping sub jump locations.", 123, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 471 }, +{ PROC_LINKS(goto_prev_jump_direct, 0), "goto_prev_jump_direct", 21, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, skipping sub jump locations.", 127, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 57 }, +{ PROC_LINKS(goto_prev_jump_no_skips_direct, 0), "goto_prev_jump_no_skips_direct", 30, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, and does not skip sub jump locations.", 136, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 75 }, +{ PROC_LINKS(goto_prev_jump_no_skips_sticky, 0), "goto_prev_jump_no_skips_sticky", 30, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, and does not skip sub jump locations.", 136, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 517 }, +{ PROC_LINKS(goto_prev_jump_sticky, 0), "goto_prev_jump_sticky", 21, "If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, skipping sub jump locations.", 127, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 487 }, +{ PROC_LINKS(hide_filebar, 0), "hide_filebar", 12, "Sets the current view to hide it's filebar.", 43, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 514 }, +{ PROC_LINKS(hide_scrollbar, 0), "hide_scrollbar", 14, "Sets the current view to hide it's scrollbar.", 45, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 500 }, +{ PROC_LINKS(if0_off, 0), "if0_off", 7, "Surround the range between the cursor and mark with an '#if 0' and an '#endif'", 78, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 81 }, +{ PROC_LINKS(increase_face_size, 0), "increase_face_size", 18, "Increase the size of the face used by the current buffer.", 57, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 562 }, +{ PROC_LINKS(increase_line_wrap, 0), "increase_line_wrap", 18, "Increases the current buffer's width for line wrapping.", 55, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 540 }, +{ PROC_LINKS(interactive_kill_buffer, 0), "interactive_kill_buffer", 23, "Interactively kill an open buffer.", 34, "w:\\4ed\\code\\4coder_lists.cpp", 28, 751 }, +{ PROC_LINKS(interactive_new, 0), "interactive_new", 15, "Interactively creates a new file.", 33, "w:\\4ed\\code\\4coder_lists.cpp", 28, 856 }, +{ PROC_LINKS(interactive_open, 0), "interactive_open", 16, "Interactively opens a file.", 27, "w:\\4ed\\code\\4coder_lists.cpp", 28, 884 }, +{ PROC_LINKS(interactive_open_or_new, 0), "interactive_open_or_new", 23, "Interactively open a file out of the file system.", 49, "w:\\4ed\\code\\4coder_lists.cpp", 28, 822 }, +{ PROC_LINKS(interactive_switch_buffer, 0), "interactive_switch_buffer", 25, "Interactively switch to an open buffer.", 39, "w:\\4ed\\code\\4coder_lists.cpp", 28, 732 }, +{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1538 }, +{ PROC_LINKS(left_adjust_view, 0), "left_adjust_view", 16, "Sets the left size of the view near the x position of the cursor.", 65, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 133 }, +{ PROC_LINKS(list_all_functions_all_buffers, 0), "list_all_functions_all_buffers", 30, "Creates a jump list of lines from all buffers that appear to define or declare functions.", 89, "w:\\4ed\\code\\4coder_function_list.cpp", 36, 358 }, +{ PROC_LINKS(list_all_functions_all_buffers_lister, 0), "list_all_functions_all_buffers_lister", 37, "Creates a lister of locations that look like function definitions and declarations all buffers.", 95, "w:\\4ed\\code\\4coder_function_list.cpp", 36, 364 }, +{ PROC_LINKS(list_all_functions_current_buffer, 0), "list_all_functions_current_buffer", 33, "Creates a jump list of lines of the current buffer that appear to define or declare functions.", 94, "w:\\4ed\\code\\4coder_function_list.cpp", 36, 335 }, +{ PROC_LINKS(list_all_functions_current_buffer_lister, 0), "list_all_functions_current_buffer_lister", 40, "Creates a lister of locations that look like function definitions and declarations in the buffer.", 97, "w:\\4ed\\code\\4coder_function_list.cpp", 36, 345 }, +{ PROC_LINKS(list_all_locations, 0), "list_all_locations", 18, "Queries the user for a string and lists all exact case-sensitive matches found in all open buffers.", 99, "w:\\4ed\\code\\4coder_search.cpp", 29, 769 }, +{ PROC_LINKS(list_all_locations_case_insensitive, 0), "list_all_locations_case_insensitive", 35, "Queries the user for a string and lists all exact case-insensitive matches found in all open buffers.", 101, "w:\\4ed\\code\\4coder_search.cpp", 29, 783 }, +{ PROC_LINKS(list_all_locations_of_identifier, 0), "list_all_locations_of_identifier", 32, "Reads a token or word under the cursor and lists all exact case-sensitive mathces in all open buffers.", 102, "w:\\4ed\\code\\4coder_search.cpp", 29, 797 }, +{ PROC_LINKS(list_all_locations_of_identifier_case_insensitive, 0), "list_all_locations_of_identifier_case_insensitive", 49, "Reads a token or word under the cursor and lists all exact case-insensitive mathces in all open buffers.", 104, "w:\\4ed\\code\\4coder_search.cpp", 29, 804 }, +{ PROC_LINKS(list_all_locations_of_selection, 0), "list_all_locations_of_selection", 31, "Reads the string in the selected range and lists all exact case-sensitive mathces in all open buffers.", 102, "w:\\4ed\\code\\4coder_search.cpp", 29, 811 }, +{ PROC_LINKS(list_all_locations_of_selection_case_insensitive, 0), "list_all_locations_of_selection_case_insensitive", 48, "Reads the string in the selected range and lists all exact case-insensitive mathces in all open buffers.", 104, "w:\\4ed\\code\\4coder_search.cpp", 29, 818 }, +{ PROC_LINKS(list_all_locations_of_type_definition, 0), "list_all_locations_of_type_definition", 37, "Queries user for string, lists all locations of strings that appear to define a type whose name matches the input string.", 121, "w:\\4ed\\code\\4coder_search.cpp", 29, 825 }, +{ PROC_LINKS(list_all_locations_of_type_definition_of_identifier, 0), "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\\4coder_search.cpp", 29, 836 }, +{ PROC_LINKS(list_all_substring_locations, 0), "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\\4coder_search.cpp", 29, 776 }, +{ PROC_LINKS(list_all_substring_locations_case_insensitive, 0), "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\\4coder_search.cpp", 29, 790 }, +{ PROC_LINKS(lister__activate, 0), "lister__activate", 16, "A lister mode command that activates the list's action on the highlighted item.", 79, "w:\\4ed\\code\\4coder_lists.cpp", 28, 15 }, +{ PROC_LINKS(lister__backspace_text_field, 0), "lister__backspace_text_field", 28, "A lister mode command that dispatches to the lister's backspace text field handler.", 83, "w:\\4ed\\code\\4coder_lists.cpp", 28, 41 }, +{ PROC_LINKS(lister__backspace_text_field__default, 0), "lister__backspace_text_field__default", 37, "A lister mode command that backspaces one character from the text field.", 72, "w:\\4ed\\code\\4coder_lists.cpp", 28, 146 }, +{ PROC_LINKS(lister__backspace_text_field__file_path, 0), "lister__backspace_text_field__file_path", 39, "A lister mode command that backspaces one character from the text field of a file system list.", 94, "w:\\4ed\\code\\4coder_lists.cpp", 28, 218 }, +{ PROC_LINKS(lister__mouse_press, 0), "lister__mouse_press", 19, "A lister mode command that beings a click interaction with a list item under the mouse.", 87, "w:\\4ed\\code\\4coder_lists.cpp", 28, 86 }, +{ PROC_LINKS(lister__mouse_release, 0), "lister__mouse_release", 21, "A lister mode command that ends a click interaction with a list item under the mouse, possibly activating it.", 109, "w:\\4ed\\code\\4coder_lists.cpp", 28, 98 }, +{ PROC_LINKS(lister__move_down, 0), "lister__move_down", 17, "A lister mode command that dispatches to the lister's navigate down handler.", 76, "w:\\4ed\\code\\4coder_lists.cpp", 28, 61 }, +{ PROC_LINKS(lister__move_down__default, 0), "lister__move_down__default", 26, "A lister mode command that moves the highlighted item one down in the list.", 75, "w:\\4ed\\code\\4coder_lists.cpp", 28, 177 }, +{ PROC_LINKS(lister__move_up, 0), "lister__move_up", 15, "A lister mode command that dispatches to the lister's navigate up handler.", 74, "w:\\4ed\\code\\4coder_lists.cpp", 28, 51 }, +{ PROC_LINKS(lister__move_up__default, 0), "lister__move_up__default", 24, "A lister mode command that moves the highlighted item one up in the list.", 73, "w:\\4ed\\code\\4coder_lists.cpp", 28, 161 }, +{ PROC_LINKS(lister__quit, 0), "lister__quit", 12, "A lister mode command that quits the list without executing any actions.", 72, "w:\\4ed\\code\\4coder_lists.cpp", 28, 8 }, +{ PROC_LINKS(lister__repaint, 0), "lister__repaint", 15, "A lister mode command that updates the lists UI data.", 53, "w:\\4ed\\code\\4coder_lists.cpp", 28, 115 }, +{ PROC_LINKS(lister__wheel_scroll, 0), "lister__wheel_scroll", 20, "A lister mode command that scrolls the list in response to the mouse wheel.", 75, "w:\\4ed\\code\\4coder_lists.cpp", 28, 71 }, +{ PROC_LINKS(lister__write_character, 0), "lister__write_character", 23, "A lister mode command that dispatches to the lister's write character handler.", 78, "w:\\4ed\\code\\4coder_lists.cpp", 28, 31 }, +{ PROC_LINKS(lister__write_character__default, 0), "lister__write_character__default", 32, "A lister mode command that inserts a new character to the text field.", 69, "w:\\4ed\\code\\4coder_lists.cpp", 28, 126 }, +{ PROC_LINKS(lister__write_character__file_path, 0), "lister__write_character__file_path", 34, "A lister mode command that inserts a character into the text field of a file system list.", 89, "w:\\4ed\\code\\4coder_lists.cpp", 28, 193 }, +{ PROC_LINKS(lister__write_character__fixed_list, 0), "lister__write_character__fixed_list", 35, "A lister mode command that handles input for the fixed sure to kill list.", 73, "w:\\4ed\\code\\4coder_lists.cpp", 28, 253 }, +{ PROC_LINKS(load_project, 0), "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\\4coder_project_commands.cpp", 39, 1083 }, +{ PROC_LINKS(make_directory_query, 0), "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1226 }, +{ PROC_LINKS(mouse_wheel_scroll, 0), "mouse_wheel_scroll", 18, "Reads the scroll wheel value from the mouse state and scrolls accordingly.", 74, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 226 }, +{ PROC_LINKS(move_down, 0), "move_down", 9, "Moves the cursor down one line.", 31, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 290 }, +{ PROC_LINKS(move_down_10, 0), "move_down_10", 12, "Moves the cursor down ten lines.", 32, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 302 }, +{ PROC_LINKS(move_down_textual, 0), "move_down_textual", 17, "Moves down to the next line of actual text, regardless of line wrapping.", 72, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 308 }, +{ PROC_LINKS(move_left, 0), "move_left", 9, "Moves the cursor one character to the left.", 43, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 339 }, +{ PROC_LINKS(move_line_down, 0), "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1323 }, +{ PROC_LINKS(move_line_up, 0), "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1259 }, +{ PROC_LINKS(move_right, 0), "move_right", 10, "Moves the cursor one character to the right.", 44, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 349 }, +{ PROC_LINKS(move_up, 0), "move_up", 7, "Moves the cursor up one line.", 29, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 284 }, +{ PROC_LINKS(move_up_10, 0), "move_up_10", 10, "Moves the cursor up ten lines.", 30, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 296 }, +{ PROC_LINKS(newline_or_goto_position_direct, 0), "newline_or_goto_position_direct", 31, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor.", 106, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 101 }, +{ PROC_LINKS(newline_or_goto_position_same_panel_direct, 0), "newline_or_goto_position_same_panel_direct", 42, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor_same_panel.", 117, "w:\\4ed\\code\\4coder_jump_direct.cpp", 34, 116 }, +{ PROC_LINKS(newline_or_goto_position_same_panel_sticky, 0), "newline_or_goto_position_same_panel_sticky", 42, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor_same_panel.", 117, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 588 }, +{ PROC_LINKS(newline_or_goto_position_sticky, 0), "newline_or_goto_position_sticky", 31, "If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor.", 106, "w:\\4ed\\code\\4coder_jump_sticky.cpp", 34, 573 }, +{ PROC_LINKS(open_all_code, 0), "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\\4coder_project_commands.cpp", 39, 1067 }, +{ PROC_LINKS(open_all_code_recursive, 0), "open_all_code_recursive", 23, "Works as open_all_code but also runs in all subdirectories.", 59, "w:\\4ed\\code\\4coder_project_commands.cpp", 39, 1074 }, +{ PROC_LINKS(open_color_tweaker, 0), "open_color_tweaker", 18, "Opens the 4coder theme selector list.", 37, "w:\\4ed\\code\\4coder_lists.cpp", 28, 900 }, +{ PROC_LINKS(open_file_in_quotes, 0), "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1445 }, +{ PROC_LINKS(open_in_other, 0), "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1596 }, +{ PROC_LINKS(open_long_braces, 0), "open_long_braces", 16, "At the cursor, insert a '{' and '}' separated by a blank line.", 62, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 57 }, +{ PROC_LINKS(open_long_braces_break, 0), "open_long_braces_break", 22, "At the cursor, insert a '{' and '}break;' separated by a blank line.", 68, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 73 }, +{ PROC_LINKS(open_long_braces_semicolon, 0), "open_long_braces_semicolon", 26, "At the cursor, insert a '{' and '};' separated by a blank line.", 63, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 65 }, +{ PROC_LINKS(open_matching_file_cpp, 0), "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1481 }, +{ PROC_LINKS(open_panel_hsplit, 0), "open_panel_hsplit", 17, "Create a new panel by horizontally splitting the active panel.", 62, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 173 }, +{ PROC_LINKS(open_panel_vsplit, 0), "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 164 }, +{ PROC_LINKS(page_down, 0), "page_down", 9, "Scrolls the view down one view height and moves the cursor down one view height.", 80, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 328 }, +{ PROC_LINKS(page_up, 0), "page_up", 7, "Scrolls the view up one view height and moves the cursor up one view height.", 76, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 319 }, +{ PROC_LINKS(paste, 0), "paste", 5, "At the cursor, insert the text at the top of the clipboard.", 59, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 46 }, +{ PROC_LINKS(paste_and_indent, 0), "paste_and_indent", 16, "Paste from the top of clipboard and run auto-indent on the newly pasted text.", 77, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 134 }, +{ PROC_LINKS(paste_next, 0), "paste_next", 10, "If the previous command was paste or paste_next, replaces the paste range with the next text down on the clipboard, otherwise operates as the paste command.", 156, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 85 }, +{ PROC_LINKS(paste_next_and_indent, 0), "paste_next_and_indent", 21, "Paste the next item on the clipboard and run auto-indent on the newly pasted text.", 82, "w:\\4ed\\code\\4coder_clipboard.cpp", 32, 141 }, +{ PROC_LINKS(place_in_scope, 0), "place_in_scope", 14, "Wraps the code contained in the range between cursor and mark with a new curly brace scope.", 91, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 520 }, +{ PROC_LINKS(project_command_lister, 0), "project_command_lister", 22, "Open a lister of all commands in the currently loaded project.", 62, "w:\\4ed\\code\\4coder_project_commands.cpp", 39, 1527 }, +{ PROC_LINKS(project_fkey_command, 0), "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\\4coder_project_commands.cpp", 39, 1090 }, +{ PROC_LINKS(project_go_to_root_directory, 0), "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\\4coder_project_commands.cpp", 39, 1113 }, +{ PROC_LINKS(query_replace, 0), "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\\4coder_base_commands.cpp", 36, 1002 }, +{ PROC_LINKS(query_replace_identifier, 0), "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\\4coder_base_commands.cpp", 36, 1026 }, +{ PROC_LINKS(query_replace_selection, 0), "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\\4coder_base_commands.cpp", 36, 1044 }, +{ PROC_LINKS(redo, 0), "redo", 4, "Advances forewards through the undo history.", 44, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1553 }, +{ PROC_LINKS(reload_themes, 0), "reload_themes", 13, "Loads all the theme files in the theme folder, replacing duplicates with the new theme data.", 92, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1573 }, +{ PROC_LINKS(remap_interactive, 0), "remap_interactive", 17, "Switch to a named key binding map.", 34, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 290 }, +{ PROC_LINKS(rename_file_query, 0), "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1184 }, +{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1559 }, +{ PROC_LINKS(replace_in_range, 0), "replace_in_range", 16, "Queries the user for two strings, and replaces all occurences of the first string in the range between the cursor and the mark with the second string.", 150, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 883 }, +{ PROC_LINKS(reverse_search, 0), "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 854 }, +{ PROC_LINKS(reverse_search_identifier, 0), "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 872 }, +{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1565 }, +{ PROC_LINKS(save_all_dirty_buffers, 0), "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1088 }, +{ PROC_LINKS(save_to_query, 0), "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1144 }, +{ PROC_LINKS(scope_absorb_down, 0), "scope_absorb_down", 17, "If a scope is currently selected, and a statement or block statement is present below the current scope, the statement is moved into the scope.", 143, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 777 }, +{ PROC_LINKS(search, 0), "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 847 }, +{ PROC_LINKS(search_identifier, 0), "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 861 }, +{ PROC_LINKS(seek_alphanumeric_left, 0), "seek_alphanumeric_left", 22, "Seek left for boundary between alphanumeric characters and non-alphanumeric characters.", 87, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1238 }, +{ PROC_LINKS(seek_alphanumeric_or_camel_left, 0), "seek_alphanumeric_or_camel_left", 31, "Seek left for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.", 106, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1250 }, +{ PROC_LINKS(seek_alphanumeric_or_camel_right, 0), "seek_alphanumeric_or_camel_right", 32, "Seek right for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.", 107, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1244 }, +{ PROC_LINKS(seek_alphanumeric_right, 0), "seek_alphanumeric_right", 23, "Seek right for boundary between alphanumeric characters and non-alphanumeric characters.", 88, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1232 }, +{ PROC_LINKS(seek_beginning_of_line, 0), "seek_beginning_of_line", 22, "Seeks the cursor to the beginning of the visual line.", 53, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1131 }, +{ PROC_LINKS(seek_beginning_of_textual_line, 0), "seek_beginning_of_textual_line", 30, "Seeks the cursor to the beginning of the line across all text.", 62, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1111 }, +{ PROC_LINKS(seek_end_of_line, 0), "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1143 }, +{ PROC_LINKS(seek_end_of_textual_line, 0), "seek_end_of_textual_line", 24, "Seeks the cursor to the end of the line across all text.", 56, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1121 }, +{ PROC_LINKS(seek_token_left, 0), "seek_token_left", 15, "Seek left for the next beginning of a token.", 44, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1214 }, +{ PROC_LINKS(seek_token_right, 0), "seek_token_right", 16, "Seek right for the next end of a token.", 39, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1208 }, +{ PROC_LINKS(seek_white_or_token_left, 0), "seek_white_or_token_left", 24, "Seek left for the next end of a token or boundary between whitespace and non-whitespace.", 88, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1226 }, +{ PROC_LINKS(seek_white_or_token_right, 0), "seek_white_or_token_right", 25, "Seek right for the next end of a token or boundary between whitespace and non-whitespace.", 89, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1220 }, +{ PROC_LINKS(seek_whitespace_down, 0), "seek_whitespace_down", 20, "Seeks the cursor down to the next blank line.", 45, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1101 }, +{ PROC_LINKS(seek_whitespace_down_end_line, 0), "seek_whitespace_down_end_line", 29, "Seeks the cursor down to the next blank line and places it at the end of the line.", 82, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1166 }, +{ PROC_LINKS(seek_whitespace_left, 0), "seek_whitespace_left", 20, "Seek left for the next boundary between whitespace and non-whitespace.", 70, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1202 }, +{ PROC_LINKS(seek_whitespace_right, 0), "seek_whitespace_right", 21, "Seek right for the next boundary between whitespace and non-whitespace.", 71, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1196 }, +{ PROC_LINKS(seek_whitespace_up, 0), "seek_whitespace_up", 18, "Seeks the cursor up to the next blank line.", 43, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1091 }, +{ PROC_LINKS(seek_whitespace_up_end_line, 0), "seek_whitespace_up_end_line", 27, "Seeks the cursor up to the next blank line and places it at the end of the line.", 80, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1155 }, +{ PROC_LINKS(select_all, 0), "select_all", 10, "Puts the cursor at the top of the file, and the mark at the bottom of the file.", 79, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 359 }, +{ PROC_LINKS(select_next_scope_absolute, 0), "select_next_scope_absolute", 26, "Finds the first scope started by '{' after the cursor and puts the cursor and mark on the '{' and '}'.", 102, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 401 }, +{ PROC_LINKS(select_prev_scope_absolute, 0), "select_prev_scope_absolute", 26, "Finds the first scope started by '{' before the cursor and puts the cursor and mark on the '{' and '}'.", 103, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 421 }, +{ PROC_LINKS(select_surrounding_scope, 0), "select_surrounding_scope", 24, "Finds the scope enclosed by '{' '}' surrounding the cursor and puts the cursor and mark on the '{' and '}'.", 107, "w:\\4ed\\code\\4coder_scope_commands.cpp", 37, 385 }, +{ PROC_LINKS(set_bindings_choose, 0), "set_bindings_choose", 19, "Remap keybindings using the 'choose' mapping rule.", 50, "w:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 47 }, +{ PROC_LINKS(set_bindings_default, 0), "set_bindings_default", 20, "Remap keybindings using the 'default' mapping rule.", 51, "w:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 61 }, +{ PROC_LINKS(set_bindings_mac_default, 0), "set_bindings_mac_default", 24, "Remap keybindings using the 'mac-default' mapping rule.", 55, "w:\\4ed\\code\\4coder_remapping_commands.cpp", 41, 75 }, +{ PROC_LINKS(set_mark, 0), "set_mark", 8, "Sets the mark to the current position of the cursor.", 52, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 88 }, +{ PROC_LINKS(set_mode_to_notepad_like, 0), "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 258 }, +{ PROC_LINKS(set_mode_to_original, 0), "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 252 }, +{ PROC_LINKS(setup_build_bat, 0), "setup_build_bat", 15, "Queries the user for several configuration options and initializes a new build batch script.", 92, "w:\\4ed\\code\\4coder_project_commands.cpp", 39, 1498 }, +{ PROC_LINKS(setup_build_bat_and_sh, 0), "setup_build_bat_and_sh", 22, "Queries the user for several configuration options and initializes a new build batch script.", 92, "w:\\4ed\\code\\4coder_project_commands.cpp", 39, 1510 }, +{ PROC_LINKS(setup_build_sh, 0), "setup_build_sh", 14, "Queries the user for several configuration options and initializes a new build shell script.", 92, "w:\\4ed\\code\\4coder_project_commands.cpp", 39, 1504 }, +{ PROC_LINKS(setup_new_project, 0), "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\\4coder_project_commands.cpp", 39, 1491 }, +{ PROC_LINKS(show_filebar, 0), "show_filebar", 12, "Sets the current view to show it's filebar.", 43, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 507 }, +{ PROC_LINKS(show_scrollbar, 0), "show_scrollbar", 14, "Sets the current view to show it's scrollbar.", 45, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 493 }, +{ PROC_LINKS(snipe_token_or_word, 0), "snipe_token_or_word", 19, "Delete a single, whole token on or to the left of the cursor and post it to the clipboard.", 90, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1270 }, +{ PROC_LINKS(snipe_token_or_word_right, 0), "snipe_token_or_word_right", 25, "Delete a single, whole token on or to the right of the cursor and post it to the clipboard.", 91, "w:\\4ed\\code\\4coder_seek.cpp", 27, 1276 }, +{ PROC_LINKS(snippet_lister, 0), "snippet_lister", 14, "Opens a snippet lister for inserting whole pre-written snippets of text.", 72, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 193 }, +{ PROC_LINKS(suppress_mouse, 0), "suppress_mouse", 14, "Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.", 83, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 234 }, +{ PROC_LINKS(swap_buffers_between_panels, 0), "swap_buffers_between_panels", 27, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1505 }, +{ PROC_LINKS(to_lowercase, 0), "to_lowercase", 12, "Converts all ascii text in the range between the cursor and the mark to lowercase.", 82, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 391 }, +{ PROC_LINKS(to_uppercase, 0), "to_uppercase", 12, "Converts all ascii text in the range between the cursor and the mark to uppercase.", 82, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 371 }, +{ PROC_LINKS(toggle_filebar, 0), "toggle_filebar", 14, "Toggles the visibility status of the current view's filebar.", 60, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 521 }, +{ PROC_LINKS(toggle_fullscreen, 0), "toggle_fullscreen", 17, "Toggle fullscreen mode on or off. The change(s) do not take effect until the next frame.", 89, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 282 }, +{ PROC_LINKS(toggle_highlight_enclosing_scopes, 0), "toggle_highlight_enclosing_scopes", 33, "In code files scopes surrounding the cursor are highlighted with distinguishing colors.", 87, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 270 }, +{ PROC_LINKS(toggle_highlight_line_at_cursor, 0), "toggle_highlight_line_at_cursor", 31, "Toggles the line highlight at the cursor.", 41, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 264 }, +{ PROC_LINKS(toggle_line_wrap, 0), "toggle_line_wrap", 16, "Toggles the current buffer's line wrapping status.", 50, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 530 }, +{ PROC_LINKS(toggle_mouse, 0), "toggle_mouse", 12, "Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.", 71, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 246 }, +{ PROC_LINKS(toggle_paren_matching_helper, 0), "toggle_paren_matching_helper", 28, "In code files matching parentheses pairs are colored with distinguishing colors.", 80, "w:\\4ed\\code\\4coder_default_framework.cpp", 40, 276 }, +{ PROC_LINKS(toggle_show_whitespace, 0), "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 597 }, +{ PROC_LINKS(toggle_virtual_whitespace, 0), "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 586 }, +{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history.", 44, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1547 }, +{ PROC_LINKS(view_buffer_other_panel, 0), "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1495 }, +{ PROC_LINKS(view_jump_list_with_lister, 0), "view_jump_list_with_lister", 26, "When executed on a buffer with jumps, creates a persistent lister for all the jumps", 83, "w:\\4ed\\code\\4coder_jump_lister.cpp", 34, 108 }, +{ PROC_LINKS(word_complete, 0), "word_complete", 13, "Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.", 130, "w:\\4ed\\code\\4coder_search.cpp", 29, 856 }, +{ PROC_LINKS(write_and_auto_tab, 0), "write_and_auto_tab", 18, "Inserts a character and auto-indents the line on which the cursor sits.", 71, "w:\\4ed\\code\\4coder_auto_indent.cpp", 34, 745 }, +{ PROC_LINKS(write_block, 0), "write_block", 11, "At the cursor, insert a block comment.", 38, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 105 }, +{ PROC_LINKS(write_character, 0), "write_character", 15, "Inserts whatever character was used to trigger this command.", 60, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 35 }, +{ PROC_LINKS(write_hack, 0), "write_hack", 10, "At the cursor, insert a '// HACK' comment, includes user name if it was specified in config.4coder.", 99, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 93 }, +{ PROC_LINKS(write_note, 0), "write_note", 10, "At the cursor, insert a '// NOTE' comment, includes user name if it was specified in config.4coder.", 99, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 99 }, +{ PROC_LINKS(write_todo, 0), "write_todo", 10, "At the cursor, insert a '// TODO' comment, includes user name if it was specified in config.4coder.", 99, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 87 }, +{ PROC_LINKS(write_underscore, 0), "write_underscore", 16, "Inserts an underscore.", 22, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 44 }, +{ PROC_LINKS(write_zero_struct, 0), "write_zero_struct", 17, "At the cursor, insert a ' = {};'.", 33, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 111 }, }; static int32_t fcoder_metacmd_ID_allow_mouse = 0; static int32_t fcoder_metacmd_ID_auto_tab_line_at_cursor = 1; diff --git a/4coder_generated/keycodes.h b/4coder_generated/keycodes.h index 4381c823..55158d8f 100644 --- a/4coder_generated/keycodes.h +++ b/4coder_generated/keycodes.h @@ -18,23 +18,24 @@ key_mouse_right_release = 55311, key_mouse_wheel = 55312, key_mouse_move = 55313, key_animate = 55314, -key_view_activate = 55315, -key_f1 = 55316, -key_f2 = 55317, -key_f3 = 55318, -key_f4 = 55319, -key_f5 = 55320, -key_f6 = 55321, -key_f7 = 55322, -key_f8 = 55323, -key_f9 = 55324, -key_f10 = 55325, -key_f11 = 55326, -key_f12 = 55327, -key_f13 = 55328, -key_f14 = 55329, -key_f15 = 55330, -key_f16 = 55331, +key_click_activate_view = 55315, +key_click_deactivate_view = 55316, +key_f1 = 55317, +key_f2 = 55318, +key_f3 = 55319, +key_f4 = 55320, +key_f5 = 55321, +key_f6 = 55322, +key_f7 = 55323, +key_f8 = 55324, +key_f9 = 55325, +key_f10 = 55326, +key_f11 = 55327, +key_f12 = 55328, +key_f13 = 55329, +key_f14 = 55330, +key_f15 = 55331, +key_f16 = 55332, }; static char* global_key_name(uint32_t key_code, int32_t *size){ @@ -59,7 +60,8 @@ case key_mouse_right_release: result = "key_mouse_right_release"; *size = sizeof case key_mouse_wheel: result = "key_mouse_wheel"; *size = sizeof("key_mouse_wheel")-1; break; case key_mouse_move: result = "key_mouse_move"; *size = sizeof("key_mouse_move")-1; break; case key_animate: result = "key_animate"; *size = sizeof("key_animate")-1; break; -case key_view_activate: result = "key_view_activate"; *size = sizeof("key_view_activate")-1; break; +case key_click_activate_view: result = "key_click_activate_view"; *size = sizeof("key_click_activate_view")-1; break; +case key_click_deactivate_view: result = "key_click_deactivate_view"; *size = sizeof("key_click_deactivate_view")-1; break; case key_f1: result = "key_f1"; *size = sizeof("key_f1")-1; break; case key_f2: result = "key_f2"; *size = sizeof("key_f2")-1; break; case key_f3: result = "key_f3"; *size = sizeof("key_f3")-1; break; diff --git a/4coder_generated/remapping.h b/4coder_generated/remapping.h index 93394ab8..cda66808 100644 --- a/4coder_generated/remapping.h +++ b/4coder_generated/remapping.h @@ -44,7 +44,7 @@ end_map(context); begin_map(context, mapid_file); bind_vanilla_keys(context, write_character); bind(context, key_mouse_left, MDFR_NONE, click_set_cursor_and_mark); -bind(context, key_view_activate, MDFR_NONE, click_set_cursor_and_mark); +bind(context, key_click_activate_view, MDFR_NONE, click_set_cursor_and_mark); bind(context, key_mouse_left_release, MDFR_NONE, click_set_cursor); bind(context, key_mouse_move, MDFR_NONE, click_set_cursor_if_lbutton); bind(context, key_del, MDFR_NONE, delete_char); @@ -167,7 +167,6 @@ bind(context, key_down, MDFR_NONE, lister__move_down); bind(context, key_page_down, MDFR_NONE, lister__move_down); bind(context, key_mouse_wheel, MDFR_NONE, lister__wheel_scroll); bind(context, key_mouse_left, MDFR_NONE, lister__mouse_press); -bind(context, key_view_activate, MDFR_NONE, lister__mouse_press); bind(context, key_mouse_left_release, MDFR_NONE, lister__mouse_release); bind(context, key_mouse_move, MDFR_NONE, lister__repaint); bind(context, key_animate, MDFR_NONE, lister__repaint); @@ -219,7 +218,7 @@ begin_map(context, mapid_file); bind_vanilla_keys(context, write_character); bind_vanilla_keys(context, MDFR_ALT, write_character); bind(context, key_mouse_left, MDFR_NONE, click_set_cursor_and_mark); -bind(context, key_view_activate, MDFR_NONE, click_set_cursor_and_mark); +bind(context, key_click_activate_view, MDFR_NONE, click_set_cursor_and_mark); bind(context, key_mouse_left_release, MDFR_NONE, click_set_cursor); bind(context, key_mouse_move, MDFR_NONE, click_set_cursor_if_lbutton); bind(context, key_del, MDFR_NONE, delete_char); @@ -340,7 +339,6 @@ bind(context, key_down, MDFR_NONE, lister__move_down); bind(context, key_page_down, MDFR_NONE, lister__move_down); bind(context, key_mouse_wheel, MDFR_NONE, lister__wheel_scroll); bind(context, key_mouse_left, MDFR_NONE, lister__mouse_press); -bind(context, key_view_activate, MDFR_NONE, click_set_cursor_and_mark); bind(context, key_mouse_left_release, MDFR_NONE, lister__mouse_release); bind(context, key_mouse_move, MDFR_NONE, lister__repaint); bind(context, key_animate, MDFR_NONE, lister__repaint); @@ -402,7 +400,6 @@ static Meta_Key_Bind fcoder_binds_for_default_mapid_global[39] = { {0, 88, 2, "project_command_lister", 22, LINK_PROCS(project_command_lister)}, {0, 73, 1, "list_all_functions_current_buffer_lister", 40, LINK_PROCS(list_all_functions_current_buffer_lister)}, {0, 69, 2, "exit_4coder", 11, LINK_PROCS(exit_4coder)}, -{0, 55316, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55317, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55318, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55319, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, @@ -418,6 +415,7 @@ static Meta_Key_Bind fcoder_binds_for_default_mapid_global[39] = { {0, 55329, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55330, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55331, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, +{0, 55332, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55312, 0, "mouse_wheel_scroll", 18, LINK_PROCS(mouse_wheel_scroll)}, }; static Meta_Key_Bind fcoder_binds_for_default_mapid_file[78] = { @@ -533,7 +531,7 @@ static Meta_Key_Bind fcoder_binds_for_default_default_code_map[31] = { {0, 50, 2, "open_matching_file_cpp", 22, LINK_PROCS(open_matching_file_cpp)}, {0, 48, 1, "write_zero_struct", 17, LINK_PROCS(write_zero_struct)}, }; -static Meta_Key_Bind fcoder_binds_for_default_default_lister_ui_map[15] = { +static Meta_Key_Bind fcoder_binds_for_default_default_lister_ui_map[14] = { {1, 0, 0, "lister__write_character", 23, LINK_PROCS(lister__write_character)}, {0, 55307, 0, "lister__quit", 12, LINK_PROCS(lister__quit)}, {0, 10, 0, "lister__activate", 16, LINK_PROCS(lister__activate)}, @@ -545,7 +543,6 @@ static Meta_Key_Bind fcoder_binds_for_default_default_lister_ui_map[15] = { {0, 55306, 0, "lister__move_down", 17, LINK_PROCS(lister__move_down)}, {0, 55312, 0, "lister__wheel_scroll", 20, LINK_PROCS(lister__wheel_scroll)}, {0, 55308, 0, "lister__mouse_press", 19, LINK_PROCS(lister__mouse_press)}, -{0, 55315, 0, "lister__mouse_press", 19, LINK_PROCS(lister__mouse_press)}, {0, 55310, 0, "lister__mouse_release", 21, LINK_PROCS(lister__mouse_release)}, {0, 55313, 0, "lister__repaint", 15, LINK_PROCS(lister__repaint)}, {0, 55314, 0, "lister__repaint", 15, LINK_PROCS(lister__repaint)}, @@ -554,7 +551,7 @@ static Meta_Sub_Map fcoder_submaps_for_default[4] = { {"mapid_global", 12, "The following bindings apply in all situations.", 47, 0, 0, fcoder_binds_for_default_mapid_global, 39}, {"mapid_file", 10, "The following bindings apply in general text files and most apply in code files, but some are overriden by other commands specific to code files.", 145, 0, 0, fcoder_binds_for_default_mapid_file, 78}, {"default_code_map", 16, "The following commands only apply in files where the lexer (syntax highlighting) is turned on.", 94, "mapid_file", 10, fcoder_binds_for_default_default_code_map, 31}, -{"default_lister_ui_map", 21, "These commands apply in 'lister mode' such as when you open a file.", 67, 0, 0, fcoder_binds_for_default_default_lister_ui_map, 15}, +{"default_lister_ui_map", 21, "These commands apply in 'lister mode' such as when you open a file.", 67, 0, 0, fcoder_binds_for_default_default_lister_ui_map, 14}, }; static Meta_Key_Bind fcoder_binds_for_mac_default_mapid_global[39] = { {0, 44, 4, "change_active_panel", 19, LINK_PROCS(change_active_panel)}, @@ -579,7 +576,6 @@ static Meta_Key_Bind fcoder_binds_for_mac_default_mapid_global[39] = { {0, 88, 1, "project_command_lister", 22, LINK_PROCS(project_command_lister)}, {0, 73, 4, "list_all_functions_current_buffer_lister", 40, LINK_PROCS(list_all_functions_current_buffer_lister)}, {0, 69, 1, "exit_4coder", 11, LINK_PROCS(exit_4coder)}, -{0, 55316, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55317, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55318, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55319, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, @@ -595,6 +591,7 @@ static Meta_Key_Bind fcoder_binds_for_mac_default_mapid_global[39] = { {0, 55329, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55330, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55331, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, +{0, 55332, 0, "project_fkey_command", 20, LINK_PROCS(project_fkey_command)}, {0, 55312, 0, "mouse_wheel_scroll", 18, LINK_PROCS(mouse_wheel_scroll)}, }; static Meta_Key_Bind fcoder_binds_for_mac_default_mapid_file[77] = { @@ -709,7 +706,7 @@ static Meta_Key_Bind fcoder_binds_for_mac_default_default_code_map[31] = { {0, 50, 1, "open_matching_file_cpp", 22, LINK_PROCS(open_matching_file_cpp)}, {0, 48, 4, "write_zero_struct", 17, LINK_PROCS(write_zero_struct)}, }; -static Meta_Key_Bind fcoder_binds_for_mac_default_default_lister_ui_map[15] = { +static Meta_Key_Bind fcoder_binds_for_mac_default_default_lister_ui_map[14] = { {1, 0, 0, "lister__write_character", 23, LINK_PROCS(lister__write_character)}, {0, 55307, 0, "lister__quit", 12, LINK_PROCS(lister__quit)}, {0, 10, 0, "lister__activate", 16, LINK_PROCS(lister__activate)}, @@ -721,7 +718,6 @@ static Meta_Key_Bind fcoder_binds_for_mac_default_default_lister_ui_map[15] = { {0, 55306, 0, "lister__move_down", 17, LINK_PROCS(lister__move_down)}, {0, 55312, 0, "lister__wheel_scroll", 20, LINK_PROCS(lister__wheel_scroll)}, {0, 55308, 0, "lister__mouse_press", 19, LINK_PROCS(lister__mouse_press)}, -{0, 55315, 0, "click_set_cursor_and_mark", 25, LINK_PROCS(click_set_cursor_and_mark)}, {0, 55310, 0, "lister__mouse_release", 21, LINK_PROCS(lister__mouse_release)}, {0, 55313, 0, "lister__repaint", 15, LINK_PROCS(lister__repaint)}, {0, 55314, 0, "lister__repaint", 15, LINK_PROCS(lister__repaint)}, @@ -730,7 +726,7 @@ static Meta_Sub_Map fcoder_submaps_for_mac_default[4] = { {"mapid_global", 12, "The following bindings apply in all situations.", 47, 0, 0, fcoder_binds_for_mac_default_mapid_global, 39}, {"mapid_file", 10, "The following bindings apply in general text files and most apply in code files, but some are overriden by other commands specific to code files.", 145, 0, 0, fcoder_binds_for_mac_default_mapid_file, 77}, {"default_code_map", 16, "The following commands only apply in files where the lexer (syntax highlighting) is turned on.", 94, "mapid_file", 10, fcoder_binds_for_mac_default_default_code_map, 31}, -{"default_lister_ui_map", 21, "These commands apply in 'lister mode' such as when you open a file.", 67, 0, 0, fcoder_binds_for_mac_default_default_lister_ui_map, 15}, +{"default_lister_ui_map", 21, "These commands apply in 'lister mode' such as when you open a file.", 67, 0, 0, fcoder_binds_for_mac_default_default_lister_ui_map, 14}, }; static Meta_Mapping fcoder_meta_maps[2] = { {"default", 7, "The default 4coder bindings - typically good for Windows and Linux", 66, fcoder_submaps_for_default, 4, LINK_PROCS(fill_keys_default)}, diff --git a/4coder_helper.cpp b/4coder_helper.cpp index b971be2f..6ca2d65b 100644 --- a/4coder_helper.cpp +++ b/4coder_helper.cpp @@ -17,11 +17,11 @@ write_unit(Bind_Helper *helper, Binding_Unit unit){ inline Bind_Helper begin_bind_helper(void *data, int32_t size){ - Bind_Helper result = {0}; + Bind_Helper result = {}; result.cursor = (Binding_Unit*)data; result.start = result.cursor; result.end = result.start + size / sizeof(*result.cursor); - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_header; unit.header.total_size = sizeof(*result.header); result.header = write_unit(&result, unit); @@ -134,7 +134,7 @@ inline void inherit_map(Bind_Helper *helper, int32_t mapid){ if (helper->group == 0 && helper->error == 0) helper->error = BH_ERR_MISSING_BEGIN; if (!helper->error && mapid < mapid_global) ++helper->header->header.user_map_count; - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_inherit; unit.map_inherit.mapid = mapid; write_unit(helper, unit); @@ -142,7 +142,7 @@ inherit_map(Bind_Helper *helper, int32_t mapid){ inline void set_hook(Bind_Helper *helper, int32_t hook_id, Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = hook_id; unit.hook.func = (void*)func; @@ -151,7 +151,7 @@ set_hook(Bind_Helper *helper, int32_t hook_id, Hook_Function *func){ inline void set_scroll_rule(Bind_Helper *helper, Scroll_Rule_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_scroll_rule; unit.hook.func = (void*)func; @@ -160,7 +160,7 @@ set_scroll_rule(Bind_Helper *helper, Scroll_Rule_Function *func){ inline void set_buffer_name_resolver(Bind_Helper *helper, Buffer_Name_Resolver_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_buffer_name_resolver; unit.hook.func = (void*)func; @@ -169,7 +169,7 @@ set_buffer_name_resolver(Bind_Helper *helper, Buffer_Name_Resolver_Function *fun inline void set_new_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_new_file; unit.hook.func = (void*)func; @@ -178,7 +178,7 @@ set_new_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ inline void set_start_hook(Bind_Helper *helper, Start_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_start; unit.hook.func = (void*)func; @@ -187,7 +187,7 @@ set_start_hook(Bind_Helper *helper, Start_Hook_Function *func){ inline void set_open_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_open_file; unit.hook.func = (void*)func; @@ -196,7 +196,7 @@ set_open_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ inline void set_save_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_save_file; unit.hook.func = (void*)func; @@ -205,7 +205,7 @@ set_save_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ inline void set_end_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_end_file; unit.hook.func = (void*)func; @@ -214,7 +214,7 @@ set_end_file_hook(Bind_Helper *helper, Open_File_Hook_Function *func){ inline void set_command_caller(Bind_Helper *helper, Command_Caller_Hook_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_command_caller; unit.hook.func = (void*)func; @@ -223,7 +223,7 @@ set_command_caller(Bind_Helper *helper, Command_Caller_Hook_Function *func){ inline void set_render_caller(Bind_Helper *helper, Render_Caller_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_render_caller; unit.hook.func = (void*)func; @@ -232,7 +232,7 @@ set_render_caller(Bind_Helper *helper, Render_Caller_Function *func){ inline void set_input_filter(Bind_Helper *helper, Input_Filter_Function *func){ - Binding_Unit unit = {0}; + Binding_Unit unit = {}; unit.type = unit_hook; unit.hook.hook_id = special_hook_input_filter; unit.hook.func = (void*)func; @@ -252,7 +252,7 @@ end_bind_helper(Bind_Helper *helper){ inline Bind_Buffer end_bind_helper_get_buffer(Bind_Helper *helper){ int32_t size = end_bind_helper(helper); - Bind_Buffer result = {0}; + Bind_Buffer result = {}; result.data = helper->start; result.size = size; return(result); @@ -310,10 +310,8 @@ key_is_unmodified(Key_Event_Data *key){ static uint32_t to_writable_character(User_Input in, uint8_t *character){ uint32_t result = 0; - if (in.type == UserInputKey){ - if (in.key.character != 0){ - u32_to_utf8_unchecked(in.key.character, character, &result); - } + if (in.key.character != 0){ + u32_to_utf8_unchecked(in.key.character, character, &result); } return(result); } @@ -362,7 +360,7 @@ query_user_general(Application_Links *app, Query_Bar *bar, bool32 force_number){ // types specified in the flags. The first set of flags are inputs you'd like to intercept // that you don't want to abort on. The second set are inputs that you'd like to cause // the command to abort. If an event satisfies both flags, it is treated as an abort. - User_Input in = get_user_input(app, EventOnAnyKey, EventOnEsc | EventOnButton); + User_Input in = get_user_input(app, EventOnAnyKey, EventOnEsc|EventOnMouseLeftButton|EventOnMouseRightButton); // NOTE(allen|a3.4.4): The responsible thing to do on abort is to end the command // without waiting on get_user_input again. @@ -392,16 +390,14 @@ query_user_general(Application_Links *app, Query_Bar *bar, bool32 force_number){ // NOTE(allen|a3.4.4): All we have to do to update the query bar is edit our // local Query_Bar struct! This is handy because it means our Query_Bar // is always correct for typical use without extra work updating the bar. - if (in.type == UserInputKey){ - if (in.key.keycode == '\n' || in.key.keycode == '\t'){ - break; - } - else if (in.key.keycode == key_back){ - backspace_utf8(&bar->string); - } - else if (good_character){ - append(&bar->string, make_string(character, length)); - } + if (in.key.keycode == '\n' || in.key.keycode == '\t'){ + break; + } + else if (in.key.keycode == key_back){ + backspace_utf8(&bar->string); + } + else if (good_character){ + append(&bar->string, make_string(character, length)); } } @@ -474,7 +470,7 @@ adjust_all_buffer_wrap_widths(Application_Links *app, int32_t wrap_width, int32_ static Buffer_Rect get_rect(View_Summary *view){ - Buffer_Rect rect = {0}; + Buffer_Rect rect = {}; rect.char0 = view->mark.character; rect.line0 = view->mark.line; @@ -494,7 +490,7 @@ get_rect(View_Summary *view){ static i32_Rect get_line_x_rect(View_Summary *view){ - i32_Rect rect = {0}; + i32_Rect rect = {}; if (view->unwrapped_lines){ rect.x0 = (int32_t)view->mark.unwrapped_x; @@ -519,8 +515,8 @@ get_line_x_rect(View_Summary *view){ static View_Summary get_first_view_with_buffer(Application_Links *app, int32_t buffer_id){ - View_Summary result = {0}; - View_Summary test = {0}; + View_Summary result = {}; + View_Summary test = {}; if (buffer_id != 0){ uint32_t access = AccessAll; @@ -591,7 +587,7 @@ buffer_identifier_to_id(Application_Links *app, Buffer_Identifier identifier){ static Buffer_Summary buffer_identifier_to_buffer_summary(Application_Links *app, Buffer_Identifier identifier, Access_Flag access){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (identifier.id != 0){ buffer = get_buffer(app, identifier.id, access); } @@ -610,7 +606,7 @@ view_open_file(Application_Links *app, View_Summary *view, bool32 result = false; if (view != 0){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (open_file(app, &buffer, filename, filename_len, false, never_new)){ view_set_buffer(app, view, buffer.buffer_id, 0); result = true; @@ -626,7 +622,7 @@ get_view_prev(Application_Links *app, View_Summary *view, uint32_t access){ View_ID original_id = view->view_id; View_ID check_id = original_id; - View_Summary new_view = {0}; + View_Summary new_view = {}; for (;;){ --check_id; @@ -660,7 +656,7 @@ kill_buffer(Application_Links *app, Buffer_Identifier identifier, View_ID gui_vi static View_Summary get_view_last(Application_Links *app, uint32_t access){ - View_Summary view = {0}; + View_Summary view = {}; view.exists = true; get_view_prev(app, &view, access); if (view.view_id < 1 || view.view_id > 16){ @@ -699,7 +695,7 @@ refresh_view(Application_Links *app, View_Summary *view){ static int32_t character_pos_to_pos(Application_Links *app, View_Summary *view, Buffer_Summary *buffer, int32_t character_pos){ int32_t result = 0; - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; if (view_compute_cursor(app, view, seek_character_pos(character_pos), &cursor)){ result = cursor.pos; } @@ -731,8 +727,8 @@ get_view_range(View_Summary *view){ static bool32 read_line(Application_Links *app, Partition *part, Buffer_Summary *buffer, int32_t line, String *str){ - Partial_Cursor begin = {0}; - Partial_Cursor end = {0}; + Partial_Cursor begin = {}; + Partial_Cursor end = {}; bool32 success = false; if (buffer_compute_cursor(app, buffer, seek_line_char(line, 1), &begin)){ @@ -761,7 +757,7 @@ static int32_t buffer_get_line_start(Application_Links *app, Buffer_Summary *buffer, int32_t line){ int32_t result = buffer->size; if (line <= buffer->line_count){ - Partial_Cursor partial_cursor = {0}; + Partial_Cursor partial_cursor = {}; buffer_compute_cursor(app, buffer, seek_line_char(line, 1), &partial_cursor); result = partial_cursor.pos; } @@ -772,7 +768,7 @@ static int32_t buffer_get_line_end(Application_Links *app, Buffer_Summary *buffer, int32_t line){ int32_t result = buffer->size; if (line <= buffer->line_count){ - Partial_Cursor partial_cursor = {0}; + Partial_Cursor partial_cursor = {}; buffer_compute_cursor(app, buffer, seek_line_char(line, -1), &partial_cursor); result = partial_cursor.pos; } @@ -781,7 +777,7 @@ buffer_get_line_end(Application_Links *app, Buffer_Summary *buffer, int32_t line static int32_t buffer_get_line_number(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ - Partial_Cursor partial_cursor = {0}; + Partial_Cursor partial_cursor = {}; buffer_compute_cursor(app, buffer, seek_pos(pos), &partial_cursor); return(partial_cursor.line); } @@ -1029,7 +1025,7 @@ get_query_string(Application_Links *app, char *query_str, char *string_space, in static String get_string_in_view_range(Application_Links *app, Partition *arena, View_Summary *view){ - String str = {0}; + String str = {}; Buffer_Summary buffer = get_buffer(app, view->buffer_id, AccessProtected); if (!buffer.exists) return(str); Range range = get_view_range(view); @@ -1045,8 +1041,8 @@ get_string_in_view_range(Application_Links *app, Partition *arena, View_Summary static String get_token_or_word_under_pos(Application_Links *app, Buffer_Summary *buffer, int32_t pos, char *space, int32_t capacity){ - String result = {0}; - Cpp_Get_Token_Result get_result = {0}; + String result = {}; + Cpp_Get_Token_Result get_result = {}; bool32 success = buffer_get_token_index(app, buffer, pos, &get_result); if (success && !get_result.in_whitespace){ int32_t size = get_result.token_end - get_result.token_start; @@ -1062,7 +1058,7 @@ get_token_or_word_under_pos(Application_Links *app, Buffer_Summary *buffer, int3 static String build_string(Partition *part, char *s0, char *s1, char *s2){ - String sr = {0}; + String sr = {}; sr.memory_size = str_size(s0) + str_size(s1) + str_size(s2) + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1075,7 +1071,7 @@ build_string(Partition *part, char *s0, char *s1, char *s2){ static String build_string(Partition *part, char *s0, char *s1, String s2){ - String sr = {0}; + String sr = {}; sr.memory_size = str_size(s0) + str_size(s1) + s2.size + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1089,7 +1085,7 @@ build_string(Partition *part, char *s0, char *s1, String s2){ static String build_string(Partition *part, char *s0, String s1, char *s2){ - String sr = {0}; + String sr = {}; sr.memory_size = str_size(s0) + s1.size + str_size(s2) + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1103,7 +1099,7 @@ build_string(Partition *part, char *s0, String s1, char *s2){ static String build_string(Partition *part, char *s0, String s1, String s2){ - String sr = {0}; + String sr = {}; sr.memory_size = str_size(s0) + s1.size + s2.size + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1117,7 +1113,7 @@ build_string(Partition *part, char *s0, String s1, String s2){ static String build_string(Partition *part, String s0, char *s1, char *s2){ - String sr = {0}; + String sr = {}; sr.memory_size = s0.size + str_size(s1) + str_size(s2) + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1131,7 +1127,7 @@ build_string(Partition *part, String s0, char *s1, char *s2){ static String build_string(Partition *part, String s0, char *s1, String s2){ - String sr = {0}; + String sr = {}; sr.memory_size = s0.size + str_size(s1) + s2.size + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1145,7 +1141,7 @@ build_string(Partition *part, String s0, char *s1, String s2){ static String build_string(Partition *part, String s0, String s1, char *s2){ - String sr = {0}; + String sr = {}; sr.memory_size = s0.size + s1.size + str_size(s2) + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1159,7 +1155,7 @@ build_string(Partition *part, String s0, String s1, char *s2){ static String build_string(Partition *part, String s0, String s1, String s2){ - String sr = {0}; + String sr = {}; sr.memory_size = s0.size + s1.size + s2.size + 1; sr.str = push_array(part, char, sr.memory_size); if (sr.str != 0){ @@ -1205,7 +1201,7 @@ get_hot_directory(Application_Links *app, Partition *arena){ static String dump_file_handle(Partition *arena, FILE *file){ - String str = {0}; + String str = {}; if (file != 0){ fseek(file, 0, SEEK_END); int32_t size = ftell(file); @@ -1223,7 +1219,7 @@ dump_file_handle(Partition *arena, FILE *file){ static File_Handle_Path open_file_search_up_path(Partition *arena, String path, String file_name){ - File_Handle_Path result = {0}; + File_Handle_Path result = {}; int32_t cap = path.size + file_name.size + 2; char *space = push_array(arena, char, cap); @@ -1301,7 +1297,7 @@ open_file(Partition *scratch, String name){ static File_Name_Data dump_file(Partition *arena, String file_name){ - File_Name_Data result = {0}; + File_Name_Data result = {}; FILE *file = open_file(arena, file_name); if (file != 0){ result.file_name = file_name; @@ -1313,7 +1309,7 @@ dump_file(Partition *arena, String file_name){ static File_Name_Path_Data dump_file_search_up_path(Partition *arena, String path, String file_name){ - File_Name_Path_Data result = {0}; + File_Name_Path_Data result = {}; File_Handle_Path file = open_file_search_up_path(arena, path, file_name); if (file.file != 0){ result.file_name = file_name; @@ -1327,7 +1323,7 @@ dump_file_search_up_path(Partition *arena, String path, String file_name){ static String push_string(Partition *arena, int32_t cap){ char *mem = push_array(arena, char, cap); - String result = {0}; + String result = {}; if (mem != 0){ result = make_string_cap(mem, 0, cap); } @@ -1336,7 +1332,7 @@ push_string(Partition *arena, int32_t cap){ static String push_string_copy(Partition *arena, String str){ - String result = {0}; + String result = {}; if (str.str != 0){ result = push_string(arena, str.size + 1); push_align(arena, 8); @@ -1396,7 +1392,7 @@ sort_pairs_by_key(Sort_Pair_i32 *pairs, int32_t count){ static Range_Array get_ranges_of_duplicate_keys(Partition *arena, int32_t *keys, int32_t stride, int32_t count){ - Range_Array result = {0}; + Range_Array result = {}; result.ranges = push_array(arena, Range, 0); uint8_t *ptr = (uint8_t*)keys; int32_t start_i = 0; @@ -1433,7 +1429,7 @@ no_mark_snap_to_cursor(Application_Links *app, View_ID view_id){ static void no_mark_snap_to_cursor_if_shift(Application_Links *app, View_ID view_id){ User_Input in = get_command_input(app); - if (in.type == UserInputKey && in.key.modifiers[MDFR_SHIFT_INDEX]){ + if (in.key.modifiers[MDFR_SHIFT_INDEX]){ no_mark_snap_to_cursor(app, view_id); } } diff --git a/4coder_jump_direct.cpp b/4coder_jump_direct.cpp index e0978e48..337f4280 100644 --- a/4coder_jump_direct.cpp +++ b/4coder_jump_direct.cpp @@ -11,12 +11,12 @@ CUSTOM_DOC("If the cursor is found to be on a jump location, parses the jump loc Temp_Memory temp = begin_temp_memory(&global_part); View_Summary view = get_active_view(app, AccessProtected); - Name_Line_Column_Location location = {0}; + Name_Line_Column_Location location = {}; if (parse_jump_from_buffer_line(app, &global_part, view.buffer_id, view.cursor.line, false, &location)){ change_active_panel(app); View_Summary target_view = get_active_view(app, AccessAll); - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ switch_to_existing_view(app, &target_view, &buffer); jump_to_location(app, &target_view, &buffer, location); @@ -32,11 +32,11 @@ CUSTOM_DOC("If the cursor is found to be on a jump location, parses the jump loc Temp_Memory temp = begin_temp_memory(&global_part); View_Summary view = get_active_view(app, AccessProtected); - Name_Line_Column_Location location = {0}; + Name_Line_Column_Location location = {}; if (parse_jump_from_buffer_line(app, &global_part, view.buffer_id, view.cursor.line, false, &location)){ View_Summary target_view = view; - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ jump_to_location(app, &target_view, &buffer, location); } diff --git a/4coder_jump_lister.cpp b/4coder_jump_lister.cpp index 1d4e6b03..9a0bd62e 100644 --- a/4coder_jump_lister.cpp +++ b/4coder_jump_lister.cpp @@ -13,7 +13,7 @@ activate_jump(Application_Links *app, Partition *scratch, Heap *heap, Jump_Lister_Parameters *params = (Jump_Lister_Parameters*)state->lister.user_data; Marker_List *list = get_marker_list_for_buffer(params->list_buffer_id); if (list != 0){ - View_Summary target_view = {0}; + View_Summary target_view = {}; switch (params->activation_rule){ case JumpListerActivation_OpenInUIView: { @@ -48,9 +48,9 @@ activate_jump(Application_Links *app, Partition *scratch, Heap *heap, }break; } - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, list, list_index, &location)){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ set_active_view(app, &target_view); jump_to_location(app, &target_view, &buffer, location); @@ -77,9 +77,9 @@ open_jump_lister(Application_Links *app, Partition *scratch, Heap *heap, Lister_Option *options = push_array(scratch, Lister_Option, option_count); Managed_Object stored_jumps = list->jump_array; for (int32_t i = 0; i < option_count; i += 1){ - Sticky_Jump_Stored stored = {0}; + Sticky_Jump_Stored stored = {}; managed_object_load_data(app, stored_jumps, i, 1, &stored); - String line = {0}; + String line = {}; read_line(app, scratch, &list_buffer, stored.list_line, &line); options[i].string = line.str; options[i].status = 0; @@ -89,7 +89,7 @@ open_jump_lister(Application_Links *app, Partition *scratch, Heap *heap, estimated_string_space_size += aligned_size; } - Jump_Lister_Parameters jump_lister_params = {0}; + Jump_Lister_Parameters jump_lister_params = {}; jump_lister_params.list_buffer_id = list_buffer_id; jump_lister_params.activation_rule = activation_rule; if (optional_target_view != 0){ diff --git a/4coder_jump_sticky.cpp b/4coder_jump_sticky.cpp index fe6b8da2..ae9e7046 100644 --- a/4coder_jump_sticky.cpp +++ b/4coder_jump_sticky.cpp @@ -40,7 +40,7 @@ binary_search(uint32_t *array, int32_t stride, int32_t count, uint32_t x){ static Sticky_Jump_Array parse_buffer_to_jump_array(Application_Links *app, Partition *arena, Buffer_Summary buffer){ - Sticky_Jump_Array result = {0}; + Sticky_Jump_Array result = {}; result.jumps = push_array(arena, Sticky_Jump, 0); for (int32_t line = 1;; line += 1){ @@ -51,14 +51,14 @@ parse_buffer_to_jump_array(Application_Links *app, Partition *arena, Buffer_Summ int32_t out_pos = 0; Temp_Memory temp = begin_temp_memory(arena); - String line_str = {0}; + String line_str = {}; if (read_line(app, arena, &buffer, line, &line_str)){ - Name_Line_Column_Location location = {0}; + Name_Line_Column_Location location = {}; if (parse_jump_location(line_str, &location, &colon_index, &is_sub_error)){ - Buffer_Summary jump_buffer = {0}; + Buffer_Summary jump_buffer = {}; if (open_file(app, &jump_buffer, location.file.str, location.file.size, false, true)){ if (jump_buffer.exists){ - Partial_Cursor cursor = {0}; + Partial_Cursor cursor = {}; if (buffer_compute_cursor(app, &jump_buffer, seek_line_char(location.line, location.column), &cursor)){ @@ -117,7 +117,7 @@ init_marker_list(Application_Links *app, Partition *scratch, Heap *heap, Buffer_ Sticky_Jump_Stored *stored = push_array(scratch, Sticky_Jump_Stored, jumps.count); - Managed_Scope scope_array[2] = {0}; + Managed_Scope scope_array[2] = {}; scope_array[0] = buffer_get_managed_scope(app, buffer_id); for (int32_t i = 0; i < scoped_buffer_ranges.count; i += 1){ @@ -240,7 +240,7 @@ get_or_make_list_for_buffer(Application_Links *app, Partition *scratch, Heap *he static bool32 get_stored_jump_from_list(Application_Links *app, Marker_List *list, int32_t index, Sticky_Jump_Stored *stored_out){ - Sticky_Jump_Stored stored = {0}; + Sticky_Jump_Stored stored = {}; if (list != 0){ if (managed_object_load_data(app, list->jump_array, index, 1, &stored)){ *stored_out = stored; @@ -268,11 +268,11 @@ get_all_stored_jumps_from_list(Application_Links *app, Partition *arena, Marker_ static bool32 get_jump_from_list(Application_Links *app, Marker_List *list, int32_t index, ID_Pos_Jump_Location *location){ - Sticky_Jump_Stored stored = {0}; + Sticky_Jump_Stored stored = {}; if (get_stored_jump_from_list(app, list, index, &stored)){ Buffer_ID target_buffer_id = stored.jump_buffer_id; - Managed_Scope scope_array[2] = {0}; + Managed_Scope scope_array[2] = {}; scope_array[0] = buffer_get_managed_scope(app, list->buffer_id); scope_array[1] = buffer_get_managed_scope(app, target_buffer_id); Managed_Scope scope = get_managed_scope_with_multiple_dependencies(app, scope_array, ArrayCount(scope_array)); @@ -280,7 +280,7 @@ get_jump_from_list(Application_Links *app, Marker_List *list, int32_t index, ID_ sticky_jump_marker_handle_loc = managed_variable_create_or_get_id(app, sticky_jump_marker_handle_var, 0); Managed_Object marker_array = 0; if (managed_variable_get(app, scope, sticky_jump_marker_handle_loc, &marker_array)){ - Marker marker = {0}; + Marker marker = {}; managed_object_load_data(app, marker_array, stored.index_into_marker_array, 1, &marker); location->buffer_id = target_buffer_id; location->pos = marker.pos; @@ -294,7 +294,7 @@ static int32_t get_line_from_list(Application_Links *app, Marker_List *list, int32_t index){ int32_t result = 0; if (list != 0){ - Sticky_Jump_Stored stored = {0}; + Sticky_Jump_Stored stored = {}; if (get_stored_jump_from_list(app, list, index, &stored)){ result = stored.list_line; } @@ -306,7 +306,7 @@ static bool32 get_is_sub_error_from_list(Application_Links *app, Marker_List *list, int32_t index){ bool32 result = false; if (list != 0){ - Sticky_Jump_Stored stored = {0}; + Sticky_Jump_Stored stored = {}; if (get_stored_jump_from_list(app, list, index, &stored)){ result = stored.is_sub_error; } @@ -358,9 +358,9 @@ CUSTOM_DOC("If the cursor is found to be on a jump location, parses the jump loc int32_t list_index = get_index_exact_from_list(app, part, list, view.cursor.line); if (list_index >= 0){ - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, list, list_index, &location)){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ change_active_panel(app); View_Summary target_view = get_active_view(app, AccessAll); @@ -385,9 +385,9 @@ CUSTOM_DOC("If the cursor is found to be on a jump location, parses the jump loc int32_t list_index = get_index_exact_from_list(app, part, list, view.cursor.line); if (list_index >= 0){ - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, list, list_index, &location)){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ View_Summary target_view = view; jump_to_location(app, &target_view, &buffer, location); @@ -400,7 +400,7 @@ CUSTOM_DOC("If the cursor is found to be on a jump location, parses the jump loc static void goto_jump_in_order(Application_Links *app, Marker_List *list, View_Summary *jump_view, ID_Pos_Jump_Location location){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ View_Summary target_view = get_active_view(app, AccessAll); if (target_view.view_id == jump_view->view_id){ @@ -434,7 +434,7 @@ goto_next_filtered_jump(Application_Links *app, Marker_List *list, View_Summary if (list != 0){ for (;list_index >= 0 && list_index < list->jump_count;){ - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, list, list_index, &location)){ bool32 skip_this = false; if (skip_repeats && jump_is_repeat(prev_location, location)){ @@ -459,7 +459,7 @@ goto_next_filtered_jump(Application_Links *app, Marker_List *list, View_Summary static Locked_Jump_State get_locked_jump_state(Application_Links *app, Partition *part, Heap *heap){ - Locked_Jump_State result = {0}; + Locked_Jump_State result = {}; result.view = get_view_for_locked_jump_buffer(app); if (result.view.exists){ result.list = get_or_make_list_for_buffer(app, part, heap, result.view.buffer_id); @@ -538,7 +538,7 @@ CUSTOM_DOC("If a buffer containing jump locations has been locked in, goes to th Locked_Jump_State jump_state = get_locked_jump_state(app, part, heap); if (jump_state.view.exists){ int32_t list_index = 0; - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, jump_state.list, list_index, &location)){ goto_jump_in_order(app, jump_state.list, &jump_state.view, location); int32_t updated_line = get_line_from_list(app, jump_state.list, list_index); @@ -556,9 +556,9 @@ CUSTOM_DOC("If a buffer containing jump locations has been locked in, goes to th Locked_Jump_State jump_state = get_locked_jump_state(app, part, heap); if (jump_state.view.exists){ int32_t list_index = 0; - ID_Pos_Jump_Location location = {0}; + ID_Pos_Jump_Location location = {}; if (get_jump_from_list(app, jump_state.list, list_index, &location)){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ jump_to_location(app, &jump_state.view, &buffer, location); } diff --git a/4coder_jumping.cpp b/4coder_jumping.cpp index c1dd01b6..91ef0f8f 100644 --- a/4coder_jumping.cpp +++ b/4coder_jumping.cpp @@ -175,7 +175,7 @@ parse_jump_from_buffer_line(Application_Links *app, Partition *arena, int32_t buffer_id, int32_t line, bool32 skip_sub_errors, Name_Line_Column_Location *location){ int32_t result = false; - String line_str = {0}; + String line_str = {}; Buffer_Summary buffer = get_buffer(app, buffer_id, AccessAll); if (read_line(app, arena, &buffer, line, &line_str)){ int32_t colon_char = 0; @@ -252,7 +252,7 @@ seek_next_jump_in_buffer(Application_Links *app, Partition *part, bool32 result = false; int32_t line = first_line; - String line_str = {0}; + String line_str = {}; Buffer_Summary buffer = get_buffer(app, buffer_id, AccessAll); for (;;){ if (read_line(app, part, &buffer, line, &line_str)){ @@ -278,7 +278,7 @@ seek_next_jump_in_buffer(Application_Links *app, Partition *part, static ID_Line_Column_Jump_Location convert_name_based_to_id_based(Application_Links *app, Name_Line_Column_Location loc){ - ID_Line_Column_Jump_Location result = {0}; + ID_Line_Column_Jump_Location result = {}; Buffer_Summary buffer = get_buffer_by_name(app, loc.file.str, loc.file.size, AccessAll); if (buffer.exists){ @@ -294,7 +294,7 @@ static int32_t seek_next_jump_in_view(Application_Links *app, Partition *part, View_Summary *view, int32_t skip_sub_errors, int32_t direction, int32_t *line_out, int32_t *colon_index_out, Name_Line_Column_Location *location_out){ int32_t result = false; - Name_Line_Column_Location location = {0}; + Name_Line_Column_Location location = {}; int32_t line = view->cursor.line; int32_t colon_index = 0; if (seek_next_jump_in_buffer(app, part, view->buffer_id, line+direction, skip_sub_errors, direction, &line, &colon_index, &location)){ @@ -320,8 +320,8 @@ static bool32 advance_cursor_in_jump_view(Application_Links *app, Partition *part, View_Summary *view, int32_t skip_repeats, int32_t skip_sub_error, int32_t direction, Name_Line_Column_Location *location_out){ bool32 result = true; - Name_Line_Column_Location location = {0}; - ID_Line_Column_Jump_Location jump = {0}; + Name_Line_Column_Location location = {}; + ID_Line_Column_Jump_Location jump = {}; int32_t line = 0; int32_t colon_index = 0; @@ -355,10 +355,10 @@ seek_jump(Application_Links *app, Partition *part, bool32 skip_repeats, bool32 s View_Summary view = get_view_for_locked_jump_buffer(app); if (view.exists){ - Name_Line_Column_Location location = {0}; + Name_Line_Column_Location location = {}; if (advance_cursor_in_jump_view(app, &global_part, &view, skip_repeats, skip_sub_errors, direction, &location)){ - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; if (get_jump_buffer(app, &buffer, &location)){ View_Summary target_view = get_active_view(app, AccessAll); if (target_view.view_id == view.view_id){ diff --git a/4coder_lib/4coder_arena.cpp b/4coder_lib/4coder_arena.cpp index 927a2b4a..e7259803 100644 --- a/4coder_lib/4coder_arena.cpp +++ b/4coder_lib/4coder_arena.cpp @@ -11,7 +11,7 @@ distribute, and modify this file as you see fit. inline Partition make_part(void *memory, i32_4tech size){ - Partition partition = {0}; + Partition partition = {}; partition.base = (char*)memory; partition.pos = 0; partition.max = size; @@ -65,9 +65,7 @@ partition_sub_part(Partition *data, i32_4tech size){ return(result); } -#define push_struct(part, T) (T*)partition_allocate(part, sizeof(T)) #define push_array(part, T, size) (T*)partition_allocate(part, sizeof(T)*(size)) -#define push_block(part, size) partition_allocate(part, size) #define push_align(part, b) partition_align(part, b) inline Temp_Memory @@ -85,7 +83,7 @@ end_temp_memory(Temp_Memory temp){ inline Tail_Temp_Partition begin_tail_part(Partition *data, i32_4tech size){ - Tail_Temp_Partition result = {0}; + Tail_Temp_Partition result = {}; if (data->pos + size <= data->max){ result.handle = data; result.old_max = data->max; diff --git a/4coder_lib/4coder_string.h b/4coder_lib/4coder_string.h index 184c6bee..00d573d7 100644 --- a/4coder_lib/4coder_string.h +++ b/4coder_lib/4coder_string.h @@ -65,7 +65,7 @@ typedef struct String{ i32_4tech memory_size; } String; -static String null_string = {0}; +static String null_string = {}; #endif #if !defined(FCODER_STRING_H) @@ -551,7 +551,7 @@ substr(String str, i32_4tech start, i32_4tech size) FSTRING_LINK String skip_whitespace(String str) { - String result = {0}; + String result = {}; i32_4tech i = 0; for (; i < str.size && char_is_whitespace(str.str[i]); ++i); result = substr(str, i, str.size - i); @@ -564,7 +564,7 @@ skip_whitespace(String str) FSTRING_LINK String skip_whitespace_measure(String str, i32_4tech *skip_length) { - String result = {0}; + String result = {}; i32_4tech i = 0; for (; i < str.size && char_is_whitespace(str.str[i]); ++i); result = substr(str, i, str.size - i); @@ -577,7 +577,7 @@ skip_whitespace_measure(String str, i32_4tech *skip_length) FSTRING_LINK String chop_whitespace(String str) { - String result = {0}; + String result = {}; i32_4tech i = str.size; for (; i > 0 && char_is_whitespace(str.str[i-1]); --i); result = substr(str, 0, i); @@ -1863,7 +1863,7 @@ typedef struct Float_To_Str_Variables{ static Float_To_Str_Variables get_float_vars(float x){ - Float_To_Str_Variables vars = {0}; + Float_To_Str_Variables vars = {}; if (x < 0){ vars.negative = 1; @@ -2219,7 +2219,7 @@ string_set_match(String *str_set, i32_4tech count, String str, i32_4tech *match_ #if defined(FSTRING_IMPLEMENTATION) FSTRING_LINK String get_first_double_line(String source){ - String line = {0}; + String line = {}; i32_4tech pos0 = find_substr_s(source, 0, make_lit_string("\n\n")); i32_4tech pos1 = find_substr_s(source, 0, make_lit_string("\r\n\r\n")); if (pos1 < pos0){ @@ -2233,7 +2233,7 @@ get_first_double_line(String source){ #if defined(FSTRING_IMPLEMENTATION) FSTRING_LINK String get_next_double_line(String source, String line){ - String next = {0}; + String next = {}; i32_4tech pos = (i32_4tech)(line.str - source.str) + line.size; i32_4tech start = 0, pos0 = 0, pos1 = 0; @@ -2259,7 +2259,7 @@ get_next_double_line(String source, String line){ FSTRING_LINK String get_next_word(String source, String prev_word){ - String word = {0}; + String word = {}; i32_4tech pos0 = (i32_4tech)(prev_word.str - source.str) + prev_word.size; i32_4tech pos1 = 0; char c = 0; diff --git a/4coder_lib/4cpp_lexer.h b/4coder_lib/4cpp_lexer.h index 2630d30e..d2f41d49 100644 --- a/4coder_lib/4cpp_lexer.h +++ b/4coder_lib/4cpp_lexer.h @@ -201,7 +201,7 @@ DOC(This call reads in an array of strings, either null terminated or not, and o DOC_SEE(cpp_get_table_memory_size_null_terminated) DOC_SEE(cpp_get_table_memory_size_string_lengths) */{ - Cpp_Keyword_Table table = {0}; + Cpp_Keyword_Table table = {}; table.mem = memory; table.memsize = memsize; table.keywords = (u64_4tech*)memory; @@ -1326,7 +1326,7 @@ File_Data file = read_whole_file(file_name); Cpp_Lex_Data lex_state = cpp_lex_data_init(false); -Cpp_Token_Array array = {0}; +Cpp_Token_Array array = {}; array.tokens = (Cpp_Token*)malloc(1 << 20); // hopefully big enough array.max_count = (1 << 20)/sizeof(Cpp_Token); @@ -1370,7 +1370,7 @@ DOC_RETURN(A brand new lex state setup to lex from the beginning of the file.) DOC(Creates a new lex state in the form of a Cpp_Lex_Data struct and returns the struct.) */{ - Cpp_Lex_Data data = {0}; + Cpp_Lex_Data data = {}; data.ignore_string_delims = (b8_4tech)ignore_string_delims; data.keyword_table = keywords; data.preprops_table = preprocessor_words; @@ -1434,8 +1434,8 @@ DOC_PARAM(start_pos, The start position of the edited region of the file. The start and end points are based on the edited region of the file before the edit.) DOC_PARAM(end_pos, The end position of the edited region of the file. In particular, end_pos is the first character after the edited region not effected by the edit. Thus if the edited region contained one character end_pos - start_pos should equal 1. The start and end points are based on the edited region of the file before the edit.) */{ - Cpp_Relex_Range range = {0}; - Cpp_Get_Token_Result get_result = {0}; + Cpp_Relex_Range range = {}; + Cpp_Get_Token_Result get_result = {}; get_result = cpp_get_token(*array, start_pos); range.start_token_index = get_result.token_index-1; @@ -1477,7 +1477,7 @@ DOC_SEE(cpp_relex_declare_first_chunk_position) DOC_SEE(cpp_relex_is_start_chunk) */{ - Cpp_Relex_Data state = {0}; + Cpp_Relex_Data state = {}; Cpp_Relex_Range range = cpp_get_relex_range(array, start_pos, end_pos); state.start_token_index = range.start_token_index; @@ -1832,7 +1832,7 @@ DOC_SEE(cpp_free_table) DOC_SEE(Cpp_Word_Table_Type) DOC_SEE(cpp_make_table) */{ - Cpp_Keyword_Table result = {0}; + Cpp_Keyword_Table result = {}; umem_4tech size = cpp_get_table_memory_size_default(type); if (size > 0){ void *mem = malloc((size_t)size); diff --git a/4coder_lib/4cpp_lexer_types.h b/4coder_lib/4cpp_lexer_types.h index ebfcc3d5..27e206da 100644 --- a/4coder_lib/4cpp_lexer_types.h +++ b/4coder_lib/4cpp_lexer_types.h @@ -279,7 +279,7 @@ STRUCT Cpp_Token_Array{ int32_t max_count; }; -static Cpp_Token_Array null_cpp_token_array = {0}; +static Cpp_Token_Array null_cpp_token_array = {}; /* DOC(Cpp_Get_Token_Result is the return result of the cpp_get_token call.) DOC_SEE(cpp_get_token) */ @@ -312,7 +312,7 @@ struct Cpp_Lex_FSM{ uint8_t emit_token; uint8_t flags; }; -static Cpp_Lex_FSM null_lex_fsm = {0}; +static Cpp_Lex_FSM null_lex_fsm = {}; /* DOC(A Cpp_Keyword_Table contains a list of keywords and a hashed lookup table for the keywords. They are used to setup a parse context.) DOC_SEE(cpp_make_token_array) diff --git a/4coder_lists.cpp b/4coder_lists.cpp index 1a036352..6a933a8d 100644 --- a/4coder_lists.cpp +++ b/4coder_lists.cpp @@ -287,7 +287,7 @@ CUSTOM_DOC("A lister mode command that handles input for the fixed sure to kill static Lister_Handlers lister_get_default_handlers(void){ - Lister_Handlers handlers = {0}; + Lister_Handlers handlers = {}; handlers.write_character = lister__write_character__default; handlers.backspace = lister__backspace_text_field__default; handlers.navigate_up = lister__move_up__default; @@ -297,7 +297,7 @@ lister_get_default_handlers(void){ static Lister_Handlers lister_get_fixed_list_handlers(void){ - Lister_Handlers handlers = {0}; + Lister_Handlers handlers = {}; handlers.write_character = lister__write_character__fixed_list; handlers.backspace = 0; handlers.navigate_up = lister__move_up__default; @@ -452,7 +452,7 @@ begin_integrated_lister__ui_list(Application_Links *app, char *query_string, static void generate_all_buffers_list__output_buffer(Partition *arena, Lister *lister, Buffer_Summary buffer){ - String status = {0}; + String status = {}; switch (buffer.dirty){ case DirtyState_UnsavedChanges: status = make_lit_string("*"); break; case DirtyState_UnloadedChanges: status = make_lit_string("!"); break; @@ -536,7 +536,7 @@ generate_hot_directory_file_list(Application_Links *app, Partition *arena, Liste lister_begin_new_item_set(lister); String hot = get_hot_directory(app, arena); push_align(arena, 8); - File_List file_list = {0}; + File_List file_list = {}; if (hot.str != 0){ file_list = get_file_list(app, hot.str, hot.size); } @@ -561,7 +561,7 @@ generate_hot_directory_file_list(Application_Links *app, Partition *arena, Liste char *status_flag = ""; Temp_Memory path_temp = begin_temp_memory(arena); - String full_file_path = {0}; + String full_file_path = {}; full_file_path.size = 0; full_file_path.memory_size = hot.size + 1 + info->filename_len + 1; full_file_path.str = push_array(arena, char, full_file_path.memory_size); @@ -801,7 +801,7 @@ activate_open_or_new(Application_Links *app, Partition *scratch, Heap *heap, View_Summary *view, struct Lister_State *state, String text_field, void *user_data, bool32 clicked){ Lister_Activation_Code result = 0; - String file_name = {0}; + String file_name = {}; if (user_data == 0){ file_name = front_of_directory(text_field); } @@ -866,7 +866,7 @@ activate_open(Application_Links *app, Partition *scratch, Heap *heap, View_Summary *view, struct Lister_State *state, String text_field, void *user_data, bool32 clicked){ Lister_Activation_Code result = 0; - String file_name = {0}; + String file_name = {}; if (user_data != 0){ file_name = make_string_slowly((char*)user_data); } diff --git a/4coder_metadata_generator.cpp b/4coder_metadata_generator.cpp index 007c82d7..e1a20cee 100644 --- a/4coder_metadata_generator.cpp +++ b/4coder_metadata_generator.cpp @@ -33,7 +33,7 @@ line_column_coordinates(String text, int32_t pos){ pos = text.size; } - Line_Column_Coordinates coords = {0}; + Line_Column_Coordinates coords = {}; coords.line = 1; coords.column = 1; char *end = text.str + pos; @@ -79,7 +79,7 @@ struct Temp_Read{ static Reader make_reader(Cpp_Token_Array array, char *source_name, String text){ - Reader reader = {0}; + Reader reader = {}; reader.tokens = array; reader.ptr = array.tokens; reader.source_name = source_name; @@ -89,7 +89,7 @@ make_reader(Cpp_Token_Array array, char *source_name, String text){ static Cpp_Token prev_token(Reader *reader){ - Cpp_Token result = {0}; + Cpp_Token result = {}; for (;;){ if (reader->ptr > reader->tokens.tokens + reader->tokens.count){ @@ -116,7 +116,7 @@ prev_token(Reader *reader){ static Cpp_Token get_token(Reader *reader){ - Cpp_Token result = {0}; + Cpp_Token result = {}; for (;;){ if (reader->ptr < reader->tokens.tokens){ @@ -144,7 +144,7 @@ get_token(Reader *reader){ static Cpp_Token peek_token(Reader *reader){ - Cpp_Token result = {0}; + Cpp_Token result = {}; if (reader->ptr < reader->tokens.tokens){ reader->ptr = reader->tokens.tokens; @@ -179,7 +179,7 @@ error(Reader *reader, int32_t pos, char *msg){ static Temp_Read begin_temp_read(Reader *reader){ - Temp_Read temp = {0}; + Temp_Read temp = {}; temp.reader = reader; temp.pos = reader->ptr; return(temp); @@ -466,10 +466,10 @@ extract_string(Reader *reader, String *str_out, int32_t *opt_pos_out = 0){ static bool32 parse_documented_command(Partition *part, Meta_Command_Entry_Arrays *arrays, Reader *reader){ - String name = {0}; - String file_name = {0}; - String line_number = {0}; - String doc = {0}; + String name = {}; + String file_name = {}; + String line_number = {}; + String doc = {}; // Getting the command's name int32_t start_pos = 0; @@ -552,8 +552,8 @@ parse_documented_command(Partition *part, Meta_Command_Entry_Arrays *arrays, Rea static bool32 parse_alias(Partition *part, Meta_Command_Entry_Arrays *arrays, Reader *reader){ - String name = {0}; - String potential = {0}; + String name = {}; + String potential = {}; // Getting the alias's name int32_t start_pos = 0; @@ -765,7 +765,7 @@ main(int argc, char **argv){ start_i = 3; } - Meta_Command_Entry_Arrays entry_arrays = {0}; + Meta_Command_Entry_Arrays entry_arrays = {}; for (int32_t i = start_i; i < argc; ++i){ Filename_Character *pattern_name = encode(part, argv[i]); parse_files_by_pattern(part, &entry_arrays, pattern_name, recursive); diff --git a/4coder_miblo_numbers.cpp b/4coder_miblo_numbers.cpp index cdb418d1..b120148e 100644 --- a/4coder_miblo_numbers.cpp +++ b/4coder_miblo_numbers.cpp @@ -14,7 +14,7 @@ get_numeric_string_at_cursor(Application_Links *app, Buffer_Summary *buffer, int if (char_is_numeric(current)){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; int32_t pos = start_pos; @@ -97,7 +97,7 @@ CUSTOM_DOC("Increment an integer under the cursor by one.") View_Summary view = get_active_view(app, AccessOpen); Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessOpen); - Miblo_Number_Info number = {0}; + Miblo_Number_Info number = {}; if (get_numeric_at_cursor(app, &buffer, view.cursor.pos, &number)){ char str_space[1024]; String str = make_fixed_width_string(str_space); @@ -113,7 +113,7 @@ CUSTOM_DOC("Decrement an integer under the cursor by one.") View_Summary view = get_active_view(app, AccessOpen); Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessOpen); - Miblo_Number_Info number = {0}; + Miblo_Number_Info number = {}; if (get_numeric_at_cursor(app, &buffer, view.cursor.pos, &number)){ char str_space[1024]; String str = make_fixed_width_string(str_space); @@ -135,7 +135,7 @@ get_timestamp_string_at_cursor(Application_Links *app, Buffer_Summary *buffer, i if (char_is_numeric(current) || current == ':'){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; int32_t pos = start_pos; @@ -188,7 +188,7 @@ struct Miblo_Timestamp{ int32_t minute; int32_t hour; }; -static Miblo_Timestamp null_miblo_timestamp = {0}; +static Miblo_Timestamp null_miblo_timestamp = {}; enum{ MIBLO_SECOND, @@ -298,7 +298,7 @@ get_timestamp_at_cursor(Application_Links *app, Buffer_Summary *buffer, int32_t } if (count_colons == 1 || count_colons == 2){ - Miblo_Timestamp t = {0}; + Miblo_Timestamp t = {}; int32_t success = 0; @@ -362,7 +362,7 @@ miblo_time_stamp_alter(Application_Links *app, int32_t unit_type, int32_t amt){ View_Summary view = get_active_view(app, AccessOpen); Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessOpen); - Miblo_Timestamp_Info timestamp = {0}; + Miblo_Timestamp_Info timestamp = {}; if (get_timestamp_at_cursor(app, &buffer, view.cursor.pos, ×tamp)){ char str_space[1024]; String str = make_fixed_width_string(str_space); diff --git a/4coder_project_commands.cpp b/4coder_project_commands.cpp index dcd87f01..ffe1655a 100644 --- a/4coder_project_commands.cpp +++ b/4coder_project_commands.cpp @@ -4,14 +4,14 @@ // TOP -static Project current_project = {0}; -static Partition current_project_arena = {0}; +static Project current_project = {}; +static Partition current_project_arena = {}; /////////////////////////////// static Project_File_Pattern_Array get_pattern_array_from_cstring_array(Partition *arena, CString_Array list){ - Project_File_Pattern_Array array = {0}; + Project_File_Pattern_Array array = {}; int32_t count = list.count; array.patterns = push_array(arena, Project_File_Pattern, count); array.count = count; @@ -28,7 +28,7 @@ get_pattern_array_from_cstring_array(Partition *arena, CString_Array list){ static Project_File_Pattern_Array get_pattern_array_from_extension_list(Partition *arena, Extension_List extension_list){ - CString_Array list = {0}; + CString_Array list = {}; list.strings = extension_list.exts; list.count = extension_list.count; return(get_pattern_array_from_cstring_array(arena, list)); @@ -51,7 +51,7 @@ close_all_files_with_extension(Application_Links *app, Partition *scratch_part, do_repeat = 0; uint32_t access = AccessAll; - Buffer_Summary buffer = {0}; + Buffer_Summary buffer = {}; for (buffer = get_buffer_first(app, access); buffer.exists; get_buffer_next(app, &buffer, access)){ @@ -145,7 +145,7 @@ open_all_files_in_directory_pattern_match__inner(Application_Links *app, String static Project_File_Pattern_Array get_standard_blacklist(Partition *arena){ static char *dot_str = ".*"; - CString_Array black_array = {0}; + CString_Array black_array = {}; black_array.strings = &dot_str; black_array.count = 1; return(get_pattern_array_from_cstring_array(arena, black_array)); @@ -234,7 +234,7 @@ parse_project__config_data__version_0(Partition *arena, String file_dir, Config } // Read the settings from project.4coder - String str = {0}; + String str = {}; if (config_string_var(parsed, "extensions", 0, &str)){ Extension_List extension_list; parse_extension_line_to_extension_list(str, &extension_list); @@ -263,12 +263,12 @@ parse_project__config_data__version_0(Partition *arena, String file_dir, Config append_int_to_str(&command->name, j); terminate_with_null(&command->name); - String cmd = {0}; + String cmd = {}; if (config_compound_string_member(parsed, compound, "cmd", 0, &cmd)){ command->cmd = push_string_copy(arena, cmd); } - String out = {0}; + String out = {}; if (config_compound_string_member(parsed, compound, "out", 1, &out)){ command->out = push_string_copy(arena, out); } @@ -344,7 +344,7 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config // project_name { - String str = {0}; + String str = {}; if (config_string_var(parsed, "project_name", 0, &str)){ project->name = push_string_copy(arena, str); } @@ -378,7 +378,7 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config Config_Compound *paths = 0; if (config_compound_compound_member(parsed, paths_option, "paths", 0, &paths)){ - String str = {0}; + String str = {}; if (config_compound_string_member(parsed, paths_option, "os", 1, &str)){ Project_OS_Match_Level r = parse_project__version_1__os_match(str, make_lit_string(PlatformName)); if (r == ProjectOSMatchLevel_ActiveMatch){ @@ -411,7 +411,7 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config dst->recursive = true; dst->relative = true; - String str = {0}; + String str = {}; if (config_compound_string_member(parsed, src, "path", 0, &str)){ dst->path = push_string_copy(arena, str); } @@ -442,12 +442,12 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config bool32 can_emit_command = true; - String name = {0}; - Config_Get_Result cmd_result = {0}; + String name = {}; + Config_Get_Result cmd_result = {}; Config_Compound *cmd_set = 0; char *cmd_pos = 0; - String cmd_str = {0}; - String out = {0}; + String cmd_str = {}; + String out = {}; bool32 footer_panel = false; bool32 save_dirty_files = true; bool32 cursor_at_end = false; @@ -481,9 +481,9 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config } Config_Compound *cmd_option = result.get.compound; - String cmd = {0}; + String cmd = {}; if (config_compound_string_member(parsed, cmd_option, "cmd", 0, &cmd)){ - String str = {0}; + String str = {}; if (config_compound_string_member(parsed, cmd_option, "os", 1, &str)){ Project_OS_Match_Level r = parse_project__version_1__os_match(str, make_lit_string(PlatformName)); if (r == ProjectOSMatchLevel_ActiveMatch){ @@ -528,7 +528,7 @@ parse_project__config_data__version_1(Partition *arena, String root_dir, Config // fkey_command { for (int32_t i = 1; i <= 16; ++i){ - String name = {0}; + String name = {}; int32_t index = -1; if (config_string_var(parsed, "fkey_command", i, &name)){ int32_t count = project->command_array.count; @@ -575,7 +575,7 @@ parse_project__config_data(Partition *arena, String file_dir, Config *parsed){ static Project_Parse_Result parse_project__data(Partition *arena, String file_name, String data, String file_dir){ - Project_Parse_Result result = {0}; + Project_Parse_Result result = {}; Cpp_Token_Array array = text_data_to_token_array(arena, data); if (array.tokens != 0){ result.parsed = text_data_and_token_array_to_parse_data(arena, file_name, data, array); @@ -588,10 +588,10 @@ parse_project__data(Partition *arena, String file_name, String data, String file static Project_Parse_Result parse_project__nearest_file(Application_Links *app, Partition *arena){ - Project_Parse_Result result = {0}; + Project_Parse_Result result = {}; Temp_Memory restore_point = begin_temp_memory(arena); - String project_path = {0}; + String project_path = {}; int32_t size = 32 << 10; char *space = push_array(arena, char, size); if (space != 0){ @@ -664,7 +664,7 @@ project_deep_copy__pattern_array(Partition *arena, Project_File_Pattern_Array *s static Project project_deep_copy__inner(Partition *arena, Project *project){ - Project result = {0}; + Project result = {}; result.dir = push_string_copy(arena, project->dir); if (result.dir.str == 0){ @@ -971,9 +971,9 @@ exec_project_command(Application_Links *app, Project_Command *command){ save_all_dirty_buffers(app); } - View_Summary view = {0}; + View_Summary view = {}; View_Summary *view_ptr = 0; - Buffer_Identifier buffer_id = {0}; + Buffer_Identifier buffer_id = {}; uint32_t flags = CLI_OverlapWithConflict; if (cursor_at_end){ flags |= CLI_CursorAtEnd; @@ -1091,24 +1091,22 @@ CUSTOM_COMMAND_SIG(project_fkey_command) CUSTOM_DOC("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.") { User_Input input = get_command_input(app); - if (input.type == UserInputKey){ - bool32 got_ind = false; - int32_t ind = 0; - if (input.key.keycode >= key_f1 && input.key.keycode <= key_f16){ - ind = (input.key.keycode - key_f1); - got_ind = true; - } - else if (input.key.character_no_caps_lock >= '1' && input.key.character_no_caps_lock >= '9'){ - ind = (input.key.character_no_caps_lock - '1'); - got_ind = true; - } - else if (input.key.character_no_caps_lock == '0'){ - ind = 9; - got_ind = true; - } - if (got_ind){ - exec_project_fkey_command(app, ind); - } + bool32 got_ind = false; + int32_t ind = 0; + if (input.key.keycode >= key_f1 && input.key.keycode <= key_f16){ + ind = (input.key.keycode - key_f1); + got_ind = true; + } + else if (input.key.character_no_caps_lock >= '1' && input.key.character_no_caps_lock >= '9'){ + ind = (input.key.character_no_caps_lock - '1'); + got_ind = true; + } + else if (input.key.character_no_caps_lock == '0'){ + ind = 9; + got_ind = true; + } + if (got_ind){ + exec_project_fkey_command(app, ind); } } @@ -1125,7 +1123,7 @@ CUSTOM_DOC("Changes 4coder's hot directory to the root directory of the currentl static Project_Setup_Status project_is_setup(Application_Links *app, Partition *scratch, String script_path, String script_file){ - Project_Setup_Status result = {0}; + Project_Setup_Status result = {}; Temp_Memory temp = begin_temp_memory(scratch); @@ -1164,12 +1162,12 @@ project_key_strings_query_user(Application_Links *app, char *code_file_space, int32_t code_file_cap, char *output_dir_space, int32_t output_dir_cap, char *binary_file_space, int32_t binary_file_cap){ - Project_Key_Strings keys = {0}; + Project_Key_Strings keys = {}; - Query_Bar script_file_bar = {0}; - Query_Bar code_file_bar = {0}; - Query_Bar output_dir_bar = {0}; - Query_Bar binary_file_bar = {0}; + Query_Bar script_file_bar = {}; + Query_Bar code_file_bar = {}; + Query_Bar output_dir_bar = {}; + Query_Bar binary_file_bar = {}; if (get_script_file){ script_file_bar.prompt = make_lit_string("Script Name: "); @@ -1394,7 +1392,7 @@ project_setup_scripts__generic(Application_Links *app, Partition *scratch, String script_path = get_hot_directory(app, scratch); bool32 needs_to_do_work = false; - Project_Setup_Status status = {0}; + Project_Setup_Status status = {}; if (do_project_file){ status = project_is_setup(app, scratch, script_path, make_lit_string("build")); needs_to_do_work = diff --git a/4coder_remapping_commands.cpp b/4coder_remapping_commands.cpp index bc02201c..fa19dcb9 100644 --- a/4coder_remapping_commands.cpp +++ b/4coder_remapping_commands.cpp @@ -31,7 +31,7 @@ mac_default_keys(Bind_Helper *context){ static Bind_Helper get_context_on_global_part(void){ - Bind_Helper result = {0}; + Bind_Helper result = {}; int32_t size = (1 << 20); for (;;){ void *data = push_array(&global_part, char, size); diff --git a/4coder_scope_commands.cpp b/4coder_scope_commands.cpp index 9e4ed659..c3f94568 100644 --- a/4coder_scope_commands.cpp +++ b/4coder_scope_commands.cpp @@ -41,7 +41,7 @@ find_scope_get_token_type(uint32_t flags, Cpp_Token_Type token_type){ static bool32 find_scope_top(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos, uint32_t flags, int32_t *end_pos_out){ - Cpp_Get_Token_Result get_result = {0}; + Cpp_Get_Token_Result get_result = {}; bool32 success = false; int32_t position = 0; @@ -58,7 +58,7 @@ find_scope_top(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos if (token_index >= 0){ static const int32_t chunk_cap = 512; Cpp_Token chunk[chunk_cap]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, buffer, token_index, chunk, chunk_cap)){int32_t nest_level = 0; bool32 still_looping = false; @@ -100,7 +100,7 @@ find_scope_top(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos static bool32 find_scope_bottom(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos, uint32_t flags, int32_t *end_pos_out){ - Cpp_Get_Token_Result get_result = {0}; + Cpp_Get_Token_Result get_result = {}; bool32 success = false; int32_t position = 0; @@ -117,7 +117,7 @@ find_scope_bottom(Application_Links *app, Buffer_Summary *buffer, int32_t start_ if (token_index >= 0){ static const int32_t chunk_cap = 512; Cpp_Token chunk[chunk_cap]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, buffer, token_index, chunk, chunk_cap)){ int32_t nest_level = 0; @@ -160,7 +160,7 @@ find_scope_bottom(Application_Links *app, Buffer_Summary *buffer, int32_t start_ static bool32 find_next_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos, uint32_t flags, int32_t *end_pos_out){ - Cpp_Get_Token_Result get_result = {0}; + Cpp_Get_Token_Result get_result = {}; bool32 success = 0; int32_t position = 0; @@ -171,7 +171,7 @@ find_next_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_po if (token_index >= 0){ static const int32_t chunk_cap = 512; Cpp_Token chunk[chunk_cap]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, buffer, token_index, chunk, chunk_cap)){ if (flags & FindScope_NextSibling){ @@ -239,7 +239,7 @@ find_next_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_po static bool32 find_prev_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos, uint32_t flags, int32_t *end_pos_out){ - Cpp_Get_Token_Result get_result = {0}; + Cpp_Get_Token_Result get_result = {}; bool32 success = 0; int32_t position = 0; @@ -250,7 +250,7 @@ find_prev_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_po if (token_index >= 0){ static const int32_t chunk_cap = 512; Cpp_Token chunk[chunk_cap]; - Stream_Tokens stream = {0}; + Stream_Tokens stream = {}; if (init_stream_tokens(&stream, app, buffer, token_index, chunk, chunk_cap)){ if (flags & FindScope_NextSibling){ @@ -318,7 +318,7 @@ find_prev_scope(Application_Links *app, Buffer_Summary *buffer, int32_t start_po static bool32 find_scope_range(Application_Links *app, Buffer_Summary *buffer, int32_t start_pos, Range *range_out, uint32_t flags){ - Range range = {0}; + Range range = {}; if (find_scope_top(app, buffer, start_pos, FindScope_Parent|flags, &range.start)){ @@ -340,8 +340,8 @@ view_set_to_region(Application_Links *app, View_Summary *view, int32_t major_pos bottom_major = true; } - Full_Cursor top = {0}; - Full_Cursor bottom = {0}; + Full_Cursor top = {}; + Full_Cursor bottom = {}; if (view_compute_cursor(app, view, seek_pos(range.min), &top)){ if (view_compute_cursor(app, view, seek_pos(range.max), &bottom)){ float top_y = top.wrapped_y; @@ -389,7 +389,7 @@ CUSTOM_DOC("Finds the scope enclosed by '{' '}' surrounding the cursor and puts View_Summary view = get_active_view(app, access); Buffer_Summary buffer = get_buffer(app, view.buffer_id, access); - Range range = {0}; + Range range = {}; if (find_scope_range(app, &buffer, view.cursor.pos, &range, FindScope_Brace)){ view_set_cursor(app, &view, seek_pos(range.first), true); view_set_mark(app, &view, seek_pos(range.end)); @@ -442,7 +442,7 @@ place_begin_and_end_on_own_lines(Application_Links *app, Partition *scratch, cha View_Summary view = get_active_view(app, AccessOpen); Buffer_Summary buffer = get_buffer(app, view.buffer_id, AccessOpen); - Range lines = {0}; + Range lines = {}; Range range = get_view_range(&view); lines.min = buffer_get_line_number(app, &buffer, range.min); lines.max = buffer_get_line_number(app, &buffer, range.max); @@ -742,10 +742,10 @@ find_whole_statement_down(Application_Links *app, Buffer_Summary *buffer, int32_ int32_t start = pos; int32_t end = start; - Cpp_Get_Token_Result get_result = {0}; + Cpp_Get_Token_Result get_result = {}; if (buffer_get_token_index(app, buffer, pos, &get_result)){ - Statement_Parser parser = {0}; + Statement_Parser parser = {}; parser.token_index = get_result.token_index; if (parser.token_index < 0){ @@ -761,7 +761,7 @@ find_whole_statement_down(Application_Links *app, Buffer_Summary *buffer, int32_ if (init_stream_tokens(&parser.stream, app, buffer, parser.token_index, chunk, chunk_cap)){ parser.buffer = buffer; - Cpp_Token end_token = {0}; + Cpp_Token end_token = {}; if (parse_statement_down(app, &parser, &end_token)){ end = end_token.start + end_token.size; result = true; @@ -794,7 +794,7 @@ CUSTOM_DOC("If a scope is currently selected, and a statement or block statement Temp_Memory temp = begin_temp_memory(part); if (buffer_get_char(app, &buffer, top) == '{' && buffer_get_char(app, &buffer, bottom-1) == '}'){ - Range range = {0}; + Range range = {}; if (find_whole_statement_down(app, &buffer, bottom, &range.start, &range.end)){ char *string_space = push_array(part, char, range.end - range.start); buffer_read_range(app, &buffer, range.start, range.end, string_space); diff --git a/4coder_search.cpp b/4coder_search.cpp index e0885ebd..2f205ea7 100644 --- a/4coder_search.cpp +++ b/4coder_search.cpp @@ -137,7 +137,7 @@ search_hit_add(Heap *heap, Table *hits, String_Space *space, char *str, int32_t Assert(ostring.size != 0); if (table_at_capacity(hits)){ - Table new_hits = {0}; + Table new_hits = {}; search_hits_table_alloc(heap, &new_hits, hits->max*2); table_clear(&new_hits); table_rehash(hits, &new_hits, space->space, tbl_offset_string_hash, tbl_offset_string_compare); @@ -200,7 +200,7 @@ seek_potential_match(Application_Links *app, Search_Range *range, Search_Key key static int32_t buffer_seek_alpha_numeric_end(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char space[1024]; - Stream_Chunk chunk = {0}; + Stream_Chunk chunk = {}; if (init_stream_chunk(&chunk, app, buffer, pos, space, sizeof(space))){ int32_t still_looping = true; do{ @@ -378,7 +378,7 @@ search_iter_next_range(Search_Iter *it){ static Search_Match search_next_match(Application_Links *app, Search_Set *set, Search_Iter *it_ptr){ - Search_Match result = {0}; + Search_Match result = {}; Search_Iter iter = *it_ptr; int32_t count = set->count; @@ -416,8 +416,8 @@ search_next_match(Application_Links *app, Search_Set *set, Search_Iter *it_ptr){ case SearchRange_Wave: { - Search_Match forward_match = {0}; - Search_Match backward_match = {0}; + Search_Match forward_match = {}; + Search_Match backward_match = {}; int32_t forward_result = FindResult_PastEnd; int32_t backward_result = FindResult_PastEnd; @@ -488,7 +488,7 @@ initialize_generic_search_all_buffers(Application_Links *app, Heap *heap, String memset(set, 0, sizeof(*set)); memset(iter, 0, sizeof(*iter)); - Search_Key key = {0}; + Search_Key key = {}; int32_t sizes[ArrayCount(key.words)]; memset(sizes, 0, sizeof(sizes)); @@ -598,7 +598,7 @@ buffered_print_match_jump_line(Application_Links *app, Partition *part, Temp_Mem int32_t column_num_len = int_to_str_size(word_pos.character); Temp_Memory line_temp = begin_temp_memory(line_part); - String line_str = {0}; + String line_str = {}; if (read_line(app, line_part, match_buffer, word_pos.line, &line_str)){ line_str = skip_chop_whitespace(line_str); @@ -633,8 +633,8 @@ list__parameters(Application_Links *app, Heap *heap, Partition *scratch, Buffer_Summary search_buffer = get_buffer(app, search_buffer_id, AccessAll); // Initialize a generic search all buffers - Search_Set set = {0}; - Search_Iter iter = {0}; + Search_Set set = {}; + Search_Iter iter = {}; initialize_generic_search_all_buffers(app, heap, strings, count, match_flags, &search_buffer.buffer_id, 1, &set, &iter); // List all locations into search buffer @@ -646,7 +646,7 @@ list__parameters(Application_Links *app, Heap *heap, Partition *scratch, for (Search_Match match = search_next_match(app, &set, &iter); match.found_match; match = search_next_match(app, &set, &iter)){ - Partial_Cursor word_pos = {0}; + Partial_Cursor word_pos = {}; if (buffer_compute_cursor(app, &match.buffer, seek_pos(match.start), &word_pos)){ if (prev_match_id != match.buffer.buffer_id){ if (prev_match_id != 0){ @@ -851,7 +851,7 @@ CUSTOM_DOC("Reads a token or word under the cursor and lists all locations of st // Word Complete Command // -static Word_Complete_State complete_state = {0}; +static Word_Complete_State complete_state = {}; CUSTOM_COMMAND_SIG(word_complete) CUSTOM_DOC("Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.") @@ -889,7 +889,7 @@ CUSTOM_DOC("Iteratively tries completing the word to the left of the cursor with cursor_pos = word_end - 1; char space[1024]; - Stream_Chunk chunk = {0}; + Stream_Chunk chunk = {}; if (init_stream_chunk(&chunk, app, &buffer, cursor_pos, space, sizeof(space))){ int32_t still_looping = true; do{ @@ -916,7 +916,7 @@ CUSTOM_DOC("Iteratively tries completing the word to the left of the cursor with // NOTE(allen): Initialize the search iterator with the partial word. complete_state.initialized = true; - Search_Key key = {0}; + Search_Key key = {}; search_key_alloc(&global_heap, &key, &size, 1); buffer_read_range(app, &buffer, word_start, word_end, key.words[0].str); key.words[0].size = size; diff --git a/4coder_seek.cpp b/4coder_seek.cpp index 21506531..3c1a08e6 100644 --- a/4coder_seek.cpp +++ b/4coder_seek.cpp @@ -8,7 +8,7 @@ static int32_t seek_line_end(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; int32_t still_looping; char at_pos; @@ -38,7 +38,7 @@ static int32_t seek_line_beginning(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; int32_t still_looping; char at_pos; @@ -74,7 +74,7 @@ move_past_lead_whitespace(Application_Links *app, View_Summary *view, Buffer_Sum int32_t new_pos = seek_line_beginning(app, buffer, view->cursor.pos); char space[1024]; - Stream_Chunk chunk = {0}; + Stream_Chunk chunk = {}; int32_t still_looping = false; int32_t i = new_pos; @@ -100,7 +100,7 @@ static int32_t buffer_seek_whitespace_up(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; char at_pos; @@ -157,7 +157,7 @@ static int32_t buffer_seek_whitespace_down(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, chunk, chunk_size)){ // step 1: find the first non-whitespace character @@ -215,7 +215,7 @@ buffer_seek_whitespace_down(Application_Links *app, Buffer_Summary *buffer, int3 static int32_t buffer_seek_whitespace_right(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, data_chunk, sizeof(data_chunk))){ @@ -248,7 +248,7 @@ buffer_seek_whitespace_right(Application_Links *app, Buffer_Summary *buffer, int static int32_t buffer_seek_whitespace_left(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; --pos; if (pos > 0){ @@ -289,7 +289,7 @@ buffer_seek_whitespace_left(Application_Links *app, Buffer_Summary *buffer, int3 static int32_t buffer_seek_alphanumeric_right(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, data_chunk, sizeof(data_chunk))){ @@ -322,7 +322,7 @@ buffer_seek_alphanumeric_right(Application_Links *app, Buffer_Summary *buffer, i static int32_t buffer_seek_alphanumeric_left(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; --pos; if (pos > 0){ @@ -361,7 +361,7 @@ buffer_seek_alphanumeric_left(Application_Links *app, Buffer_Summary *buffer, in static int32_t buffer_seek_alphanumeric_or_underscore_right(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, data_chunk, sizeof(data_chunk))){ bool32 still_looping = true; @@ -393,7 +393,7 @@ buffer_seek_alphanumeric_or_underscore_right(Application_Links *app, Buffer_Summ static int32_t buffer_seek_alphanumeric_or_underscore_left(Application_Links *app, Buffer_Summary *buffer, int32_t pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; --pos; if (pos > 0){ @@ -433,7 +433,7 @@ buffer_seek_alphanumeric_or_underscore_left(Application_Links *app, Buffer_Summa static int32_t buffer_seek_range_camel_right(Application_Links *app, Buffer_Summary *buffer, int32_t pos, int32_t an_pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; ++pos; if (pos < an_pos){ @@ -467,7 +467,7 @@ buffer_seek_range_camel_right(Application_Links *app, Buffer_Summary *buffer, in static int32_t buffer_seek_range_camel_left(Application_Links *app, Buffer_Summary *buffer, int32_t pos, int32_t an_pos){ char data_chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; --pos; if (pos > 0){ @@ -542,7 +542,7 @@ seek_token_right(Cpp_Token_Array *tokens, int32_t pos){ static Cpp_Token_Array buffer_get_all_tokens(Application_Links *app, Partition *part, Buffer_Summary *buffer){ - Cpp_Token_Array array = {0}; + Cpp_Token_Array array = {}; if (buffer->exists && buffer->is_lexed){ array.count = buffer_token_count(app, buffer); @@ -674,7 +674,7 @@ buffer_seek_delimiter_forward(Application_Links *app, Buffer_Summary *buffer, in if (buffer->exists){ char chunk[1024]; int32_t size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, chunk, size)){ int32_t still_looping = 1; @@ -701,7 +701,7 @@ buffer_seek_delimiter_backward(Application_Links *app, Buffer_Summary *buffer, i if (buffer->exists){ char chunk[1024]; int32_t size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; if (init_stream_chunk(&stream, app, buffer, pos, chunk, size)){ int32_t still_looping = 1; @@ -746,7 +746,7 @@ buffer_seek_string_forward(Application_Links *app, Buffer_Summary *buffer, int32 read_str.size = size; char chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; stream.max_end = end; if (init_stream_chunk(&stream, app, buffer, pos, chunk, sizeof(chunk))){ @@ -795,7 +795,7 @@ buffer_seek_string_backward(Application_Links *app, Buffer_Summary *buffer, int3 read_str.size = size; char chunk[1024]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; stream.min_start = min; if (init_stream_chunk(&stream, app, buffer, pos, chunk, sizeof(chunk))){ @@ -828,7 +828,7 @@ buffer_seek_string_insensitive_forward(Application_Links *app, Buffer_Summary *b char read_buffer[512]; char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; stream.max_end = end; if (buffer->size > end){ @@ -876,7 +876,7 @@ buffer_seek_string_insensitive_backward(Application_Links *app, Buffer_Summary * char read_buffer[512]; char chunk[1024]; int32_t chunk_size = sizeof(chunk); - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; stream.min_start = min; *result = min-1; @@ -941,8 +941,8 @@ buffer_seek_string(Application_Links *app, Buffer_Summary *buffer, int32_t pos, static bool32 buffer_line_is_blank(Application_Links *app, Buffer_Summary *buffer, int32_t line){ - Partial_Cursor start = {0}; - Partial_Cursor end = {0}; + Partial_Cursor start = {}; + Partial_Cursor end = {}; bool32 result = false; if (line <= buffer->line_count){ buffer_compute_cursor(app, buffer, seek_line_char(line, 1), &start); @@ -950,7 +950,7 @@ buffer_line_is_blank(Application_Links *app, Buffer_Summary *buffer, int32_t lin static const int32_t chunk_size = 1024; char chunk[chunk_size]; - Stream_Chunk stream = {0}; + Stream_Chunk stream = {}; int32_t i = start.pos; stream.max_end = end.pos; @@ -975,7 +975,7 @@ buffer_line_is_blank(Application_Links *app, Buffer_Summary *buffer, int32_t lin static String read_identifier_at_pos(Application_Links *app, Buffer_Summary *buffer, int32_t pos, char *space, int32_t max, Range *range_out){ - String query = {0}; + String query = {}; int32_t start = buffer_seek_alphanumeric_or_underscore_left(app, buffer, pos); int32_t end = buffer_seek_alphanumeric_or_underscore_right(app, buffer, start); diff --git a/4coder_system_command.cpp b/4coder_system_command.cpp index 5d3b0a11..9871906e 100644 --- a/4coder_system_command.cpp +++ b/4coder_system_command.cpp @@ -22,8 +22,8 @@ CUSTOM_DOC("If the command execute_any_cli has already been used, this will exec CUSTOM_COMMAND_SIG(execute_any_cli) CUSTOM_DOC("Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer."){ - Query_Bar bar_out = {0}; - Query_Bar bar_cmd = {0}; + Query_Bar bar_out = {}; + Query_Bar bar_cmd = {}; bar_out.prompt = make_lit_string("Output Buffer: "); bar_out.string = make_fixed_width_string(out_buffer_space); diff --git a/4coder_ui_helper.cpp b/4coder_ui_helper.cpp index 7afa3c7b..7f5ee633 100644 --- a/4coder_ui_helper.cpp +++ b/4coder_ui_helper.cpp @@ -36,9 +36,9 @@ ui__rect_union(i32_Rect a, i32_Rect b){ static UI_Control ui_list_to_ui_control(Partition *arena, UI_List *list){ - UI_Control control = {0}; + UI_Control control = {}; control.items = push_array(arena, UI_Item, list->count); - i32_Rect neg_inf_rect = {0}; + i32_Rect neg_inf_rect = {}; neg_inf_rect.x0 = INT32_MAX; neg_inf_rect.y0 = INT32_MAX; neg_inf_rect.x1 = INT32_MIN; @@ -100,7 +100,7 @@ ui_control_get_mouse_hit(UI_Control *control, static void view_zero_scroll(Application_Links *app, View_Summary *view){ - GUI_Scroll_Vars zero_scroll = {0}; + GUI_Scroll_Vars zero_scroll = {}; view_set_scroll(app, view, zero_scroll); } @@ -232,7 +232,7 @@ lister_get_clicked_item(Application_Links *app, View_Summary *view, Partition *s int32_t myu = 0; get_view_relative_mouse_positions(mouse, *view, &mxs, &mys, &mxu, &myu); UI_Item *clicked = ui_control_get_mouse_hit(&control, mxs, mys, mxu, myu); - UI_Item result = {0}; + UI_Item result = {}; if (clicked != 0){ result = *clicked; } @@ -268,15 +268,15 @@ lister_update_ui(Application_Links *app, Partition *scratch, View_Summary *view, state->raw_item_index = -1; int32_t node_count = state->lister.options.count; - Lister_Node_Ptr_Array exact_matches = {0}; + Lister_Node_Ptr_Array exact_matches = {}; exact_matches.node_ptrs = push_array(scratch, Lister_Node*, 1); - Lister_Node_Ptr_Array before_extension_matches = {0}; + Lister_Node_Ptr_Array before_extension_matches = {}; before_extension_matches.node_ptrs = push_array(scratch, Lister_Node*, node_count); - Lister_Node_Ptr_Array substring_matches = {0}; + Lister_Node_Ptr_Array substring_matches = {}; substring_matches.node_ptrs = push_array(scratch, Lister_Node*, node_count); String key = state->lister.key_string; - Absolutes absolutes = {0}; + Absolutes absolutes = {}; get_absolutes(key, &absolutes, true, true); bool32 has_wildcard = (absolutes.count > 3); @@ -306,7 +306,7 @@ lister_update_ui(Application_Links *app, Partition *scratch, View_Summary *view, substring_matches, }; - UI_List list = {0}; + UI_List list = {}; UI_Item *highlighted_item = 0; UI_Item *hot_item = 0; UI_Item *hovered_item = 0; @@ -316,14 +316,14 @@ lister_update_ui(Application_Links *app, Partition *scratch, View_Summary *view, for (int32_t node_index = 0; node_index < node_ptr_array.count; node_index += 1){ Lister_Node *node = node_ptr_array.node_ptrs[node_index]; - i32_Rect item_rect = {0}; + i32_Rect item_rect = {}; item_rect.x0 = x0; item_rect.y0 = y_pos; item_rect.x1 = x1; item_rect.y1 = y_pos + block_height; y_pos = item_rect.y1; - UI_Item item = {0}; + UI_Item item = {}; if (!is_theme_list){ item.type = UIType_Option; item.option.string = node->string; @@ -380,14 +380,14 @@ lister_update_ui(Application_Links *app, Partition *scratch, View_Summary *view, } { - i32_Rect item_rect = {0}; + i32_Rect item_rect = {}; item_rect.x0 = x0; item_rect.y0 = 0; item_rect.x1 = x1; item_rect.y1 = item_rect.y0 + line_height; y_pos = item_rect.y1; - UI_Item item = {0}; + UI_Item item = {}; item.type = UIType_TextField; item.activation_level = UIActivation_Active; item.coordinates = UICoordinates_ViewRelative; @@ -406,7 +406,7 @@ lister_update_ui(Application_Links *app, Partition *scratch, View_Summary *view, static Lister_Prealloced_String lister_prealloced(String string){ - Lister_Prealloced_String result = {0}; + Lister_Prealloced_String result = {}; result.string = string; return(result); } diff --git a/4ed.cpp b/4ed.cpp index 5d8e641f..7e3da71a 100644 --- a/4ed.cpp +++ b/4ed.cpp @@ -9,25 +9,23 @@ // TOP -// App Structs - #define DEFAULT_DISPLAY_WIDTH 672 #define DEFAULT_MINIMUM_BASE_DISPLAY_WIDTH 550 -inline App_Coroutine_State +internal App_Coroutine_State get_state(Application_Links *app){ - App_Coroutine_State state = {0}; + App_Coroutine_State state = {}; state.co = app->current_coroutine; state.type = app->type_coroutine; return(state); } -inline void +internal void restore_state(Application_Links *app, App_Coroutine_State state){ app->current_coroutine = state.co; app->type_coroutine = state.type; } -inline Coroutine_Head* +internal Coroutine_Head* app_launch_coroutine(System_Functions *system, Application_Links *app, Coroutine_Type type, Coroutine_Head *co, void *in, void *out){ Coroutine_Head *result = 0; @@ -41,7 +39,7 @@ app_launch_coroutine(System_Functions *system, Application_Links *app, Coroutine return(result); } -inline Coroutine_Head* +internal Coroutine_Head* app_resume_coroutine(System_Functions *system, Application_Links *app, Coroutine_Type type, Coroutine_Head *co, void *in, void *out){ Coroutine_Head *result = 0; @@ -55,7 +53,7 @@ app_resume_coroutine(System_Functions *system, Application_Links *app, Coroutine return(result); } -inline void +internal void output_file_append(System_Functions *system, Models *models, Editing_File *file, String value){ if (!file->is_dummy){ i32 end = buffer_size(&file->state.buffer); @@ -79,7 +77,7 @@ file_cursor_to_end(System_Functions *system, Models *models, Editing_File *file) } } -inline void +internal void do_feedback_message(System_Functions *system, Models *models, String value){ Editing_File *file = models->message_buffer; if (file != 0){ @@ -306,9 +304,9 @@ interpret_binding_buffer(Models *models, void *buffer, i32 size){ Partition *part = &models->mem.part; Temp_Memory temp = begin_temp_memory(part); - Partition local_part = {0}; + Partition local_part = {}; - Mapping new_mapping = {0}; + Mapping new_mapping = {}; models->scroll_rule = fallback_scroll_rule; models->hook_open_file = 0; @@ -649,7 +647,7 @@ setup_command_table(void){ internal void app_hardcode_default_style(Models *models){ - Interactive_Style file_info_style = {0}; + Interactive_Style file_info_style = {}; Style *styles = models->styles.styles; Style *style = styles + 1; @@ -873,7 +871,7 @@ init_command_line_settings(App_Settings *settings, Plat_Settings *plat_settings, internal App_Vars* app_setup_memory(System_Functions *system, Application_Memory *memory){ Partition _partition = make_part(memory->vars_memory, memory->vars_memory_size); - App_Vars *vars = push_struct(&_partition, App_Vars); + App_Vars *vars = push_array(&_partition, App_Vars, 1); Assert(vars != 0); memset(vars, 0, sizeof(*vars)); vars->models.mem.part = _partition; @@ -889,29 +887,23 @@ get_event_flags(Key_Code keycode){ event_flags |= EventOnEsc; event_flags |= EventOnAnyKey; } - else if (keycode == key_mouse_left){ - // TODO(allen): + else if (keycode == key_mouse_left || keycode == key_mouse_left_release){ + event_flags |= EventOnMouseLeftButton; } - else if (keycode == key_mouse_right){ - // TODO(allen): - } - else if (keycode == key_mouse_left_release){ - // TODO(allen): - } - else if (keycode == key_mouse_right_release){ - // TODO(allen): + else if (keycode == key_mouse_right || keycode == key_mouse_right_release){ + event_flags |= EventOnMouseRightButton; } else if (keycode == key_mouse_wheel){ - // TODO(allen): + event_flags |= EventOnMouseWheel; } else if (keycode == key_mouse_move){ - // TODO(allen): + event_flags |= EventOnMouseMove; } else if (keycode == key_animate){ - // TODO(allen): + event_flags |= EventOnAnimate; } - else if (keycode == key_view_activate){ - // TODO(allen): + else if (keycode == key_click_activate_view || keycode == key_click_deactivate_view){ + event_flags |= EventOnViewActivation; } else{ event_flags |= EventOnAnyKey; @@ -919,6 +911,50 @@ get_event_flags(Key_Code keycode){ return(event_flags); } +internal void +force_abort_coroutine(System_Functions *system, Models *models, View *view){ + User_Input user_in = {}; + user_in.abort = true; + for (u32 j = 0; j < 10 && models->command_coroutine != 0; ++j){ + models->command_coroutine = app_resume_coroutine(system, &models->app_links, Co_Command, models->command_coroutine, &user_in, models->command_coroutine_flags); + } + if (models->command_coroutine != 0){ + // TODO(allen): post grave warning + models->command_coroutine = 0; + } + init_query_set(&view->transient.query_set); +} + +internal void +launch_command_via_event(System_Functions *system, Application_Step_Result *app_result, Models *models, View *view, Key_Event_Data event){ + models->key = event; + + i32 map = view_get_map(view); + Command_Binding cmd_bind = map_extract_recursive(&models->mapping, map, event); + + if (cmd_bind.function != 0){ + Assert(models->command_coroutine == 0); + Coroutine_Head *command_coroutine = system->create_coroutine(command_caller); + models->command_coroutine = command_coroutine; + + Command_In cmd_in; + cmd_in.models = models; + cmd_in.bind = cmd_bind; + + models->command_coroutine = app_launch_coroutine(system, &models->app_links, Co_Command, models->command_coroutine, &cmd_in, models->command_coroutine_flags); + + models->prev_command = cmd_bind; + app_result->animating = true; + } +} + +internal void +launch_command_via_keycode(System_Functions *system, Application_Step_Result *app_result, Models *models, View *view, Key_Code keycode){ + Key_Event_Data event = {}; + event.keycode = keycode; + launch_command_via_event(system, app_result, models, view, event); +} + App_Read_Command_Line_Sig(app_read_command_line){ i32 out_size = 0; App_Vars *vars = app_setup_memory(system, memory); @@ -1027,7 +1063,7 @@ App_Init_Sig(app_init){ models->working_set.clipboard_current = 0; models->working_set.clipboard_rolling = 0; - // TODO(allen): more robust allocation solution for the clipboard + // TODO(allen): do(better clipboard allocation) if (clipboard.str != 0){ String *dest = working_set_next_clipboard_string(&models->mem.heap, &models->working_set, clipboard.size); copy(dest, make_string((char*)clipboard.str, clipboard.size)); @@ -1096,7 +1132,7 @@ App_Step_Sig(app_step){ App_Vars *vars = (App_Vars*)memory->vars_memory; Models *models = &vars->models; - Application_Step_Result app_result = {0}; + Application_Step_Result app_result = {}; app_result.mouse_cursor_type = APP_MOUSE_CURSOR_DEFAULT; app_result.lctrl_lalt_is_altgr = models->settings.lctrl_lalt_is_altgr; @@ -1124,7 +1160,7 @@ App_Step_Sig(app_step){ for (;system->get_file_change(buffer, buffer_size, &mem_too_small, &size);){ Assert(!mem_too_small); - Editing_File_Name canon = {0}; + Editing_File_Name canon = {}; if (get_canon_name(system, make_string(buffer, size), &canon)){ Editing_File *file = working_set_contains_canon(working_set, canon.name); @@ -1262,7 +1298,7 @@ App_Step_Sig(app_step){ models->input_filter(&input->mouse); } - Key_Event_Data mouse_event = {0}; + Key_Event_Data mouse_event = {}; if (input->mouse.press_l){ mouse_event.keycode = key_mouse_left; input->keys.keys[input->keys.count++] = mouse_event; @@ -1376,9 +1412,7 @@ App_Step_Sig(app_step){ Panel *active_panel = &models->layout.panels[models->layout.active_panel]; View *view = active_panel->view; Assert(view != 0); - models->key = *key_ptr; - // NOTE(allen): execute a command or resize panels switch (vars->state){ case APP_STATE_EDIT: { @@ -1456,68 +1490,45 @@ App_Step_Sig(app_step){ case EventConsume_ClickChangeView: { + // NOTE(allen): kill coroutine if we have one if (models->command_coroutine != 0){ - User_Input user_in = {0}; - user_in.abort = true; - - for (u32 j = 0; j < 10 && models->command_coroutine != 0; ++j){ - models->command_coroutine = app_resume_coroutine(system, &models->app_links, Co_Command, models->command_coroutine, &user_in, models->command_coroutine_flags); - } - - if (models->command_coroutine != 0){ - // TODO(allen): post grave warning - models->command_coroutine = 0; - } - - init_query_set(&view->transient.query_set); + force_abort_coroutine(system, models, view); + } + + // NOTE(allen): run deactivate command + launch_command_via_keycode(system, &app_result, models, view, key_click_deactivate_view); + + // NOTE(allen): kill coroutine if we have one (again because we just launched a command) + if (models->command_coroutine != 0){ + force_abort_coroutine(system, models, view); } models->layout.active_panel = (i32)(mouse_panel - models->layout.panels); app_result.animating = true; + active_panel = mouse_panel; + view = active_panel->view; - { - Key_Event_Data key = {}; - key.keycode = key_view_activate; - models->key = key; - - i32 map = view_get_map(view); - Command_Binding cmd_bind = map_extract_recursive(&models->mapping, map, key); - - if (cmd_bind.function != 0){ - Assert(models->command_coroutine == 0); - Coroutine_Head *command_coroutine = system->create_coroutine(command_caller); - models->command_coroutine = command_coroutine; - - Command_In cmd_in; - cmd_in.models = models; - cmd_in.bind = cmd_bind; - - models->command_coroutine = app_launch_coroutine(system, &models->app_links, Co_Command, models->command_coroutine, &cmd_in, models->command_coroutine_flags); - - models->prev_command = cmd_bind; - app_result.animating = true; - } - } + // NOTE(allen): run activate command + launch_command_via_keycode(system, &app_result, models, view, key_click_activate_view); }break; case EventConsume_Command: { + // NOTE(allen): update command coroutine if (models->command_coroutine != 0){ + models->key = *key_ptr; + Coroutine_Head *command_coroutine = models->command_coroutine; u32 abort_flags = models->command_coroutine_flags[1]; u32 get_flags = models->command_coroutine_flags[0] | abort_flags; - Partition *part = &models->mem.part; - Temp_Memory temp = begin_temp_memory(part); - u32 event_flags = get_event_flags(key_ptr->keycode); if ((get_flags & event_flags) != 0){ i32 map = view_get_map(view); Command_Binding cmd_bind = map_extract_recursive(&models->mapping, map, *key_ptr); User_Input user_in = {}; - user_in.type = UserInputKey; user_in.key = *key_ptr; user_in.command.command = cmd_bind.custom; user_in.abort = ((abort_flags & event_flags) != 0); @@ -1530,27 +1541,9 @@ App_Step_Sig(app_step){ } } + // NOTE(allen): launch command else{ - i32 map = view_get_map(view); - Command_Binding cmd_bind = map_extract_recursive(&models->mapping, map, *key_ptr); - - if (cmd_bind.function != 0){ - Assert(models->command_coroutine == 0); - Coroutine_Head *command_coroutine = system->create_coroutine(command_caller); - models->command_coroutine = command_coroutine; - - Command_In cmd_in; - cmd_in.models = models; - cmd_in.bind = cmd_bind; - - models->command_coroutine = app_launch_coroutine(system, &models->app_links, Co_Command, models->command_coroutine, &cmd_in, models->command_coroutine_flags); - - models->prev_command = cmd_bind; - - if (keycode != key_animate){ - app_result.animating = true; - } - } + launch_command_via_event(system, &app_result, models, view, *key_ptr); } }break; } diff --git a/4ed_api_implementation.cpp b/4ed_api_implementation.cpp index e563667c..4c4329c4 100644 --- a/4ed_api_implementation.cpp +++ b/4ed_api_implementation.cpp @@ -99,7 +99,7 @@ view_quit_ui(System_Functions *system, Models *models, View *view){ Assert(view != 0); view->transient.ui_mode = false; if (view->transient.ui_quit != 0){ - View_Summary view_summary = {0}; + View_Summary view_summary = {}; fill_view_summary(system, &view_summary, view, models); view->transient.ui_quit(&models->app_links, view_summary); } @@ -345,7 +345,7 @@ DOC_SEE(Command_Line_Interface_Flag) } // NOTE(allen): Figure out the root path for the command. - String path_string = {0}; + String path_string = {}; if (path == 0){ terminate_with_null(&models->hot_directory.string); path_string = models->hot_directory.string; @@ -355,7 +355,7 @@ DOC_SEE(Command_Line_Interface_Flag) } // NOTE(allen): Figure out the command string. - String command_string = {0}; + String command_string = {}; if (command == 0){ command_string = make_lit_string(" echo no script specified"); } @@ -604,7 +604,7 @@ DOC_SEE(Access_Flag) Working_Set *working_set = &models->working_set; Buffer_Summary buffer = {}; String fname = make_string(name, len); - Editing_File_Name canon = {0}; + Editing_File_Name canon = {}; if (get_canon_name(system, fname, &canon)){ Editing_File *file = working_set_contains_canon(working_set, canon.name); if (file != 0){ @@ -1151,7 +1151,7 @@ DOC_SEE(Buffer_Create_Flag) Heap *heap = &models->mem.heap; Partition *part = &models->mem.part; - Buffer_Summary result = {0}; + Buffer_Summary result = {}; b32 buffer_is_for_new_file = false; if (filename_len > 0){ @@ -1160,7 +1160,7 @@ DOC_SEE(Buffer_Create_Flag) String fname = make_string(filename, filename_len); Editing_File *file = 0; b32 do_empty_buffer = false; - Editing_File_Name canon = {0}; + Editing_File_Name canon = {}; b32 has_canon_name = false; // NOTE(allen): Try to get the file by canon name. @@ -1183,7 +1183,7 @@ DOC_SEE(Buffer_Create_Flag) // NOTE(allen): If there is still no file, create a new buffer. if (file == 0){ - Plat_Handle handle = {0}; + Plat_Handle handle = {}; // NOTE(allen): Figure out whether this is a new file, or an existing file. if (!do_empty_buffer){ @@ -1493,7 +1493,7 @@ DOC_SEE(Access_Flag) System_Functions *system = models->system; Panel *panel = models->layout.panels + models->layout.active_panel; Assert(panel->view != 0); - View_Summary view = {0}; + View_Summary view = {}; fill_view_summary(system, &view, panel->view, &models->live_set, &models->working_set); if (!access_test(view.lock_flags, access)){ memset(&view, 0, sizeof(view)); @@ -1515,7 +1515,7 @@ DOC_SEE(View_Split_Position) System_Functions *system = models->system; View *vptr = imp_get_view(models, view_location); Panel *panel = vptr->transient.panel; - View_Summary result = {0}; + View_Summary result = {}; if (models->layout.panel_count < models->layout.panel_max_count){ b32 vsplit = ((position == ViewSplit_Left) || (position == ViewSplit_Right)); @@ -2197,7 +2197,7 @@ DOC_SEE(view_set_ui) { Models *models = (Models*)app->cmd_context; View *vptr = imp_get_view(models, view); - UI_Control result = {0}; + UI_Control result = {}; if (vptr != 0 && part != 0){ UI_Control *control = &vptr->transient.ui_control; result.items = push_array(part, UI_Item, control->count); @@ -2576,7 +2576,7 @@ DOC_SEE(Marker) internal Managed_Object_Ptr_And_Workspace get_dynamic_object_ptrs(Models *models, Managed_Object object){ - Managed_Object_Ptr_And_Workspace result = {0}; + Managed_Object_Ptr_And_Workspace result = {}; u32 hi_id = (object >> 32)&max_u32; Dynamic_Workspace *workspace = get_dynamic_workspace(models, hi_id); if (workspace != 0){ @@ -2602,7 +2602,7 @@ DOC_SEE(destroy_marker_visuals) { Models *models = (Models*)app->cmd_context; Managed_Object_Ptr_And_Workspace object_ptrs = get_dynamic_object_ptrs(models, object); - Marker_Visual visual = {0}; + Marker_Visual visual = {}; if (object_ptrs.header != 0 && object_ptrs.header->type == ManagedObjectType_Markers){ Heap *heap = &models->mem.heap; Dynamic_Workspace *workspace = object_ptrs.workspace; @@ -2982,7 +2982,7 @@ DOC_SEE(User_Input) Models *models = (Models*)app->cmd_context; System_Functions *system = models->system; Coroutine_Head *coroutine = (Coroutine_Head*)app->current_coroutine; - User_Input result = {0}; + User_Input result = {}; if (app->type_coroutine == Co_Command){ Assert(coroutine != 0); @@ -3003,10 +3003,7 @@ DOC_SEE(User_Input) */{ Models *models = (Models*)app->cmd_context; User_Input result = {}; - result.type = UserInputKey; - result.abort = 0; result.key = models->key; - result.command.cmdid = 0; return(result); } @@ -3101,7 +3098,7 @@ DOC_RETURN(On success this call returns a string allocated on arena that is the { Models *models = (Models*)app->cmd_context; Style_Library *library = &models->styles; - String str = {0}; + String str = {}; if (0 <= index && index < library->count){ Style *style = &library->styles[index]; char *mem = push_array(arena, char, style->name.size + 1); @@ -3274,7 +3271,7 @@ face_description_to_settings(System_Functions *system, Face_Description descript if (description.font.in_local_font_folder){ i32 count = system->font.get_loadable_count(); for (i32 i = 0; i < count; ++i){ - Font_Loadable_Description loadable = {0}; + Font_Loadable_Description loadable = {}; system->font.get_loadable(i, &loadable); if (loadable.valid){ @@ -3325,7 +3322,7 @@ DOC_SEE(Face_Description) { Models *models = (Models*)app->cmd_context; System_Functions *system = models->system; - Face_Description description = {0}; + Face_Description description = {}; if (id != 0){ Font_Pointers font = system->font.get_pointers_by_id(id); if (font.valid){ diff --git a/4ed_buffer.cpp b/4ed_buffer.cpp index fb296ba7..42110472 100644 --- a/4ed_buffer.cpp +++ b/4ed_buffer.cpp @@ -508,7 +508,7 @@ buffer_edit_provide_memory(Gap_Buffer *buffer, void *new_data, i32 new_max){ inline void buffer_stringify(Gap_Buffer *buffer, i32 start, i32 end, char *out){ - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 i = start; if (buffer_stringify_loop(&stream, buffer, i, end)){ @@ -525,7 +525,7 @@ buffer_stringify(Gap_Buffer *buffer, i32 start, i32 end, char *out){ internal i32 buffer_convert_out(Gap_Buffer *buffer, char *dest, i32 max){ - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 i = 0; i32 size = buffer_size(buffer); Assert(size + buffer->line_count <= max); @@ -549,7 +549,7 @@ buffer_convert_out(Gap_Buffer *buffer, char *dest, i32 max){ internal i32 buffer_count_newlines(Gap_Buffer *buffer, i32 start, i32 end){ - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 i = start; i32 count = 0; @@ -575,7 +575,7 @@ buffer_count_newlines(Gap_Buffer *buffer, i32 start, i32 end){ // and stores the size in the extra spot. internal i32 buffer_measure_starts(Buffer_Measure_Starts *state, Gap_Buffer *buffer){ - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 size = buffer_size(buffer); i32 start = state->start, i = state->i; i32 *start_ptr = buffer->line_starts + state->count; @@ -624,7 +624,7 @@ internal void buffer_measure_character_starts(System_Functions *system, Font_Pointers font, Gap_Buffer *buffer, i32 *character_starts, i32 mode, i32 virtual_white){ Assert(mode == 0); - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 i = 0; i32 size = buffer_size(buffer); @@ -639,8 +639,8 @@ buffer_measure_character_starts(System_Functions *system, Font_Pointers font, Ga skipping_whitespace = 1; } - Translation_State tran = {0}; - Translation_Emits emits = {0}; + Translation_State tran = {}; + Translation_Emits emits = {}; stream.use_termination_character = 1; stream.terminator = '\n'; @@ -846,7 +846,7 @@ buffer_remeasure_starts(Gap_Buffer *buffer, i32 line_start, i32 line_end, i32 li } // Iteration data (yikes! Need better loop system) - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 size = buffer_size(buffer); i32 char_i = starts[line_start]; i32 line_i = line_start; @@ -909,7 +909,7 @@ buffer_remeasure_character_starts(System_Functions *system, Font_Pointers font, } // Iteration data - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 size = buffer_size(buffer); i32 char_i = buffer->line_starts[line_start]; i32 line_i = line_start; @@ -925,8 +925,8 @@ buffer_remeasure_character_starts(System_Functions *system, Font_Pointers font, } // Translation - Translation_State tran = {0}; - Translation_Emits emits = {0}; + Translation_State tran = {}; + Translation_Emits emits = {}; stream.use_termination_character = 1; stream.terminator = '\n'; @@ -1006,7 +1006,7 @@ buffer_remeasure_wrap_y(Gap_Buffer *buffer, i32 line_start, i32 line_end, i32 li } // Iteration data (yikes! Need better loop system) - Gap_Buffer_Stream stream = {0}; + Gap_Buffer_Stream stream = {}; i32 size = buffer_size(buffer); i32 char_i = buffer->line_starts[line_start]; i32 line_i = line_start; @@ -1130,7 +1130,7 @@ buffer_get_line_index_from_wrapped_y(i32 *wrap_line_index, f32 y, i32 line_heigh internal Partial_Cursor buffer_partial_from_pos(Gap_Buffer *buffer, i32 pos){ - Partial_Cursor result = {0}; + Partial_Cursor result = {}; int32_t size = buffer_size(buffer); if (pos > size){ @@ -1150,7 +1150,7 @@ buffer_partial_from_pos(Gap_Buffer *buffer, i32 pos){ internal Partial_Cursor buffer_partial_from_line_character(Gap_Buffer *buffer, i32 line, i32 character){ - Partial_Cursor result = {0}; + Partial_Cursor result = {}; i32 line_index = line - 1; if (line_index >= buffer->line_count){ diff --git a/4ed_buffer.h b/4ed_buffer.h index 131428c8..a595b152 100644 --- a/4ed_buffer.h +++ b/4ed_buffer.h @@ -45,7 +45,7 @@ struct Gap_Buffer_Stream{ b32 use_termination_character; char terminator; }; -global Gap_Buffer_Stream null_buffer_stream = {0}; +global Gap_Buffer_Stream null_buffer_stream = {}; struct Buffer_Batch_State{ i32 i; diff --git a/4ed_cli.cpp b/4ed_cli.cpp index 5b802907..04abca00 100644 --- a/4ed_cli.cpp +++ b/4ed_cli.cpp @@ -11,7 +11,7 @@ inline CLI_List make_cli_list(Partition *part, u32 max){ - CLI_List list = {0}; + CLI_List list = {}; partition_align(part, 8); list.procs = push_array(part, CLI_Process, max); list.max = max; diff --git a/4ed_code_wrap.cpp b/4ed_code_wrap.cpp index a4ddd13b..50883f12 100644 --- a/4ed_code_wrap.cpp +++ b/4ed_code_wrap.cpp @@ -42,12 +42,12 @@ wrap_state_set_top(Code_Wrap_State *state, f32 line_shift){ internal Code_Wrap_Step wrap_state_consume_token(System_Functions *system, Font_Pointers font, Code_Wrap_State *state, i32 fixed_end_point){ - Code_Wrap_Step result = {0}; + Code_Wrap_Step result = {}; i32 i = state->i; result.position_start = i; - Cpp_Token token = {0}; + Cpp_Token token = {}; token.start = state->size; if (state->token_ptr < state->end_token){ @@ -374,11 +374,11 @@ stickieness_guess(Cpp_Token_Type type, Cpp_Token_Type other_type, u16 flags, u16 internal Wrap_Current_Shift get_current_shift(Code_Wrap_State *wrap_state, i32 next_line_start){ - Wrap_Current_Shift result = {0}; + Wrap_Current_Shift result = {}; result.shift = wrap_state->wrap_x.paren_nesting[wrap_state->wrap_x.paren_safe_top]; - Cpp_Token next_token = {0}; + Cpp_Token next_token = {}; if (wrap_state->token_ptr < wrap_state->end_token){ next_token = *wrap_state->token_ptr; } @@ -456,8 +456,8 @@ file_measure_wraps(System_Functions *system, Mem_Options *mem, Editing_File *fil i32 size = buffer_size(params.buffer); - Buffer_Measure_Wrap_State state = {0}; - Buffer_Layout_Stop stop = {0}; + Buffer_Measure_Wrap_State state = {}; + Buffer_Layout_Stop stop = {}; f32 edge_tolerance = 50.f; edge_tolerance = clamp_top(edge_tolerance, 50.f); @@ -469,7 +469,7 @@ file_measure_wraps(System_Functions *system, Mem_Options *mem, Editing_File *fil i32 wrap_position_index = 0; file->state.wrap_positions[wrap_position_index++] = 0; - Code_Wrap_State wrap_state = {0}; + Code_Wrap_State wrap_state = {}; b32 use_tokens = false; @@ -511,9 +511,9 @@ file_measure_wraps(System_Functions *system, Mem_Options *mem, Editing_File *fil } } else{ - Translation_State tran = {0}; - Translation_Emits emits = {0}; - Gap_Buffer_Stream stream = {0}; + Translation_State tran = {}; + Translation_Emits emits = {}; + Gap_Buffer_Stream stream = {}; i32 word_stage = 0; i32 i = stop.pos; @@ -614,7 +614,7 @@ file_measure_wraps(System_Functions *system, Mem_Options *mem, Editing_File *fil wrap_state.wrap_x.base_x = wrap_state.wrap_x.paren_nesting[0]; for (; wrap_state.token_ptr < wrap_state.end_token; ){ - Code_Wrap_Step step = {0}; + Code_Wrap_Step step = {}; b32 emit_comment_position = false; b32 first_word = true; @@ -636,11 +636,11 @@ file_measure_wraps(System_Functions *system, Mem_Options *mem, Editing_File *fil step.start_x = x; step.this_token = wrap_state.token_ptr; - Gap_Buffer_Stream stream = {0}; - Translation_State tran = {0}; - Translation_Emits emits = {0}; + Gap_Buffer_Stream stream = {}; + Translation_State tran = {}; + Translation_Emits emits = {}; - Potential_Wrap_Indent_Pair potential_wrap = {0}; + Potential_Wrap_Indent_Pair potential_wrap = {}; potential_wrap.wrap_position = i; potential_wrap.line_shift = x; potential_wrap.wrappable_score = 5; diff --git a/4ed_code_wrap.h b/4ed_code_wrap.h index f9bd1ffb..b4e40ee1 100644 --- a/4ed_code_wrap.h +++ b/4ed_code_wrap.h @@ -18,7 +18,7 @@ struct Code_Wrap_X{ i32 paren_safe_top; i32 paren_top; }; -global Code_Wrap_X null_wrap_x = {0}; +global Code_Wrap_X null_wrap_x = {}; struct Code_Wrap_State{ Cpp_Token_Array token_array; diff --git a/4ed_command.cpp b/4ed_command.cpp index 43032f79..7c223eba 100644 --- a/4ed_command.cpp +++ b/4ed_command.cpp @@ -105,7 +105,7 @@ map_add(Command_Map *map, Key_Code event_code, u8 modifiers, Command_Function *f entry = map->commands[index]; } - Command_Binding bind = {0}; + Command_Binding bind = {}; bind.function = function; bind.custom = custom; bind.hash = hash; @@ -205,7 +205,7 @@ map_get_vanilla_keyboard_default(Command_Map *map, u8 command, Command_Binding * internal Command_Binding map_extract(Command_Map *map, Key_Event_Data key){ - Command_Binding bind = {0}; + Command_Binding bind = {}; b32 ctrl = key.modifiers[MDFR_CONTROL_INDEX]; b32 alt = key.modifiers[MDFR_ALT_INDEX]; @@ -243,10 +243,10 @@ map_extract_recursive(Mapping *mapping, i32 map_id, Key_Event_Data key){ map = &mapping->map_top; } - Command_Map *visited_maps[16] = {0}; + Command_Map *visited_maps[16] = {}; i32 visited_top = 0; - Command_Binding cmd_bind = {0}; + Command_Binding cmd_bind = {}; for (; map != 0; ){ cmd_bind = map_extract(map, key); if (cmd_bind.function == 0){ diff --git a/4ed_dynamic_variables.cpp b/4ed_dynamic_variables.cpp index 6182518e..e9babdb1 100644 --- a/4ed_dynamic_variables.cpp +++ b/4ed_dynamic_variables.cpp @@ -442,7 +442,7 @@ lifetime__key_table_erase(Lifetime_Key_Table *table, Lifetime_Key *erase_key){ internal Lifetime_Key_Table lifetime__key_table_copy(Heap *heap, Lifetime_Key_Table table, u32 new_max){ - Lifetime_Key_Table new_table = {0}; + Lifetime_Key_Table new_table = {}; new_table.max = clamp_bottom(table.max, new_max); new_table.max = clamp_bottom(307, new_table.max); i32 item_size = sizeof(*new_table.hashes) + sizeof(*new_table.keys); diff --git a/4ed_edit.cpp b/4ed_edit.cpp index 5eb8d5ce..07a992cf 100644 --- a/4ed_edit.cpp +++ b/4ed_edit.cpp @@ -272,7 +272,7 @@ edit_single__inner(System_Functions *system, Models *models, Editing_File *file, file_measure_wraps(system, &models->mem, file, font); // NOTE(allen): cursor fixing - Cursor_Fix_Descriptor desc = {0}; + Cursor_Fix_Descriptor desc = {}; desc.start = start; desc.end = end; desc.shift_amount = shift_amount; @@ -425,7 +425,7 @@ edit_batch(System_Functions *system, Models *models, Editing_File *file, file_measure_wraps(system, &models->mem, file, font); // NOTE(allen): cursor fixing - Cursor_Fix_Descriptor desc = {0}; + Cursor_Fix_Descriptor desc = {}; desc.is_batch = 1; desc.batch = batch; desc.batch_size = batch_size; @@ -456,7 +456,7 @@ edit_clear(System_Functions *system, Models *models, Editing_File *file){ panel = panel->next){ View *view = panel->view; if (view->transient.file_data.file == file){ - Full_Cursor cursor = {0}; + Full_Cursor cursor = {}; cursor.line = 1; cursor.character = 1; cursor.wrap_line = 1; diff --git a/4ed_file.cpp b/4ed_file.cpp index 25f08c1a..c1c54f8a 100644 --- a/4ed_file.cpp +++ b/4ed_file.cpp @@ -308,7 +308,7 @@ file_compute_cursor(System_Functions *system, Editing_File *file, Buffer_Seek se Font_Pointers font = system->font.get_pointers_by_id(file->settings.font_id); Assert(font.valid); - Full_Cursor result = {0}; + Full_Cursor result = {}; Buffer_Cursor_Seek_Params params; params.buffer = &file->state.buffer; @@ -321,8 +321,8 @@ file_compute_cursor(System_Functions *system, Editing_File *file, Buffer_Seek se params.return_hint = return_hint; params.cursor_out = &result; - Buffer_Cursor_Seek_State state = {0}; - Buffer_Layout_Stop stop = {0}; + Buffer_Cursor_Seek_State state = {}; + Buffer_Layout_Stop stop = {}; i32 size = buffer_size(params.buffer); @@ -409,7 +409,7 @@ file_measure_starts(Heap *heap, Gap_Buffer *buffer){ Assert(buffer->line_starts != 0); } - Buffer_Measure_Starts state = {0}; + Buffer_Measure_Starts state = {}; for (;buffer_measure_starts(&state, buffer);){ i32 count = state.count; i32 max = ((buffer->line_max + 1) << 1); diff --git a/4ed_file_lex.cpp b/4ed_file_lex.cpp index 0774bbbd..70cda65a 100644 --- a/4ed_file_lex.cpp +++ b/4ed_file_lex.cpp @@ -36,7 +36,7 @@ Job_Callback_Sig(job_full_lex){ data_ptr += parse_context.memory_size; data_size -= parse_context.memory_size; - Cpp_Token_Array tokens = {0}; + Cpp_Token_Array tokens = {}; tokens.tokens = (Cpp_Token*)(data_ptr); tokens.max_count = (u32)(data_size / sizeof(Cpp_Token)); tokens.count = 0; @@ -191,7 +191,7 @@ file_first_lex_serial(Models *models, Editing_File *file){ Parse_Context parse_context = parse_context_get(&models->parse_context_memory, file->settings.parse_context_id, partition_current(part), partition_remaining(part)); Assert(parse_context.valid); - push_block(part, (i32)parse_context.memory_size); + push_array(part, char, (i32)parse_context.memory_size); Gap_Buffer *buffer = &file->state.buffer; i32 text_size = buffer_size(buffer); @@ -312,7 +312,7 @@ file_relex_parallel(System_Functions *system, Models *models, Editing_File *file Temp_Memory temp = begin_temp_memory(part); Parse_Context parse_context = parse_context_get(&models->parse_context_memory, file->settings.parse_context_id, partition_current(part), partition_remaining(part)); Assert(parse_context.valid); - push_block(part, (i32)parse_context.memory_size); + push_array(part, char, (i32)parse_context.memory_size); Cpp_Token_Array relex_array; relex_array.count = 0; @@ -443,7 +443,7 @@ file_relex_serial(Models *models, Editing_File *file, i32 start_i, i32 end_i, i3 Temp_Memory temp = begin_temp_memory(part); Parse_Context parse_context = parse_context_get(&models->parse_context_memory, file->settings.parse_context_id, partition_current(part), partition_remaining(part)); Assert(parse_context.valid); - push_block(part, (i32)parse_context.memory_size); + push_array(part, char, (i32)parse_context.memory_size); Cpp_Token_Array relex_array; relex_array.count = 0; diff --git a/4ed_file_track_general.cpp b/4ed_file_track_general.cpp index d0ee7b64..3edbb7f9 100644 --- a/4ed_file_track_general.cpp +++ b/4ed_file_track_general.cpp @@ -22,7 +22,7 @@ struct File_Track_Entry{ File_Index hash; u32 opaque[4]; }; -global_const File_Track_Entry null_file_track_entry = {0}; +global_const File_Track_Entry null_file_track_entry = {}; struct File_Track_Tables{ i32 size; @@ -38,7 +38,7 @@ struct DLL_Node { internal File_Index zero_file_index(){ - File_Index a = {0}; + File_Index a = {}; return(a); } diff --git a/4ed_font.cpp b/4ed_font.cpp index efe3c4aa..f3e6e7e0 100644 --- a/4ed_font.cpp +++ b/4ed_font.cpp @@ -170,7 +170,7 @@ struct Font_Cached_Lookup_Result{ internal Font_Cached_Lookup_Result font_cached_lookup(Font_Page_Storage *pages, u32 page_number){ - Font_Cached_Lookup_Result result = {0}; + Font_Cached_Lookup_Result result = {}; result.index = page_number % ArrayCount(pages->cache); if (pages->cache[result.index].page_number == page_number){ diff --git a/4ed_font.h b/4ed_font.h index e4ad6d0c..bebf4769 100644 --- a/4ed_font.h +++ b/4ed_font.h @@ -68,7 +68,7 @@ struct Glyph_Bounds{ f32 xoff, yoff; f32 xoff2, yoff2; }; -global_const Glyph_Bounds null_glyph_bounds = {0}; +global_const Glyph_Bounds null_glyph_bounds = {}; struct Glyph_Page{ u32 page_number; diff --git a/4ed_font_provider_freetype.cpp b/4ed_font_provider_freetype.cpp index 691e2f67..8f29bf42 100644 --- a/4ed_font_provider_freetype.cpp +++ b/4ed_font_provider_freetype.cpp @@ -603,7 +603,7 @@ Sys_Font_Get_Count_Sig(system_font_get_count){ internal Font_Slot_Page_And_Index system_font_get_active_location(Face_ID font_id){ - Font_Slot_Page_And_Index result = {0}; + Font_Slot_Page_And_Index result = {}; for (Font_Slot_Page *page = fontvars.slot_pages_sentinel.next; page != &fontvars.slot_pages_sentinel; @@ -640,8 +640,8 @@ Sys_Font_Face_Change_Settings_Sig(system_font_face_change_settings, font_id, new b32 made_change = false; - Font_Metrics temp_metrics = {0}; - Font_Page_Storage temp_pages = {0}; + Font_Metrics temp_metrics = {}; + Font_Page_Storage temp_pages = {}; if (font_load(&sysfunc, new_settings, &temp_metrics, &temp_pages)){ Font_Metrics *metrics_ptr = &page_and_index.page->metrics[page_and_index.index]; @@ -699,7 +699,7 @@ Sys_Font_Get_Name_By_ID_Sig(system_font_get_name_by_id, font_id, str_out, capaci internal Sys_Font_Get_Pointers_By_ID_Sig(system_font_get_pointers_by_id, font_id){ - Font_Pointers font = {0}; + Font_Pointers font = {}; if (font_id == 0){ return(font); } @@ -725,7 +725,7 @@ Sys_Font_Load_Page_Sig(system_font_load_page, settings, metrics, page, page_numb internal Font_Setup_List system_font_get_local_stubs(Partition *part){ - Font_Setup_List list = {0}; + Font_Setup_List list = {}; u32 dir_max = KB(32); u8 *directory = push_array(part, u8, dir_max); @@ -740,7 +740,7 @@ system_font_get_local_stubs(Partition *part){ partition_reduce(part, dir_max - dir_len - 1); partition_align(part, 8); - File_List file_list = {0}; + File_List file_list = {}; system_set_file_list(&file_list, (char*)directory, 0, 0, 0); for (u32 i = 0; i < file_list.count; ++i){ @@ -751,7 +751,7 @@ system_font_get_local_stubs(Partition *part){ for (;filename[len];++len); if (dir_len + len + 1 <= sizeof(list.first->stub.name)){ - Font_Setup *setup = push_struct(part, Font_Setup); + Font_Setup *setup = push_array(part, Font_Setup, 1); memset(setup, 0, sizeof(*setup)); partition_align(part, 8); @@ -846,7 +846,7 @@ system_font_init(Font_Functions *font_links, u32 pt_size, b32 use_hinting, Font_ // Force load one font. Font_Setup *first_setup = list.first; - Font_Settings first_settings = {0}; + Font_Settings first_settings = {}; memcpy(&first_settings.stub, &first_setup->stub, sizeof(first_setup->stub)); first_settings.parameters.pt_size = pt_size; first_settings.parameters.use_hinting = use_hinting; diff --git a/4ed_font_provider_freetype.h b/4ed_font_provider_freetype.h index ade6617b..d6b84e35 100644 --- a/4ed_font_provider_freetype.h +++ b/4ed_font_provider_freetype.h @@ -59,7 +59,7 @@ struct Font_Vars{ b32 use_hinting; }; -global Font_Vars fontvars = {0}; +global Font_Vars fontvars = {}; struct Font_Setup{ Font_Setup *next; @@ -100,14 +100,14 @@ internal Sys_Font_Path(name, parameters); #define Sys_Font_Path_Not_Used \ internal Sys_Font_Path(n,p){ \ - Font_Path path = {0}; LOG("there is no font path retrieval procedure available\n"); return(path);} + Font_Path path = {}; LOG("there is no font path retrieval procedure available\n"); return(path);} #define Sys_Font_Data(name, parameters) Font_Raw_Data system_font_data(char *name, Font_Parameters *parameters) internal Sys_Font_Data(name, parameters); #define Sys_Font_Data_Not_Used \ internal Sys_Font_Data(n,p){ \ - Font_Raw_Data data = {0}; LOG("there is no font data retrieval procedure available\n"); return(data);} + Font_Raw_Data data = {}; LOG("there is no font data retrieval procedure available\n"); return(data);} #endif diff --git a/4ed_layout.cpp b/4ed_layout.cpp index 7aba3de3..d581fb1f 100644 --- a/4ed_layout.cpp +++ b/4ed_layout.cpp @@ -24,7 +24,7 @@ panel_init(Panel *panel){ inline Panel_Divider panel_divider_zero(){ - Panel_Divider divider={0}; + Panel_Divider divider={}; return(divider); } diff --git a/4ed_math.h b/4ed_math.h index 0bac6ac7..fc289ee3 100644 --- a/4ed_math.h +++ b/4ed_math.h @@ -565,7 +565,7 @@ rgba_to_hsla(Vec4 rgba){ internal Vec4 hsla_to_rgba(Vec4 hsla){ if (hsla.h >= 1.f) hsla.h = 0.f; - Vec4 rgba = {0}; + Vec4 rgba = {}; f32 C = (1.f - ABS(2*hsla.z - 1.f))*hsla.y; f32 X = C*(1.f-ABS(MOD(hsla.x*6.f, 2)-1.f)); f32 m = hsla.z - C*.5f; @@ -591,7 +591,7 @@ hsla_to_rgba(Vec4 hsla){ internal i32_Rect i32R(int32_t l, int32_t t, int32_t r, int32_t b){ - i32_Rect rect = {0}; + i32_Rect rect = {}; rect.x0 = l; rect.y0 = t; rect.x1 = r; diff --git a/4ed_parse_context.cpp b/4ed_parse_context.cpp index cc944f4e..99f22a6c 100644 --- a/4ed_parse_context.cpp +++ b/4ed_parse_context.cpp @@ -111,7 +111,7 @@ parse_context_add_default(Parse_Context_Memory *parse_mem, Heap *heap){ internal Parse_Context parse_context_get(Parse_Context_Memory *parse_mem, Parse_Context_ID id, void *mem, umem memsize){ - Parse_Context result = {0}; + Parse_Context result = {}; Stored_Parse_Context_Slot *slot = 0; if (id == 0){ diff --git a/4ed_ptr_check.cpp b/4ed_ptr_check.cpp index 210ee87c..2c545269 100644 --- a/4ed_ptr_check.cpp +++ b/4ed_ptr_check.cpp @@ -11,7 +11,7 @@ internal Ptr_Table make_Ptr_table(void *mem, umem size){ - Ptr_Table table = {0}; + Ptr_Table table = {}; i32 max = (i32)(size/8); if (max > 0){ table.mem = mem; @@ -173,7 +173,7 @@ insert_Ptr_table(Heap *heap, Ptr_Table *table, void* key){ internal u32_Ptr_Table make_u32_Ptr_table(void *mem, umem size){ - u32_Ptr_Table table = {0}; + u32_Ptr_Table table = {}; i32 max = (i32)(size/16); if (max > 0){ table.mem = mem; @@ -234,7 +234,7 @@ insert_u32_Ptr_table(u32_Ptr_Table *table, u32*key, void**val){ internal u32_Ptr_Lookup_Result lookup_u32_Ptr_table(u32_Ptr_Table *table, u32*key){ - u32_Ptr_Lookup_Result result = {0}; + u32_Ptr_Lookup_Result result = {}; i32 max = table->max; if (max > 0){ u64 hash = 0; diff --git a/4ed_render_format.cpp b/4ed_render_format.cpp index e7284f11..4d3207f1 100644 --- a/4ed_render_format.cpp +++ b/4ed_render_format.cpp @@ -46,7 +46,7 @@ end_render_section(Render_Target *target, System_Functions *system){ internal void draw_rectangle(Render_Target *target, f32_Rect rect, u32 color){ - Render_Command_Rectangle cmd = {0}; + Render_Command_Rectangle cmd = {}; CmdHeader(RenCom_Rectangle); cmd.rect = rect; cmd.color = color; @@ -61,7 +61,7 @@ draw_rectangle(Render_Target *target, i32_Rect rect, u32 color){ internal void draw_rectangle_outline(Render_Target *target, f32_Rect rect, u32 color){ - Render_Command_Rectangle cmd = {0}; + Render_Command_Rectangle cmd = {}; CmdHeader(RenCom_Outline); cmd.rect = rect; cmd.color = color; @@ -130,8 +130,8 @@ draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_i u8 *str = (u8*)str_.str; u8 *str_end = str + str_.size; - Translation_State tran = {0}; - Translation_Emits emits = {0}; + Translation_State tran = {}; + Translation_Emits emits = {}; for (u32 i = 0; str < str_end; ++str, ++i){ translating_fully_process_byte(system, font, &tran, *str, i, str_.size, &emits); diff --git a/4ed_render_target.cpp b/4ed_render_target.cpp index d0bd0978..4260c9f3 100644 --- a/4ed_render_target.cpp +++ b/4ed_render_target.cpp @@ -45,7 +45,7 @@ render_internal_push_clip(Render_Target *t, i32_Rect clip_box){ // TODO(allen): If the previous command was also a push clip should // undo that one and just do this one. (OPTIMIZATION). - Render_Command_Change_Clip cmd = {0}; + Render_Command_Change_Clip cmd = {}; cmd.header.size = sizeof(cmd); cmd.header.type = RenCom_ChangeClip; cmd.box = clip_box; diff --git a/4ed_system.h b/4ed_system.h index 929d4c6e..768df2de 100644 --- a/4ed_system.h +++ b/4ed_system.h @@ -17,7 +17,7 @@ struct Plat_Handle{ u32 d[4]; }; -static Plat_Handle null_plat_handle = {0}; +static Plat_Handle null_plat_handle = {}; inline b32 handle_equal(Plat_Handle a, Plat_Handle b){ @@ -137,7 +137,7 @@ struct Thread_Memory{ u32 size; u32 id; }; -global Thread_Memory null_thread_memory = {0}; +global Thread_Memory null_thread_memory = {}; struct Thread_Exchange; struct System_Functions; diff --git a/4ed_translation.cpp b/4ed_translation.cpp index 4a2d102a..3a504e96 100644 --- a/4ed_translation.cpp +++ b/4ed_translation.cpp @@ -179,9 +179,9 @@ translating_generate_emits(Translation_State *tran, Translation_Emit_Rule emit_r internal void translating_fully_process_byte(System_Functions *system, Font_Pointers font, Translation_State *tran, u8 ch, u32 i, u32 size, Translation_Emits *emits_out){ - Translation_Byte_Description description = {0}; + Translation_Byte_Description description = {}; translating_consume_byte(tran, ch, i, size, &description); - Translation_Emit_Rule emit_rule = {0}; + Translation_Emit_Rule emit_rule = {}; translating_select_emit_rule_with_font(system, font, tran, description, &emit_rule); translating_generate_emits(tran, emit_rule, ch, i, emits_out); } diff --git a/4ed_translation.h b/4ed_translation.h index 28b806a5..353f0ba8 100644 --- a/4ed_translation.h +++ b/4ed_translation.h @@ -18,7 +18,7 @@ struct Translation_State{ u8 fill_i; u8 fill_expected; }; -global_const Translation_State null_buffer_translating_state = {0}; +global_const Translation_State null_buffer_translating_state = {}; enum{ TranLBH_None, diff --git a/4ed_view.cpp b/4ed_view.cpp index b57975ab..ba67c76f 100644 --- a/4ed_view.cpp +++ b/4ed_view.cpp @@ -101,7 +101,7 @@ view_get_cursor_xy(View *view){ inline Cursor_Limits view_cursor_limits(View *view){ - Cursor_Limits limits = {0}; + Cursor_Limits limits = {}; f32 line_height = (f32)view->transient.line_height; f32 visible_height = view_height(view); @@ -287,7 +287,7 @@ view_set_cursor_and_scroll(View *view, Full_Cursor cursor, b32 set_preferred_x, internal Relative_Scrolling view_get_relative_scrolling(View *view){ - Relative_Scrolling result = {0}; + Relative_Scrolling result = {}; if (view->transient.edit_pos != 0){ Vec2 cursor = view_get_cursor_xy(view); result.scroll_y = cursor.y - view->transient.edit_pos->scroll.scroll_y; @@ -563,7 +563,7 @@ get_visual_markers(Partition *arena, Dynamic_Workspace *workspace, case VisualType_CharacterHighlightRanges: case VisualType_LineHighlightRanges: { - i32 pos_pair[2] = {0}; + i32 pos_pair[2] = {}; i32 pair_index = 0; for (;marker < marker_one_past_last; marker += stride_size_from_last){ @@ -574,7 +574,7 @@ get_visual_markers(Partition *arena, Dynamic_Workspace *workspace, if (pair_index == 2){ pair_index = 0; - Range range_b = {0}; + Range range_b = {}; range_b.first = pos_pair[0]; range_b.one_past_last = pos_pair[1]; @@ -774,7 +774,7 @@ render_loaded_file_in_view__inner(Models *models, Render_Target *target, View *v Face_ID font_id = file->settings.font_id; // NOTE(allen): Get visual markers - Render_Marker_Array markers = {0}; + Render_Marker_Array markers = {}; markers.markers = push_array(part, Render_Marker, 0); { Lifetime_Object *lifetime_object = file->lifetime_object; @@ -806,19 +806,19 @@ render_loaded_file_in_view__inner(Models *models, Render_Target *target, View *v visual_markers_quick_sort(markers.markers, marker_segments[i].first, marker_segments[i].one_past_last); } - Render_Marker_Array character_markers = {0}; + Render_Marker_Array character_markers = {}; character_markers.markers = markers.markers + marker_segments[0].first; character_markers.count = marker_segments[0].one_past_last - marker_segments[0].first; - Render_Marker_Array line_markers = {0}; + Render_Marker_Array line_markers = {}; line_markers.markers = markers.markers + marker_segments[1].first; line_markers.count = marker_segments[1].one_past_last - marker_segments[1].first; - Render_Marker_Array range_markers = {0}; + Render_Marker_Array range_markers = {}; range_markers.markers = markers.markers + marker_segments[2].first; range_markers.count = marker_segments[2].one_past_last - marker_segments[2].first; - Render_Marker_Array line_range_markers = {0}; + Render_Marker_Array line_range_markers = {}; line_range_markers.markers = markers.markers + marker_segments[3].first; line_range_markers.count = marker_segments[3].one_past_last - marker_segments[3].first; @@ -982,7 +982,7 @@ render_loaded_file_in_view__inner(Models *models, Render_Target *target, View *v line_range_markers.markers[visual_line_range_markers_scan_index].pos <= ind; visual_line_range_markers_scan_index += 1){ Render_Marker *marker = &line_range_markers.markers[visual_line_range_markers_scan_index]; - Render_Range_Record range_record = {0}; + Render_Range_Record range_record = {}; range_record.color = marker->color; range_record.text_color = marker->text_color; range_record.one_past_last = marker->one_past_last; @@ -1059,7 +1059,7 @@ render_loaded_file_in_view__inner(Models *models, Render_Target *target, View *v range_markers.markers[visual_range_markers_scan_index].pos <= ind; visual_range_markers_scan_index += 1){ Render_Marker *marker = &range_markers.markers[visual_range_markers_scan_index]; - Render_Range_Record range_record = {0}; + Render_Range_Record range_record = {}; range_record.color = marker->color; range_record.text_color = marker->text_color; range_record.one_past_last = marker->one_past_last; @@ -1194,7 +1194,7 @@ render_loaded_file_in_view(System_Functions *system, View *view, Models *models, // to the gui system. scroll_y += view->transient.widget_height; - Full_Cursor render_cursor = {0}; + Full_Cursor render_cursor = {}; if (!file->settings.unwrapped_lines){ render_cursor = file_compute_cursor(system, file, seek_wrapped_xy(0, scroll_y, 0), true); } @@ -1226,8 +1226,8 @@ render_loaded_file_in_view(System_Functions *system, View *view, Models *models, params.virtual_white = file->settings.virtual_white; params.wrap_slashes = file->settings.wrap_indicator; - Buffer_Render_State state = {0}; - Buffer_Layout_Stop stop = {0}; + Buffer_Render_State state = {}; + Buffer_Layout_Stop stop = {}; f32 line_shift = 0.f; b32 do_wrap = false; @@ -1274,7 +1274,7 @@ render_loaded_file_in_view(System_Functions *system, View *view, Models *models, } push_array(part, Buffer_Render_Item, item_count); - Range on_screen_range = {0}; + Range on_screen_range = {}; on_screen_range.first = render_cursor.pos; on_screen_range.one_past_last = end_pos; diff --git a/4ed_view.h b/4ed_view.h index ea81617d..7075117a 100644 --- a/4ed_view.h +++ b/4ed_view.h @@ -27,7 +27,7 @@ struct File_Viewing_Data{ b32 show_whitespace; b32 file_locked; }; -global File_Viewing_Data null_file_viewing_data = {0}; +global File_Viewing_Data null_file_viewing_data = {}; struct View_Transient{ struct View *next; diff --git a/4ed_view_ui.cpp b/4ed_view_ui.cpp index 076b45e6..26c013cb 100644 --- a/4ed_view_ui.cpp +++ b/4ed_view_ui.cpp @@ -50,13 +50,13 @@ internal Input_Process_Result do_step_file_view(System_Functions *system, View *view, Models *models, i32_Rect rect, b32 is_active, f32 dt, GUI_Scroll_Vars scroll, i32 max_y){ scroll.target_y = clamp(0, scroll.target_y, max_y); - Input_Process_Result result = {0}; + Input_Process_Result result = {}; result.scroll = scroll; i32 line_height = view->transient.line_height; if (!view->transient.hide_file_bar){ - i32_Rect top_bar_rect = {0}; + i32_Rect top_bar_rect = {}; top_bar_rect.x0 = rect.x0; top_bar_rect.y0 = rect.y0; top_bar_rect.x1 = rect.x1; @@ -240,7 +240,7 @@ do_render_file_view(System_Functions *system, View *view, Models *models, GUI_Sc Font_Pointers font = system->font.get_pointers_by_id(font_id); if (!view->transient.hide_file_bar){ - i32_Rect top_bar_rect = {0}; + i32_Rect top_bar_rect = {}; top_bar_rect.x0 = rect.x0; top_bar_rect.y0 = rect.y0; top_bar_rect.x1 = rect.x1; @@ -253,7 +253,7 @@ do_render_file_view(System_Functions *system, View *view, Models *models, GUI_Sc for (Query_Slot *slot = view->transient.query_set.used_slot; slot != 0; slot = slot->next, ++bar_count){ - i32_Rect query_bar_rect = {0}; + i32_Rect query_bar_rect = {}; query_bar_rect.x0 = rect.x0; query_bar_rect.y0 = rect.y0; query_bar_rect.x1 = rect.x1; diff --git a/4ed_working_set.cpp b/4ed_working_set.cpp index 3b3cdde3..7d385727 100644 --- a/4ed_working_set.cpp +++ b/4ed_working_set.cpp @@ -53,7 +53,7 @@ working_set_extend_memory(Working_Set *working_set, Editing_File *new_space, i16 working_set->file_max += number_of_files; - Buffer_Slot_ID id = {0}; + Buffer_Slot_ID id = {}; id.part[1] = high_part; Editing_File *file_ptr = new_space; @@ -191,7 +191,7 @@ working_set_init(Working_Set *working_set, Partition *partition, Heap *heap){ inline void working_set__grow_if_needed(Table *table, Heap *heap, void *arg, Hash_Function *hash_func, Compare_Function *comp_func){ if (table_at_capacity(table)){ - Table btable = {0}; + Table btable = {}; i32 new_max = table->max * 2; i32 mem_size = table_required_mem_size(new_max, table->item_size); void *mem = heap_allocate(heap, mem_size); @@ -456,7 +456,7 @@ buffer_bind_name_low_level(Heap *heap, Working_Set *working_set, Editing_File *f Assert(file->base_name.name.size == 0); Assert(file->unique_name.name.size == 0); - Editing_File_Name new_name = {0}; + Editing_File_Name new_name = {}; new_name.name = make_fixed_width_string(new_name.name_); buffer_resolve_name_low_level(working_set, &new_name, name); @@ -560,7 +560,7 @@ buffer_bind_name(Models *models, Heap *heap, Partition *scratch, internal Editing_File* open_file(System_Functions *system, Models *models, String filename){ Editing_File *file = 0; - Editing_File_Name canon_name = {0}; + Editing_File_Name canon_name = {}; if (terminate_with_null(&filename) && get_canon_name(system, filename, &canon_name)){ diff --git a/meta/4ed_file_moving.h b/meta/4ed_file_moving.h index ba00bde0..74843e04 100644 --- a/meta/4ed_file_moving.h +++ b/meta/4ed_file_moving.h @@ -321,7 +321,7 @@ fm_init_system(){ internal Temp_Dir fm_pushdir(char *dir){ - Temp_Dir temp = {0}; + Temp_Dir temp = {}; GetCurrentDirectoryA(sizeof(temp.dir), temp.dir); SetCurrentDirectoryA(dir); return(temp); diff --git a/meta/4ed_fsm_table_generator.cpp b/meta/4ed_fsm_table_generator.cpp index 528b9a63..c939a281 100644 --- a/meta/4ed_fsm_table_generator.cpp +++ b/meta/4ed_fsm_table_generator.cpp @@ -828,11 +828,11 @@ do_table_reduction(FSM_Tables *table, uint16_t state_count){ static FSM_Tables generate_whitespace_skip_table(){ uint8_t state_count = LSPP_count; - FSM_Tables table = {0}; + FSM_Tables table = {}; allocate_full_tables(&table, state_count); int32_t i = 0; - Whitespace_FSM wfsm = {0}; + Whitespace_FSM wfsm = {}; Whitespace_FSM new_wfsm; for (uint16_t c = 0; c < 256; ++c){ for (uint8_t state = 0; state < state_count; ++state){ @@ -850,12 +850,12 @@ generate_whitespace_skip_table(){ static FSM_Tables generate_table(u8_4tech state_count, FSM_Function *fsm_call){ - FSM_Tables table = {0}; + FSM_Tables table = {}; allocate_full_tables(&table, state_count); i32_4tech i = 0; - Cpp_Lex_FSM fsm = {0}; - Cpp_Lex_FSM new_fsm = {0}; + Cpp_Lex_FSM fsm = {}; + Cpp_Lex_FSM new_fsm = {}; for (uint16_t c = 0; c < 256; ++c){ for (u8_4tech state = 0; state < state_count; ++state){ fsm.state = state; @@ -887,12 +887,12 @@ generate_table(u8_4tech state_count, FSM_Function *fsm_call){ static FSM_Tables generate_fsm_table(uint8_t pp_state, bool32 ignore_string_delims){ uint8_t state_count = LS_count; - FSM_Tables table = {0}; + FSM_Tables table = {}; allocate_full_tables(&table, state_count); int32_t i = 0; - Cpp_Lex_FSM fsm = {0}; - Cpp_Lex_FSM new_fsm = {0}; + Cpp_Lex_FSM fsm = {}; + Cpp_Lex_FSM new_fsm = {}; for (uint16_t c = 0; c < 256; ++c){ for (uint8_t state = 0; state < state_count; ++state){ fsm.state = state; diff --git a/meta/4ed_meta_parser.cpp b/meta/4ed_meta_parser.cpp index ad213d41..c70fcbd7 100644 --- a/meta/4ed_meta_parser.cpp +++ b/meta/4ed_meta_parser.cpp @@ -101,7 +101,7 @@ struct Used_Links{ i32 count, max; }; -internal Item_Node null_item_node = {0}; +internal Item_Node null_item_node = {}; internal String str_start_end(char *data, i32 start, i32 end){ @@ -192,7 +192,7 @@ str_alloc(i32 cap){ internal Item_Set allocate_item_set(i32 count){ - Item_Set item_set = {0}; + Item_Set item_set = {}; if (count > 0){ item_set.items = fm_push_array(Item_Node, count); item_set.count = count; @@ -203,7 +203,7 @@ allocate_item_set(i32 count){ internal String file_dump(char *filename){ - String result = {0}; + String result = {}; FILE *file = fopen(filename, "rb"); if (file){ @@ -225,7 +225,7 @@ file_dump(char *filename){ internal Parse meta_lex(char *filename){ - Parse result = {0}; + Parse result = {}; result.code = file_dump(filename); if (result.code.str != 0){ result.tokens = cpp_make_token_array(1024); @@ -236,7 +236,7 @@ meta_lex(char *filename){ internal String get_first_line(String source){ - String line = {0}; + String line = {}; i32 pos = find_s_char(source, 0, '\n'); line = substr(source, 0, pos); return(line); @@ -244,7 +244,7 @@ get_first_line(String source){ internal String get_next_line(String source, String line){ - String next = {0}; + String next = {}; i32 pos = (i32)(line.str - source.str) + line.size; i32 start = 0; @@ -335,7 +335,7 @@ get_doc_string_from_prev(Parse_Context *context, String *doc_string){ internal String doc_parse_note(String source, i32 *pos){ - String result = {0}; + String result = {}; i32 p = *pos; i32 start = p; @@ -355,7 +355,7 @@ doc_parse_note(String source, i32 *pos){ internal String doc_parse_note_string(String source, i32 *pos){ - String result = {0}; + String result = {}; Assert(source.str[*pos] == '('); @@ -389,7 +389,7 @@ doc_parse_note_string(String source, i32 *pos){ internal String doc_parse_parameter(String source, i32 *pos){ - String result = {0}; + String result = {}; i32 p = *pos; i32 start = p; @@ -411,7 +411,7 @@ doc_parse_parameter(String source, i32 *pos){ internal String doc_parse_last_parameter(String source, i32 *pos){ - String result = {0}; + String result = {}; i32 p = *pos; i32 start = p; @@ -528,7 +528,7 @@ struct_parse_member(Parse_Context *context, Item_Node *member){ Cpp_Token *token = get_token(context); - String doc_string = {0}; + String doc_string = {}; get_doc_string_from_prev(context, &doc_string); Cpp_Token *start_token = token; @@ -540,7 +540,7 @@ struct_parse_member(Parse_Context *context, Item_Node *member){ } if (token){ - String name = {0}; + String name = {}; Cpp_Token *token_j = 0; i32 nest_level = 0; @@ -639,7 +639,7 @@ struct_parse(i32 is_struct, Parse_Context *context, Item_Node *top_member){ Cpp_Token *start_token = get_token(context); Cpp_Token *token = 0; - String doc_string = {0}; + String doc_string = {}; get_doc_string_from_prev(context, &doc_string); for (; (token = get_token(context)) != 0; get_next_token(context)){ @@ -657,12 +657,12 @@ struct_parse(i32 is_struct, Parse_Context *context, Item_Node *top_member){ } } - String name = {0}; + String name = {}; if (token_j != start_token){ name = skip_chop_whitespace(get_lexeme(*token_j, context->data)); } - String type = {0}; + String type = {}; if (is_struct){ type = make_lit_string("struct"); } @@ -718,7 +718,7 @@ typedef_parse(Parse_Context *context, Item_Node *item){ i32 result = false; Cpp_Token *token = get_token(context); - String doc_string = {0}; + String doc_string = {}; get_doc_string_from_prev(context, &doc_string); Cpp_Token *start_token = token; @@ -758,7 +758,7 @@ internal i32 enum_parse(Parse_Context *context, Item_Node *item){ i32 result = false; - String parent_doc_string = {0}; + String parent_doc_string = {}; get_doc_string_from_prev(context, &parent_doc_string); Cpp_Token *parent_start_token = get_token(context); @@ -771,7 +771,7 @@ enum_parse(Parse_Context *context, Item_Node *item){ } if (token){ - String parent_name = {0}; + String parent_name = {}; Cpp_Token *token_j = 0; for (; (token_j = get_token(context)) != 0; get_prev_token(context)){ @@ -798,9 +798,9 @@ enum_parse(Parse_Context *context, Item_Node *item){ break; } else if (token->type == CPP_TOKEN_IDENTIFIER){ - String doc_string = {0}; - String name = {0}; - String value = {0}; + String doc_string = {}; + String name = {}; + String value = {}; get_doc_string_from_prev(context, &doc_string); name = get_lexeme(*token, context->data); @@ -866,7 +866,7 @@ enum_parse(Parse_Context *context, Item_Node *item){ internal Argument_Breakdown allocate_argument_breakdown(i32 count){ - Argument_Breakdown breakdown = {0}; + Argument_Breakdown breakdown = {}; if (count > 0){ breakdown.count = count; breakdown.args = fm_push_array(Argument, count); @@ -970,7 +970,7 @@ function_get_doc(Parse_Context *context, char *data, String *doc_string){ i32 result = false; Cpp_Token *token = get_token(context); - String lexeme = {0}; + String lexeme = {}; if (function_parse_goto_name(context)){ if (token->type == CPP_TOKEN_IDENTIFIER){ @@ -1068,7 +1068,7 @@ internal i32 function_parse(Parse_Context *context, Item_Node *item, String cpp_name){ i32 result = false; - String doc_string = {0}; + String doc_string = {}; Cpp_Token *token = get_token(context); item->marker = get_lexeme(*token, context->data); @@ -1125,7 +1125,7 @@ macro_parse(Parse_Context *context, Item_Node *item){ Cpp_Token *doc_token = 0; Cpp_Token *args_start_token = 0; - String doc_string = {0}; + String doc_string = {}; if (macro_parse_check(context)){ token = get_token(context); @@ -1189,7 +1189,7 @@ macro_parse(Parse_Context *context, Item_Node *item){ internal Meta_Unit compile_meta_unit(char *code_directory, char **files, Meta_Keywords *meta_keywords, i32 key_count){ - Meta_Unit unit = {0}; + Meta_Unit unit = {}; i32 file_count = 0; for (char **file_ptr = files; *file_ptr; ++file_ptr, ++file_count); @@ -1255,7 +1255,7 @@ compile_meta_unit(char *code_directory, char **files, Meta_Keywords *meta_keywor Parse_Context context_ = setup_parse_context(unit.parse[J]); Parse_Context *context = &context_; - String cpp_name = {0}; + String cpp_name = {}; i32 has_cpp_name = 0; for (; (token = get_token(context)) != 0; get_next_token(context)){ diff --git a/meta/4ed_metagen.cpp b/meta/4ed_metagen.cpp index 0ba673c6..04644e5d 100644 --- a/meta/4ed_metagen.cpp +++ b/meta/4ed_metagen.cpp @@ -54,7 +54,8 @@ M(mouse_right_release) \ M(mouse_wheel) \ M(mouse_move) \ M(animate) \ -M(view_activate) \ +M(click_activate_view) \ +M(click_deactivate_view) \ M(f1) \ M(f2) \ M(f3) \ @@ -326,7 +327,7 @@ struct App_API{ internal App_API allocate_app_api(i32 count){ - App_API app_api = {0}; + App_API app_api = {}; app_api.names = fm_push_array(App_API_Name, count); memset(app_api.names, 0, sizeof(App_API_Name)*count); return(app_api); @@ -678,7 +679,7 @@ generate_remapping_code_and_data(){ Temp temp = fm_begin_temp(); // Generate mapping array data structure - Mapping_Array mappings_ = {0}; + Mapping_Array mappings_ = {}; Mapping_Array *mappings = &mappings_; begin_mapping(mappings, default, "The default 4coder bindings - typically good for Windows and Linux"); @@ -691,7 +692,7 @@ generate_remapping_code_and_data(){ bind(mappings, 'n', MDFR_CTRL, interactive_new); bind(mappings, 'o', MDFR_CTRL, interactive_open_or_new); - bind(mappings, 'o', MDFR_ALT, open_in_other); + bind(mappings, 'o', MDFR_ALT , open_in_other); bind(mappings, 'k', MDFR_CTRL, interactive_kill_buffer); bind(mappings, 'i', MDFR_CTRL, interactive_switch_buffer); bind(mappings, 'h', MDFR_CTRL, project_go_to_root_directory); @@ -744,7 +745,7 @@ generate_remapping_code_and_data(){ bind_vanilla_keys(mappings, MDFR_NONE, write_character); bind(mappings, key_mouse_left, MDFR_NONE, click_set_cursor_and_mark); - bind(mappings, key_view_activate, MDFR_NONE, click_set_cursor_and_mark); + bind(mappings, key_click_activate_view, MDFR_NONE, click_set_cursor_and_mark); bind(mappings, key_mouse_left_release, MDFR_NONE, click_set_cursor); bind(mappings, key_mouse_move, MDFR_NONE, click_set_cursor_if_lbutton); @@ -894,7 +895,6 @@ generate_remapping_code_and_data(){ bind(mappings, key_page_down, MDFR_NONE, lister__move_down); bind(mappings, key_mouse_wheel , MDFR_NONE, lister__wheel_scroll); bind(mappings, key_mouse_left , MDFR_NONE, lister__mouse_press); - bind(mappings, key_view_activate , MDFR_NONE, lister__mouse_press); bind(mappings, key_mouse_left_release, MDFR_NONE, lister__mouse_release); bind(mappings, key_mouse_move, MDFR_NONE, lister__repaint); bind(mappings, key_animate , MDFR_NONE, lister__repaint); @@ -967,7 +967,7 @@ generate_remapping_code_and_data(){ bind_vanilla_keys(mappings, MDFR_ALT, write_character); bind(mappings, key_mouse_left, MDFR_NONE, click_set_cursor_and_mark); - bind(mappings, key_view_activate, MDFR_NONE, click_set_cursor_and_mark); + bind(mappings, key_click_activate_view, MDFR_NONE, click_set_cursor_and_mark); bind(mappings, key_mouse_left_release, MDFR_NONE, click_set_cursor); bind(mappings, key_mouse_move, MDFR_NONE, click_set_cursor_if_lbutton); @@ -1115,7 +1115,6 @@ generate_remapping_code_and_data(){ bind(mappings, key_page_down, MDFR_NONE, lister__move_down); bind(mappings, key_mouse_wheel , MDFR_NONE, lister__wheel_scroll); bind(mappings, key_mouse_left , MDFR_NONE, lister__mouse_press); - bind(mappings, key_view_activate , MDFR_NONE, click_set_cursor_and_mark); bind(mappings, key_mouse_left_release, MDFR_NONE, lister__mouse_release); bind(mappings, key_mouse_move, MDFR_NONE, lister__repaint); bind(mappings, key_animate , MDFR_NONE, lister__repaint); diff --git a/opengl/4ed_opengl_render.cpp b/opengl/4ed_opengl_render.cpp index c09eaed4..ad93fdb2 100644 --- a/opengl/4ed_opengl_render.cpp +++ b/opengl/4ed_opengl_render.cpp @@ -191,7 +191,7 @@ interpret_render_buffer(Render_Target *t, Partition *growable_scratch){ f32 x = glyph->pos.x; f32 y = glyph->pos.y; - f32_Rect xy = {0}; + f32_Rect xy = {}; xy.x0 = x + bounds.xoff; xy.y0 = y + bounds.yoff; xy.x1 = x + bounds.xoff2; @@ -201,7 +201,7 @@ interpret_render_buffer(Render_Target *t, Partition *growable_scratch){ f32 unit_u = 1.f/tex_width; f32 unit_v = 1.f/tex_height; - f32_Rect uv = {0}; + f32_Rect uv = {}; uv.x0 = bounds.x0*unit_u; uv.y0 = bounds.y0*unit_v; uv.x1 = bounds.x1*unit_u; diff --git a/platform_all/4ed_shared_init_logic.cpp b/platform_all/4ed_shared_init_logic.cpp index c8d5112b..25016cfc 100644 --- a/platform_all/4ed_shared_init_logic.cpp +++ b/platform_all/4ed_shared_init_logic.cpp @@ -79,7 +79,7 @@ load_custom_code(){ LoadLibrary_BinaryDirectory, }; - char *custom_files[3] = {0}; + char *custom_files[3] = {}; if (plat_settings.custom_dll != 0){ custom_files[0] = plat_settings.custom_dll; if (!plat_settings.custom_dll_is_strict){ diff --git a/platform_all/4ed_system_shared.cpp b/platform_all/4ed_system_shared.cpp index 29bbe462..41b67d1d 100644 --- a/platform_all/4ed_system_shared.cpp +++ b/platform_all/4ed_system_shared.cpp @@ -128,9 +128,9 @@ Sys_Get_File_Change_Sig(system_get_file_change){ internal File_Data sysshared_load_file(char *filename){ - File_Data result = {0}; + File_Data result = {}; - Plat_Handle handle = {0}; + Plat_Handle handle = {}; if (system_load_handle(filename, &handle)){ u32 size = system_load_size(handle); @@ -193,10 +193,10 @@ sysshared_partition_grow(Partition *part, i32 new_size){ internal void* sysshared_push_block(Partition *part, i32 size){ - void *result = push_block(part, size); + void *result = push_array(part, i8, size); if (result == 0){ sysshared_partition_grow(part, size + part->max); - result = push_block(part, size); + result = push_array(part, i8, size); } return(result); } diff --git a/platform_all/4ed_system_shared.h b/platform_all/4ed_system_shared.h index b1c40d72..3bcdc802 100644 --- a/platform_all/4ed_system_shared.h +++ b/platform_all/4ed_system_shared.h @@ -22,7 +22,7 @@ struct File_Data{ u32 size; b32 got_file; }; -global File_Data null_file_data = {0}; +global File_Data null_file_data = {}; #define Sys_File_Can_Be_Made_Sig(name) b32 name(u8 *filename) internal Sys_File_Can_Be_Made_Sig(system_file_can_be_made); diff --git a/platform_all/4ed_work_queues.cpp b/platform_all/4ed_work_queues.cpp index 215830d3..117dc3a7 100644 --- a/platform_all/4ed_work_queues.cpp +++ b/platform_all/4ed_work_queues.cpp @@ -258,7 +258,7 @@ Sys_Post_Job_Sig(system_post_job){ queue->max = new_max; } - Full_Job_Data full_job = {0}; + Full_Job_Data full_job = {}; full_job.job = job; full_job.running_thread = THREAD_NOT_ASSIGNED; full_job.id = result; diff --git a/platform_linux/linux_4ed.cpp b/platform_linux/linux_4ed.cpp index 0c0a03d5..7c2e2621 100644 --- a/platform_linux/linux_4ed.cpp +++ b/platform_linux/linux_4ed.cpp @@ -466,7 +466,7 @@ Sys_Font_Path(name, parameters){ fc_config = FcInitLoadConfigAndFonts(); } - Font_Path path = {0}; + Font_Path path = {}; FcPattern *pattern_regular = FcPatternBuild( 0, @@ -833,7 +833,7 @@ struct glx_config_result{ internal glx_config_result ChooseGLXConfig(Display *XDisplay, int XScreenIndex) { - glx_config_result Result = {0}; + glx_config_result Result = {}; int DesiredAttributes[] = { GLX_X_RENDERABLE , True, @@ -881,7 +881,7 @@ struct Init_Input_Result{ XIMStyle best_style; XIC xic; }; -static Init_Input_Result null_init_input_result = {0}; +static Init_Input_Result null_init_input_result = {}; internal Init_Input_Result LinuxInputInit(Display *dpy, Window XWindow){ @@ -1385,7 +1385,7 @@ LinuxHandleX11Events(void) u32 key_no_caps = key; if (mods[MDFR_CAPS_INDEX] && status == XLookupBoth && event.xkey.keycode){ - u8 buff_no_caps[32] = {0}; + u8 buff_no_caps[32] = {}; event.xkey.state &= ~(LockMask); Xutf8LookupString(linuxvars.input_context, &event.xkey, (char*)buff_no_caps, sizeof(buff_no_caps) - 1, NULL, &status); @@ -2087,7 +2087,7 @@ main(int argc, char **argv){ // NOTE(allen): Application Core Update target.buffer.pos = 0; - Application_Step_Result result = {0}; + Application_Step_Result result = {}; if (app.step != 0){ result = app.step(&sysfunc, &target, &memory_vars, &frame_input); } diff --git a/platform_mac/mac_4ed.cpp b/platform_mac/mac_4ed.cpp index 3ad068ce..d3db1703 100644 --- a/platform_mac/mac_4ed.cpp +++ b/platform_mac/mac_4ed.cpp @@ -358,7 +358,7 @@ Sys_Font_Path(name, parameters){ OSX_Font_Match match = osx_get_font_match(name, pt_size, italic, bold); - Font_Path path = {0}; + Font_Path path = {}; Partition *part = &shared_vars.font_scratch; path.temp = begin_temp_memory(part); @@ -513,7 +513,7 @@ osx_character_input(u32 code, OSX_Keyboard_Modifiers modifier_flags){ case 0xF713: c = key_f16; break; } - b8 mods[MDFR_INDEX_COUNT] = {0}; + b8 mods[MDFR_INDEX_COUNT] = {}; if (modifier_flags.shift) mods[MDFR_SHIFT_INDEX] = true; if (modifier_flags.control) mods[MDFR_CONTROL_INDEX] = true; @@ -761,7 +761,7 @@ osx_init(){ - String clipboard_string = {0}; + String clipboard_string = {}; if (osx_objc.has_clipboard_item){ clipboard_string = make_string(osx_objc.clipboard_data, osx_objc.clipboard_size); } diff --git a/platform_mac/mac_4ed.m b/platform_mac/mac_4ed.m index 7c50306c..7a5d9e73 100644 --- a/platform_mac/mac_4ed.m +++ b/platform_mac/mac_4ed.m @@ -96,7 +96,7 @@ static DISPLINK_SIG(osx_display_link); is_dead_key = true; } - OSX_Keyboard_Modifiers mods = {0}; + OSX_Keyboard_Modifiers mods = {}; NSEventModifierFlags flags = [NSEvent modifierFlags]; mods.shift = ((flags & NSEventModifierFlagShift) != 0); mods.command = ((flags & NSEventModifierFlagCommand) != 0); @@ -334,7 +334,7 @@ typedef struct{ volatile i64 lock; } File_Change_Queue; -static File_Change_Queue file_queue = {0}; +static File_Change_Queue file_queue = {}; File_Change_Node* file_change_node(char *name){ @@ -376,7 +376,7 @@ typedef struct{ File_Watching_Handle schedule_file_watching(char *f){ - File_Watching_Handle handle = {0}; + File_Watching_Handle handle = {}; CFStringRef arg = CFStringCreateWithCString(0, f, kCFStringEncodingUTF8); @@ -416,7 +416,7 @@ typedef struct File_Change_Table{ i32 size; } File_Change_Table; -static File_Change_Table file_change_table = {0}; +static File_Change_Table file_change_table = {}; void* osx_file_name_prefixed_length(char *name){ @@ -774,7 +774,7 @@ osx_get_font_match(char *name, i32 pt_size, b32 italic, b32 bold){ used_base_file = true; } - OSX_Font_Match match = {0}; + OSX_Font_Match match = {}; if (font != nil){ NSString *path = get_font_path(font); char *path_c = 0; @@ -798,7 +798,7 @@ osx_list_loadable_fonts(void){ NSArray *fonts = [font_manager availableFontFamilies]; - OSX_Loadable_Fonts result = {0}; + OSX_Loadable_Fonts result = {}; NSUInteger count_u = [fonts count]; int count = (int)count_u; diff --git a/platform_unix/unix_4ed_functions.cpp b/platform_unix/unix_4ed_functions.cpp index 3e975376..947f18f9 100644 --- a/platform_unix/unix_4ed_functions.cpp +++ b/platform_unix/unix_4ed_functions.cpp @@ -329,7 +329,7 @@ Sys_Load_Size_Sig(system_load_size){ u32 result = 0; i32 fd = *(i32*)&handle; - struct stat st = {0}; + struct stat st = {}; if (fstat(fd, &st) == -1){ LOGF("unable to stat a file\n"); diff --git a/platform_win32/win32_4ed.cpp b/platform_win32/win32_4ed.cpp index 27660a8a..f7723f29 100644 --- a/platform_win32/win32_4ed.cpp +++ b/platform_win32/win32_4ed.cpp @@ -84,7 +84,7 @@ struct Control_Keys{ b8 l_alt; b8 r_alt; }; -global Control_Keys null_control_keys = {0}; +global Control_Keys null_control_keys = {}; struct Win32_Input_Chunk_Transient{ Key_Input_Data key_data; @@ -94,7 +94,7 @@ struct Win32_Input_Chunk_Transient{ i8 mouse_wheel; b8 trying_to_kill; }; -global Win32_Input_Chunk_Transient null_input_chunk_transient = {0}; +global Win32_Input_Chunk_Transient null_input_chunk_transient = {}; struct Win32_Input_Chunk_Persistent{ i32 mouse_x, mouse_y; @@ -207,7 +207,7 @@ handle_type(Plat_Handle h){ internal Plat_Handle handle_type(HANDLE h){ - Plat_Handle result = {0}; + Plat_Handle result = {}; memcpy(&result, &h, sizeof(h)); return(result); } @@ -563,7 +563,7 @@ Sys_Font_Path_Not_Used; internal Sys_Font_Data(name, parameters){ - Font_Raw_Data data = {0}; + Font_Raw_Data data = {}; int weight = FW_REGULAR; if (parameters->bold){ @@ -678,11 +678,11 @@ internal void win32_get_loadable_fonts(Partition *part, Font_Setup_List *list){ HDC hdc= GetDC(0); - LOGFONT log_font = {0}; + LOGFONT log_font = {}; log_font.lfCharSet = ANSI_CHARSET; log_font.lfFaceName[0] = 0; - Win32_Font_Enum p = {0}; + Win32_Font_Enum p = {}; p.part = part; p.list = list; @@ -762,7 +762,7 @@ win32_init_gl(HDC hdc){ #define GLInitFail(s) system_error_box(FNLN "\nOpenGL init fail - " s ) // Init First Context - WNDCLASSA wglclass = {0}; + WNDCLASSA wglclass = {}; wglclass.lpfnWndProc = DefWindowProcA; wglclass.hInstance = GetModuleHandle(0); wglclass.lpszClassName = "4ed-wgl-loader"; @@ -777,7 +777,7 @@ win32_init_gl(HDC hdc){ HDC hwgldc = GetDC(hwglwnd); - PIXELFORMATDESCRIPTOR format = {0}; + PIXELFORMATDESCRIPTOR format = {}; format.nSize = sizeof(format); format.nVersion = 1; //format.dwFlags = PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER; @@ -1242,7 +1242,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS // Window and GL Initialization // - WNDCLASS window_class = {0}; + WNDCLASS window_class = {}; window_class.style = CS_HREDRAW|CS_VREDRAW; window_class.lpfnWndProc = (WNDPROC)(win32_proc); window_class.hInstance = hInstance; @@ -1253,7 +1253,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS exit(1); } - RECT window_rect = {0}; + RECT window_rect = {}; if (plat_settings.set_window_size){ window_rect.right = plat_settings.window_w; window_rect.bottom = plat_settings.window_h; @@ -1530,7 +1530,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS input_chunk.pers.control_keys[MDFR_CAPS_INDEX] = GetKeyState(VK_CAPITAL) & 0x1; - Application_Step_Input input = {0}; + Application_Step_Input input = {}; input.first_step = win32vars.first; input.dt = frame_useconds/1000000.f; @@ -1588,7 +1588,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS // NOTE(allen): Application Core Update target.buffer.pos = 0; - Application_Step_Result result = {0}; + Application_Step_Result result = {}; if (app.step != 0){ result = app.step(&sysfunc, &target, &memory_vars, &input); } diff --git a/platform_win32/win32_4ed_file_track.cpp b/platform_win32/win32_4ed_file_track.cpp index 5d00b978..a2abb191 100644 --- a/platform_win32/win32_4ed_file_track.cpp +++ b/platform_win32/win32_4ed_file_track.cpp @@ -20,7 +20,7 @@ struct Win32_Directory_Listener{ HANDLE dir; i32 user_count; }; -global_const OVERLAPPED null_overlapped = {0}; +global_const OVERLAPPED null_overlapped = {}; struct Win32_Directory_Listener_Node{ DLL_Node node; @@ -135,7 +135,7 @@ add_listener(File_Track_System *system, Partition *scratch, u8 *filename){ HANDLE dir = CreateFile_utf8(dir_name, FILE_LIST_DIRECTORY, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, 0); if (dir != INVALID_HANDLE_VALUE){ - BY_HANDLE_FILE_INFORMATION dir_info = {0}; + BY_HANDLE_FILE_INFORMATION dir_info = {}; DWORD getinfo_result = GetFileInformationByHandle(dir, &dir_info); if (getinfo_result){ @@ -217,7 +217,7 @@ remove_listener(File_Track_System *system, Partition *scratch, u8 *filename){ HANDLE dir = CreateFile_utf8(dir_name, FILE_LIST_DIRECTORY, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, 0); if (dir != INVALID_HANDLE_VALUE){ - BY_HANDLE_FILE_INFORMATION dir_info = {0}; + BY_HANDLE_FILE_INFORMATION dir_info = {}; DWORD getinfo_result = GetFileInformationByHandle(dir, &dir_info); if (getinfo_result){ @@ -297,7 +297,7 @@ get_change_event(File_Track_System *system, Partition *scratch, u8 *buffer, i32 local_persist i32 has_buffered_event = 0; local_persist DWORD offset = 0; - local_persist Win32_Directory_Listener listener = {0}; + local_persist Win32_Directory_Listener listener = {}; EnterCriticalSection(&vars->table_lock); diff --git a/platform_win32/win32_utf8.cpp b/platform_win32/win32_utf8.cpp index f4a29b3b..44a67aed 100644 --- a/platform_win32/win32_utf8.cpp +++ b/platform_win32/win32_utf8.cpp @@ -14,7 +14,7 @@ internal Win32_UTF16 input_8_to_16(Partition *scratch, u8 *in){ - Win32_UTF16 r = {0}; + Win32_UTF16 r = {}; u32 utf8_len = 0; for (;in[utf8_len];++utf8_len); diff --git a/site/4ed_abstract_document.cpp b/site/4ed_abstract_document.cpp index 484c8149..d28af9ad 100644 --- a/site/4ed_abstract_document.cpp +++ b/site/4ed_abstract_document.cpp @@ -35,7 +35,7 @@ struct Enriched_Text{ internal Enriched_Text load_enriched_text(char *directory, char *filename){ - Enriched_Text result = {0}; + Enriched_Text result = {}; char *fname = fm_str(directory, "/", filename); result.fname = str_alloc(str_size(fname) + 1); fm_align(); @@ -68,7 +68,7 @@ get_mangle_rule(String mangle){ internal String apply_mangle_rule(String name, u32 mangle_rule){ - String result = {0}; + String result = {}; switch (mangle_rule){ case MangleRule_MacroSig: { @@ -154,7 +154,7 @@ struct Document_Item{ } include; }; }; -global Document_Item null_document_item = {0}; +global Document_Item null_document_item = {}; //////////////////////////////// @@ -235,7 +235,7 @@ struct Abstract_Item{ // Meta parse members Meta_Unit *unit; }; -global Abstract_Item null_abstract_item = {0}; +global Abstract_Item null_abstract_item = {}; internal Abstract_Item* get_item_by_name(Basic_List list, String name){ @@ -271,7 +271,7 @@ struct Abstract_Item_Array{ internal Abstract_Item_Array get_abstract_item_array(Basic_List *list){ - Abstract_Item_Array result = {0}; + Abstract_Item_Array result = {}; result.items = (Abstract_Item**)fm_push_array(Abstract_Item*, list->count); result.count = list->count; @@ -303,7 +303,7 @@ struct Document_System{ internal Document_System create_document_system(char *code_dir, char *asset_dir, char *src_dir){ - Document_System system = {0}; + Document_System system = {}; system.code_dir = code_dir; system.asset_dir = asset_dir; system.src_dir = src_dir; @@ -434,7 +434,7 @@ struct Document_Builder{ internal Document_Builder begin_document_description(Document_System *system, char *title, char *name, b32 show_title){ - Document_Builder builder = {0}; + Document_Builder builder = {}; Abstract_Item *doc = create_abstract_item(&system->doc_list, name); if (doc != 0){ builder.doc = doc; @@ -753,9 +753,9 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Section: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ - String extra_text = {0}; + String extra_text = {}; extract_command_body(l, &i, &extra_text); char *title = get_null_terminated_version(body_text); @@ -770,7 +770,7 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Style: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ begin_style(&builder, body_text); } @@ -795,7 +795,7 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Link: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ begin_link(&builder, body_text); } @@ -807,7 +807,7 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En // TODO(allen): upgrade this bs case Cmd_DocumentLink: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ add_document_link(&builder, body_text); } @@ -818,9 +818,9 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Image: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ - String size_parameter = {0}; + String size_parameter = {}; extract_command_body(l, &i, &size_parameter); add_image(&builder, body_text, size_parameter); } @@ -831,7 +831,7 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Video: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ add_video(&builder, body_text); } @@ -857,7 +857,7 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_Include: { - String body_text = {0}; + String body_text = {}; if (extract_command_body(l, &i, &body_text)){ add_include(doc_system, &builder, body_text); } @@ -868,8 +868,8 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_MetaParse: { - String name = {0}; - String file = {0}; + String name = {}; + String file = {}; if (extract_command_body(l, &i, &name)){ if (extract_command_body(l, &i, &file)){ u32 result = create_meta_unit(doc_system, name, file); @@ -893,9 +893,9 @@ make_document_from_text(Document_System *doc_system, char *title, char *name, En case Cmd_DocList: case Cmd_DocFull: { - String name = {0}; + String name = {}; if (extract_command_body(l, &i, &name)){ - String mangle = {0}; + String mangle = {}; extract_command_body(l, &i, &mangle); u32 mangle_rule = MangleRule_None; @@ -953,7 +953,7 @@ struct Unresolved_Include_Array{ internal Unresolved_Include_Array get_unresolved_includes(Document_System *doc_system){ - Unresolved_Include_Array result = {0}; + Unresolved_Include_Array result = {}; Basic_List *list = &doc_system->unresolved_includes; result.items = (Document_Item**)fm_push_array(Document_Item*, list->count); @@ -1460,8 +1460,8 @@ global String doc_chunk_headers[] = { internal String get_next_doc_chunk(String source, String prev_chunk, Doc_Chunk_Type *type){ - String chunk = {0}; - String word = {0}; + String chunk = {}; + String word = {}; i32 pos = source.size; i32 word_index = 0; Doc_Chunk_Type t = DocChunk_PlainText; @@ -1604,7 +1604,7 @@ print_struct_docs(String *out, Item_Node *member){ print_struct_docs(out, member_iter); } else{ - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(member_iter->doc_string, &doc); append(out, "
"); @@ -1648,7 +1648,7 @@ print_function_docs(String *out, String name, String doc_string){ Temp temp = fm_begin_temp(); - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(doc_string, &doc); @@ -1767,7 +1767,7 @@ print_item_html(String *out, Used_Links *used, Item_Node *item, char *id_postfix // NOTE(allen): Descriptive section String doc_string = item->doc_string; - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(doc_string, &doc); String main_doc = doc.main_doc; @@ -1798,7 +1798,7 @@ print_item_html(String *out, Used_Links *used, Item_Node *item, char *id_postfix // NOTE(allen): Descriptive section String doc_string = item->doc_string; - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(doc_string, &doc); String main_doc = doc.main_doc; @@ -1819,7 +1819,7 @@ print_item_html(String *out, Used_Links *used, Item_Node *item, char *id_postfix for (Item_Node *member = item->first_child; member; member = member->next_sibling){ - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(member->doc_string, &doc); append(out, "
"); @@ -1876,7 +1876,7 @@ print_item_html(String *out, Used_Links *used, Item_Node *item, char *id_postfix // NOTE(allen): Descriptive section { - Documentation doc = {0}; + Documentation doc = {}; perform_doc_parse(doc_string, &doc); String main_doc = doc.main_doc; @@ -1973,7 +1973,7 @@ struct Document_Output_System{ internal Document_Output_System make_output_system(String *out, Document_System *doc_system, Used_Links *used_links, Section_Counter *section_counter, Include_Stack *inc_stack){ - Document_Output_System sys = {0}; + Document_Output_System sys = {}; sys.out = out; sys.doc_system = doc_system; sys.used_links = used_links; @@ -2239,7 +2239,7 @@ generate_item_html(Document_Output_System sys, Document_Item *item){ if (duplicate){ String error = make_lit_string("recursive inclusion, halted here"); - Document_Item temp_item = {0}; + Document_Item temp_item = {}; temp_item.type = Doc_Error; set_item_string(&temp_item.string.string, error); generate_item_html(sys, &temp_item); @@ -2265,13 +2265,13 @@ internal void generate_document_html(String *out, Document_System *doc_system, Abstract_Item *doc){ Assert(doc->root_item != 0); - Used_Links used_links = {0}; + Used_Links used_links = {}; init_used_links(&used_links, 4000); - Section_Counter section_counter = {0}; + Section_Counter section_counter = {}; section_counter.counter[section_counter.nest_level] = 1; - Include_Stack inc_stack = {0}; + Include_Stack inc_stack = {}; Document_Output_System sys = make_output_system(out, doc_system, &used_links, §ion_counter, &inc_stack); diff --git a/site/source_material/binding_list.txt b/site/source_material/binding_list.txt index 68eec9d3..a77a2c32 100644 --- a/site/source_material/binding_list.txt +++ b/site/source_material/binding_list.txt @@ -166,7 +166,7 @@ The following commands only apply in files where the lexer (syntax highlighting) \ITEM \STYLE{code} \END Surround the range between the cursor and mark with an '#if 0' and an '#endif' \ITEM \STYLE{code} \END Reads a filename from surrounding '"' characters and attempts to open the corresponding file. \ITEM \STYLE{code} \END If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view. -\ITEM \STYLE{code} \END At the cursor, insert a ' = {0};'. +\ITEM \STYLE{code} \END At the cursor, insert a ' = {};'. \END \END \SECTION{default-lister-ui-map} @@ -347,7 +347,7 @@ The following commands only apply in files where the lexer (syntax highlighting) \ITEM \STYLE{code} \END Surround the range between the cursor and mark with an '#if 0' and an '#endif' \ITEM \STYLE{code} \END Reads a filename from surrounding '"' characters and attempts to open the corresponding file. \ITEM \STYLE{code} \END If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view. -\ITEM \STYLE{code} \END At the cursor, insert a ' = {0};'. +\ITEM \STYLE{code} \END At the cursor, insert a ' = {};'. \END \END \SECTION{default-lister-ui-map} diff --git a/string/4ed_string_builder.cpp b/string/4ed_string_builder.cpp index f775802d..aa5ca098 100644 --- a/string/4ed_string_builder.cpp +++ b/string/4ed_string_builder.cpp @@ -96,7 +96,7 @@ save_build_number(char *file_name, i32 major, i32 minor, i32 build){ internal void print_function_body_code(String *out, Parse_Context *context, i32 start){ - String pstr = {0}, lexeme = {0}; + String pstr = {}, lexeme = {}; Cpp_Token *token = 0; i32 do_print = 0; @@ -223,7 +223,7 @@ int main(){ append(&out, "*/\n"); - String pstr = {0}; + String pstr = {}; i32 do_whitespace_print = true; for(;(token = get_next_token(&pcontext)) != 0;){ diff --git a/string/internal_4coder_string.cpp b/string/internal_4coder_string.cpp index c7684642..1d80b1b7 100644 --- a/string/internal_4coder_string.cpp +++ b/string/internal_4coder_string.cpp @@ -42,7 +42,7 @@ typedef struct String{ i32_4tech memory_size; } String; -static String null_string = {0}; +static String null_string = {}; #endif FSTRING_DECLS @@ -277,7 +277,7 @@ skip_whitespace(String str) /* DOC(This call creates a substring that starts with the first non-whitespace character of str. Like other substr calls, the new string uses the underlying memory and so should usually be considered immutable.) DOC_SEE(substr) */{ - String result = {0}; + String result = {}; i32_4tech i = 0; for (; i < str.size && char_is_whitespace(str.str[i]); ++i); result = substr(str, i, str.size - i); @@ -290,7 +290,7 @@ skip_whitespace_measure(String str, i32_4tech *skip_length) /* DOC(This call creates a substring that starts with the first non-whitespace character of str. Like other substr calls, the new string uses the underlying memory and so should usually be considered immutable.) DOC_SEE(substr) */{ - String result = {0}; + String result = {}; i32_4tech i = 0; for (; i < str.size && char_is_whitespace(str.str[i]); ++i); result = substr(str, i, str.size - i); @@ -303,7 +303,7 @@ chop_whitespace(String str) /* DOC(This call creates a substring that ends with the last non-whitespace character of str. Like other substr calls, the new string uses the underlying memory and so should usually be considered immutable.) DOC_SEE(substr) */{ - String result = {0}; + String result = {}; i32_4tech i = str.size; for (; i > 0 && char_is_whitespace(str.str[i-1]); --i); result = substr(str, 0, i); @@ -1674,7 +1674,7 @@ typedef struct Float_To_Str_Variables{ static Float_To_Str_Variables get_float_vars(float x){ - Float_To_Str_Variables vars = {0}; + Float_To_Str_Variables vars = {}; if (x < 0){ vars.negative = 1; @@ -2042,7 +2042,7 @@ DOC_RETURN(The returned value is the first 'double line' in the source string.) DOC(A 'double line' is a string of characters delimited by two new line characters. This call begins an iteration over all the double lines in the given source string.) DOC_SEE(get_next_double_line) */{ - String line = {0}; + String line = {}; i32_4tech pos0 = find_substr_s(source, 0, make_lit_string("\n\n")); i32_4tech pos1 = find_substr_s(source, 0, make_lit_string("\r\n\r\n")); if (pos1 < pos0){ @@ -2059,7 +2059,7 @@ DOC_PARAM(line, the value returned from the previous call of get_first_double_li DOC_RETURN(The returned value is the first 'double line' in the source string.) DOC_SEE(get_first_double_line) */{ - String next = {0}; + String next = {}; i32_4tech pos = (i32_4tech)(line.str - source.str) + line.size; i32_4tech start = 0, pos0 = 0, pos1 = 0; @@ -2088,7 +2088,7 @@ DOC_RETURN(The returned value is the first 'word' in the source string.) DOC_SEE(get_first_word) */{ - String word = {0}; + String word = {}; i32_4tech pos0 = (i32_4tech)(prev_word.str - source.str) + prev_word.size; i32_4tech pos1 = 0; char c = 0;