From 63673bf9ed407ffa4364d767a36217cd6faac704 Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Fri, 25 Jan 2019 13:03:52 -0800 Subject: [PATCH] Merge casey changes --- 4coder_API/4coder_types.h | 6 + 4coder_generated/app_functions.h | 51 ++- 4coder_generated/command_metadata.h | 464 ++++++++++++++-------------- 4ed_api_implementation.cpp | 120 ++++++- 4ed_layout.cpp | 1 + 4ed_render_format.cpp | 48 ++- 4ed_render_format.h | 1 + 4ed_view.cpp | 46 ++- build.bat | 2 +- build_optimized.bat | 2 +- buildsuper_x64.bat | 8 +- custom_4coder.dll | Bin 0 -> 669696 bytes meta/4ed_build.cpp | 2 +- opengl/4ed_opengl_render.cpp | 21 +- platform_win32/win32_4ed.cpp | 2 - 15 files changed, 484 insertions(+), 290 deletions(-) create mode 100644 custom_4coder.dll diff --git a/4coder_API/4coder_types.h b/4coder_API/4coder_types.h index 0f317565..c041aafa 100644 --- a/4coder_API/4coder_types.h +++ b/4coder_API/4coder_types.h @@ -820,6 +820,12 @@ ENUM(uint32_t, Marker_Visual_Priority_Level){ VisualPriority_Highest = 4000, }; +/* DOC(Flags that control how font glyphs are modified before drawing.) */ +ENUM(uint32_t, Glyph_Flag){ + GlyphFlag_None = 0x0, + GlyphFlag_Rotate90 = 0x1, +}; + /* DOC(Query_Bar is a struct used to store information in the user's control that will be displayed as a drop down bar durring an interactive command.) */ STRUCT Query_Bar{ /* DOC(This specifies the prompt portion of the drop down bar.) */ diff --git a/4coder_generated/app_functions.h b/4coder_generated/app_functions.h index 0cb3abc5..aa5eef36 100644 --- a/4coder_generated/app_functions.h +++ b/4coder_generated/app_functions.h @@ -39,6 +39,7 @@ struct Application_Links; #define VIEW_SET_SETTING_SIG(n) bool32 n(Application_Links *app, View_Summary *view, View_Setting_ID setting, int32_t value) #define VIEW_GET_MANAGED_SCOPE_SIG(n) Managed_Scope n(Application_Links *app, View_ID view_id) #define VIEW_SET_SPLIT_PROPORTION_SIG(n) bool32 n(Application_Links *app, View_Summary *view, float t) +#define VIEW_GET_ENCLOSURE_RECT_SIG(n) i32_Rect n(Application_Links *app, View_Summary *view) #define VIEW_COMPUTE_CURSOR_SIG(n) bool32 n(Application_Links *app, View_Summary *view, Buffer_Seek seek, Full_Cursor *cursor_out) #define VIEW_SET_CURSOR_SIG(n) bool32 n(Application_Links *app, View_Summary *view, Buffer_Seek seek, bool32 set_preferred_x) #define VIEW_SET_SCROLL_SIG(n) bool32 n(Application_Links *app, View_Summary *view, GUI_Scroll_Vars scroll) @@ -82,6 +83,7 @@ struct Application_Links; #define GET_COMMAND_INPUT_SIG(n) User_Input n(Application_Links *app) #define SET_COMMAND_INPUT_SIG(n) void n(Application_Links *app, Key_Event_Data key_data) #define GET_MOUSE_STATE_SIG(n) Mouse_State n(Application_Links *app) +#define GET_ACTIVE_QUERY_BARS_SIG(n) int32_t n(Application_Links *app, View_ID view_id, int32_t max_result_count, Query_Bar **result_array) #define START_QUERY_BAR_SIG(n) bool32 n(Application_Links *app, Query_Bar *bar, uint32_t flags) #define END_QUERY_BAR_SIG(n) void n(Application_Links *app, Query_Bar *bar, uint32_t flags) #define PRINT_MESSAGE_SIG(n) void n(Application_Links *app, char *str, int32_t len) @@ -119,6 +121,11 @@ struct Application_Links; #define SEND_EXIT_SIGNAL_SIG(n) void n(Application_Links *app) #define SET_WINDOW_TITLE_SIG(n) void n(Application_Links *app, char *title) #define GET_MICROSECONDS_TIMESTAMP_SIG(n) Microsecond_Time_Stamp n(Application_Links *app) +#define DRAW_STRING_SIG(n) float n(Application_Links *app, Face_ID font_id, String str, float x, float y, uint32_t color, uint32_t flags, float dx, float dy) +#define GET_STRING_ADVANCE_SIG(n) float n(Application_Links *app, Face_ID font_id, String str) +#define DRAW_RECTANGLE_SIG(n) void n(Application_Links *app, f32_Rect rect, int_color color) +#define DRAW_RECTANGLE_OUTLINE_SIG(n) void n(Application_Links *app, f32_Rect rect, int_color color) +#define GET_DEFAULT_FONT_FOR_VIEW_SIG(n) Face_ID n(Application_Links *app, View_ID view_id) typedef GLOBAL_SET_SETTING_SIG(Global_Set_Setting_Function); typedef GLOBAL_SET_MAPPING_SIG(Global_Set_Mapping_Function); typedef EXEC_COMMAND_SIG(Exec_Command_Function); @@ -159,6 +166,7 @@ typedef VIEW_GET_SETTING_SIG(View_Get_Setting_Function); typedef VIEW_SET_SETTING_SIG(View_Set_Setting_Function); typedef VIEW_GET_MANAGED_SCOPE_SIG(View_Get_Managed_Scope_Function); typedef VIEW_SET_SPLIT_PROPORTION_SIG(View_Set_Split_Proportion_Function); +typedef VIEW_GET_ENCLOSURE_RECT_SIG(View_Get_Enclosure_Rect_Function); typedef VIEW_COMPUTE_CURSOR_SIG(View_Compute_Cursor_Function); typedef VIEW_SET_CURSOR_SIG(View_Set_Cursor_Function); typedef VIEW_SET_SCROLL_SIG(View_Set_Scroll_Function); @@ -202,6 +210,7 @@ typedef GET_USER_INPUT_SIG(Get_User_Input_Function); typedef GET_COMMAND_INPUT_SIG(Get_Command_Input_Function); typedef SET_COMMAND_INPUT_SIG(Set_Command_Input_Function); typedef GET_MOUSE_STATE_SIG(Get_Mouse_State_Function); +typedef GET_ACTIVE_QUERY_BARS_SIG(Get_Active_Query_Bars_Function); typedef START_QUERY_BAR_SIG(Start_Query_Bar_Function); typedef END_QUERY_BAR_SIG(End_Query_Bar_Function); typedef PRINT_MESSAGE_SIG(Print_Message_Function); @@ -239,6 +248,11 @@ typedef IS_FULLSCREEN_SIG(Is_Fullscreen_Function); typedef SEND_EXIT_SIGNAL_SIG(Send_Exit_Signal_Function); typedef SET_WINDOW_TITLE_SIG(Set_Window_Title_Function); typedef GET_MICROSECONDS_TIMESTAMP_SIG(Get_Microseconds_Timestamp_Function); +typedef DRAW_STRING_SIG(Draw_String_Function); +typedef GET_STRING_ADVANCE_SIG(Get_String_Advance_Function); +typedef DRAW_RECTANGLE_SIG(Draw_Rectangle_Function); +typedef DRAW_RECTANGLE_OUTLINE_SIG(Draw_Rectangle_Outline_Function); +typedef GET_DEFAULT_FONT_FOR_VIEW_SIG(Get_Default_Font_For_View_Function); struct Application_Links{ #if defined(ALLOW_DEP_4CODER) Global_Set_Setting_Function *global_set_setting; @@ -281,6 +295,7 @@ View_Get_Setting_Function *view_get_setting; View_Set_Setting_Function *view_set_setting; View_Get_Managed_Scope_Function *view_get_managed_scope; View_Set_Split_Proportion_Function *view_set_split_proportion; +View_Get_Enclosure_Rect_Function *view_get_enclosure_rect; View_Compute_Cursor_Function *view_compute_cursor; View_Set_Cursor_Function *view_set_cursor; View_Set_Scroll_Function *view_set_scroll; @@ -324,6 +339,7 @@ Get_User_Input_Function *get_user_input; Get_Command_Input_Function *get_command_input; Set_Command_Input_Function *set_command_input; Get_Mouse_State_Function *get_mouse_state; +Get_Active_Query_Bars_Function *get_active_query_bars; Start_Query_Bar_Function *start_query_bar; End_Query_Bar_Function *end_query_bar; Print_Message_Function *print_message; @@ -361,6 +377,11 @@ Is_Fullscreen_Function *is_fullscreen; Send_Exit_Signal_Function *send_exit_signal; Set_Window_Title_Function *set_window_title; Get_Microseconds_Timestamp_Function *get_microseconds_timestamp; +Draw_String_Function *draw_string; +Get_String_Advance_Function *get_string_advance; +Draw_Rectangle_Function *draw_rectangle; +Draw_Rectangle_Outline_Function *draw_rectangle_outline; +Get_Default_Font_For_View_Function *get_default_font_for_view; #else Global_Set_Setting_Function *global_set_setting_; Global_Set_Mapping_Function *global_set_mapping_; @@ -402,6 +423,7 @@ View_Get_Setting_Function *view_get_setting_; View_Set_Setting_Function *view_set_setting_; View_Get_Managed_Scope_Function *view_get_managed_scope_; View_Set_Split_Proportion_Function *view_set_split_proportion_; +View_Get_Enclosure_Rect_Function *view_get_enclosure_rect_; View_Compute_Cursor_Function *view_compute_cursor_; View_Set_Cursor_Function *view_set_cursor_; View_Set_Scroll_Function *view_set_scroll_; @@ -445,6 +467,7 @@ Get_User_Input_Function *get_user_input_; Get_Command_Input_Function *get_command_input_; Set_Command_Input_Function *set_command_input_; Get_Mouse_State_Function *get_mouse_state_; +Get_Active_Query_Bars_Function *get_active_query_bars_; Start_Query_Bar_Function *start_query_bar_; End_Query_Bar_Function *end_query_bar_; Print_Message_Function *print_message_; @@ -482,6 +505,11 @@ Is_Fullscreen_Function *is_fullscreen_; Send_Exit_Signal_Function *send_exit_signal_; Set_Window_Title_Function *set_window_title_; Get_Microseconds_Timestamp_Function *get_microseconds_timestamp_; +Draw_String_Function *draw_string_; +Get_String_Advance_Function *get_string_advance_; +Draw_Rectangle_Function *draw_rectangle_; +Draw_Rectangle_Outline_Function *draw_rectangle_outline_; +Get_Default_Font_For_View_Function *get_default_font_for_view_; #endif void *memory; int32_t memory_size; @@ -531,6 +559,7 @@ app_links->view_get_setting_ = View_Get_Setting;\ app_links->view_set_setting_ = View_Set_Setting;\ app_links->view_get_managed_scope_ = View_Get_Managed_Scope;\ app_links->view_set_split_proportion_ = View_Set_Split_Proportion;\ +app_links->view_get_enclosure_rect_ = View_Get_Enclosure_Rect;\ app_links->view_compute_cursor_ = View_Compute_Cursor;\ app_links->view_set_cursor_ = View_Set_Cursor;\ app_links->view_set_scroll_ = View_Set_Scroll;\ @@ -574,6 +603,7 @@ app_links->get_user_input_ = Get_User_Input;\ app_links->get_command_input_ = Get_Command_Input;\ app_links->set_command_input_ = Set_Command_Input;\ app_links->get_mouse_state_ = Get_Mouse_State;\ +app_links->get_active_query_bars_ = Get_Active_Query_Bars;\ app_links->start_query_bar_ = Start_Query_Bar;\ app_links->end_query_bar_ = End_Query_Bar;\ app_links->print_message_ = Print_Message;\ @@ -610,7 +640,12 @@ app_links->set_fullscreen_ = Set_Fullscreen;\ app_links->is_fullscreen_ = Is_Fullscreen;\ app_links->send_exit_signal_ = Send_Exit_Signal;\ app_links->set_window_title_ = Set_Window_Title;\ -app_links->get_microseconds_timestamp_ = Get_Microseconds_Timestamp;} while(false) +app_links->get_microseconds_timestamp_ = Get_Microseconds_Timestamp;\ +app_links->draw_string_ = Draw_String;\ +app_links->get_string_advance_ = Get_String_Advance;\ +app_links->draw_rectangle_ = Draw_Rectangle;\ +app_links->draw_rectangle_outline_ = Draw_Rectangle_Outline;\ +app_links->get_default_font_for_view_ = Get_Default_Font_For_View;} while(false) #if defined(ALLOW_DEP_4CODER) static inline bool32 global_set_setting(Application_Links *app, Global_Setting_ID setting, int32_t value){return(app->global_set_setting(app, setting, value));} static inline bool32 global_set_mapping(Application_Links *app, void *data, int32_t size){return(app->global_set_mapping(app, data, size));} @@ -652,6 +687,7 @@ static inline bool32 view_get_setting(Application_Links *app, View_Summary *view static inline bool32 view_set_setting(Application_Links *app, View_Summary *view, View_Setting_ID setting, int32_t value){return(app->view_set_setting(app, view, setting, value));} static inline Managed_Scope view_get_managed_scope(Application_Links *app, View_ID view_id){return(app->view_get_managed_scope(app, view_id));} static inline bool32 view_set_split_proportion(Application_Links *app, View_Summary *view, float t){return(app->view_set_split_proportion(app, view, t));} +static inline i32_Rect view_get_enclosure_rect(Application_Links *app, View_Summary *view){return(app->view_get_enclosure_rect(app, view));} static inline bool32 view_compute_cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, Full_Cursor *cursor_out){return(app->view_compute_cursor(app, view, seek, cursor_out));} static inline bool32 view_set_cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, bool32 set_preferred_x){return(app->view_set_cursor(app, view, seek, set_preferred_x));} static inline bool32 view_set_scroll(Application_Links *app, View_Summary *view, GUI_Scroll_Vars scroll){return(app->view_set_scroll(app, view, scroll));} @@ -695,6 +731,7 @@ static inline User_Input get_user_input(Application_Links *app, Input_Type_Flag static inline User_Input get_command_input(Application_Links *app){return(app->get_command_input(app));} static inline void set_command_input(Application_Links *app, Key_Event_Data key_data){(app->set_command_input(app, key_data));} static inline Mouse_State get_mouse_state(Application_Links *app){return(app->get_mouse_state(app));} +static inline int32_t get_active_query_bars(Application_Links *app, View_ID view_id, int32_t max_result_count, Query_Bar **result_array){return(app->get_active_query_bars(app, view_id, max_result_count, result_array));} static inline bool32 start_query_bar(Application_Links *app, Query_Bar *bar, uint32_t flags){return(app->start_query_bar(app, bar, flags));} static inline void end_query_bar(Application_Links *app, Query_Bar *bar, uint32_t flags){(app->end_query_bar(app, bar, flags));} static inline void print_message(Application_Links *app, char *str, int32_t len){(app->print_message(app, str, len));} @@ -732,6 +769,11 @@ static inline bool32 is_fullscreen(Application_Links *app){return(app->is_fullsc static inline void send_exit_signal(Application_Links *app){(app->send_exit_signal(app));} static inline void set_window_title(Application_Links *app, char *title){(app->set_window_title(app, title));} static inline Microsecond_Time_Stamp get_microseconds_timestamp(Application_Links *app){return(app->get_microseconds_timestamp(app));} +static inline float draw_string(Application_Links *app, Face_ID font_id, String str, float x, float y, uint32_t color, uint32_t flags, float dx, float dy){return(app->draw_string(app, font_id, str, x, y, color, flags, dx, dy));} +static inline float get_string_advance(Application_Links *app, Face_ID font_id, String str){return(app->get_string_advance(app, font_id, str));} +static inline void draw_rectangle(Application_Links *app, f32_Rect rect, int_color color){(app->draw_rectangle(app, rect, color));} +static inline void draw_rectangle_outline(Application_Links *app, f32_Rect rect, int_color color){(app->draw_rectangle_outline(app, rect, color));} +static inline Face_ID get_default_font_for_view(Application_Links *app, View_ID view_id){return(app->get_default_font_for_view(app, view_id));} #else static inline bool32 global_set_setting(Application_Links *app, Global_Setting_ID setting, int32_t value){return(app->global_set_setting_(app, setting, value));} static inline bool32 global_set_mapping(Application_Links *app, void *data, int32_t size){return(app->global_set_mapping_(app, data, size));} @@ -773,6 +815,7 @@ static inline bool32 view_get_setting(Application_Links *app, View_Summary *view static inline bool32 view_set_setting(Application_Links *app, View_Summary *view, View_Setting_ID setting, int32_t value){return(app->view_set_setting_(app, view, setting, value));} static inline Managed_Scope view_get_managed_scope(Application_Links *app, View_ID view_id){return(app->view_get_managed_scope_(app, view_id));} static inline bool32 view_set_split_proportion(Application_Links *app, View_Summary *view, float t){return(app->view_set_split_proportion_(app, view, t));} +static inline i32_Rect view_get_enclosure_rect(Application_Links *app, View_Summary *view){return(app->view_get_enclosure_rect_(app, view));} static inline bool32 view_compute_cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, Full_Cursor *cursor_out){return(app->view_compute_cursor_(app, view, seek, cursor_out));} static inline bool32 view_set_cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, bool32 set_preferred_x){return(app->view_set_cursor_(app, view, seek, set_preferred_x));} static inline bool32 view_set_scroll(Application_Links *app, View_Summary *view, GUI_Scroll_Vars scroll){return(app->view_set_scroll_(app, view, scroll));} @@ -816,6 +859,7 @@ static inline User_Input get_user_input(Application_Links *app, Input_Type_Flag static inline User_Input get_command_input(Application_Links *app){return(app->get_command_input_(app));} static inline void set_command_input(Application_Links *app, Key_Event_Data key_data){(app->set_command_input_(app, key_data));} static inline Mouse_State get_mouse_state(Application_Links *app){return(app->get_mouse_state_(app));} +static inline int32_t get_active_query_bars(Application_Links *app, View_ID view_id, int32_t max_result_count, Query_Bar **result_array){return(app->get_active_query_bars_(app, view_id, max_result_count, result_array));} static inline bool32 start_query_bar(Application_Links *app, Query_Bar *bar, uint32_t flags){return(app->start_query_bar_(app, bar, flags));} static inline void end_query_bar(Application_Links *app, Query_Bar *bar, uint32_t flags){(app->end_query_bar_(app, bar, flags));} static inline void print_message(Application_Links *app, char *str, int32_t len){(app->print_message_(app, str, len));} @@ -853,4 +897,9 @@ static inline bool32 is_fullscreen(Application_Links *app){return(app->is_fullsc static inline void send_exit_signal(Application_Links *app){(app->send_exit_signal_(app));} static inline void set_window_title(Application_Links *app, char *title){(app->set_window_title_(app, title));} static inline Microsecond_Time_Stamp get_microseconds_timestamp(Application_Links *app){return(app->get_microseconds_timestamp_(app));} +static inline float draw_string(Application_Links *app, Face_ID font_id, String str, float x, float y, uint32_t color, uint32_t flags, float dx, float dy){return(app->draw_string_(app, font_id, str, x, y, color, flags, dx, dy));} +static inline float get_string_advance(Application_Links *app, Face_ID font_id, String str){return(app->get_string_advance_(app, font_id, str));} +static inline void draw_rectangle(Application_Links *app, f32_Rect rect, int_color color){(app->draw_rectangle_(app, rect, color));} +static inline void draw_rectangle_outline(Application_Links *app, f32_Rect rect, int_color color){(app->draw_rectangle_outline_(app, rect, color));} +static inline Face_ID get_default_font_for_view(Application_Links *app, View_ID view_id){return(app->get_default_font_for_view_(app, view_id));} #endif diff --git a/4coder_generated/command_metadata.h b/4coder_generated/command_metadata.h index 698267d3..b2f65319 100644 --- a/4coder_generated/command_metadata.h +++ b/4coder_generated/command_metadata.h @@ -253,238 +253,238 @@ int32_t source_name_len; int32_t line_number; }; static Command_Metadata fcoder_metacmd_table[232] = { -{ 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, 981 }, -{ PROC_LINKS(comment_line, 0), "comment_line", 12, "Insert '//' at the beginning of the line after leading whitespace.", 66, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 135 }, -{ PROC_LINKS(comment_line_toggle, 0), "comment_line_toggle", 19, "Turns uncommented lines into commented lines and vice versa for comments starting with '//'.", 92, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 159 }, -{ 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, 1135 }, -{ 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, 1387 }, -{ 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, 1365 }, -{ 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, 621 }, -{ 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, 629 }, -{ 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, 637 }, -{ 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, 645 }, -{ 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, 79 }, -{ 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, 784 }, -{ PROC_LINKS(interactive_new, 0), "interactive_new", 15, "Interactively creates a new file.", 33, "w:\\4ed\\code\\4coder_lists.cpp", 28, 894 }, -{ PROC_LINKS(interactive_open, 0), "interactive_open", 16, "Interactively opens a file.", 27, "w:\\4ed\\code\\4coder_lists.cpp", 28, 926 }, -{ 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, 856 }, -{ PROC_LINKS(interactive_switch_buffer, 0), "interactive_switch_buffer", 25, "Interactively switch to an open buffer.", 39, "w:\\4ed\\code\\4coder_lists.cpp", 28, 765 }, -{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1557 }, -{ PROC_LINKS(kill_rect, 0), "kill_rect", 9, "Delete characters in a rectangular region. Range testing is done by unwrapped-xy coordinates.", 93, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 26 }, -{ 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, 343 }, -{ 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, 349 }, -{ 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, 320 }, -{ 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, 330 }, -{ 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, 1245 }, -{ PROC_LINKS(miblo_decrement_basic, 0), "miblo_decrement_basic", 21, "Decrement an integer under the cursor by one.", 45, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 110 }, -{ PROC_LINKS(miblo_decrement_time_stamp, 0), "miblo_decrement_time_stamp", 26, "Decrement a time stamp under the cursor by one second. (format [m]m:ss or h:mm:ss", 81, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 383 }, -{ PROC_LINKS(miblo_decrement_time_stamp_minute, 0), "miblo_decrement_time_stamp_minute", 33, "Decrement a time stamp under the cursor by one minute. (format [m]m:ss or h:mm:ss", 81, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 395 }, -{ PROC_LINKS(miblo_increment_basic, 0), "miblo_increment_basic", 21, "Increment an integer under the cursor by one.", 45, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 94 }, -{ PROC_LINKS(miblo_increment_time_stamp, 0), "miblo_increment_time_stamp", 26, "Increment a time stamp under the cursor by one second. (format [m]m:ss or h:mm:ss", 81, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 377 }, -{ PROC_LINKS(miblo_increment_time_stamp_minute, 0), "miblo_increment_time_stamp_minute", 33, "Increment a time stamp under the cursor by one minute. (format [m]m:ss or h:mm:ss", 81, "w:\\4ed\\code\\4coder_miblo_numbers.cpp", 36, 389 }, -{ PROC_LINKS(mouse_wheel_change_face_size, 0), "mouse_wheel_change_face_size", 28, "Reads the state of the mouse wheel and uses it to either increase or decrease the face size.", 92, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 586 }, -{ 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, 1342 }, -{ 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, 1278 }, -{ 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(multi_line_edit, 0), "multi_line_edit", 15, "Begin multi-line mode. In multi-line mode characters are inserted at every line between the mark and cursor. All characters are inserted at the same character offset into the line. This mode uses line_char coordinates.", 221, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 117 }, -{ 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, 942 }, -{ 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, 1464 }, -{ 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, 1619 }, -{ 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, 55 }, -{ 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, 71 }, -{ 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, 63 }, -{ 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, 1500 }, -{ 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, 1019 }, -{ 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, 1043 }, -{ 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, 1061 }, -{ PROC_LINKS(redo, 0), "redo", 4, "Advances forewards through the undo history.", 44, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1588 }, -{ 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, 1596 }, -{ 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, 1201 }, -{ PROC_LINKS(rename_parameter, 0), "rename_parameter", 16, "If the cursor is found to be on the name of a function parameter in the signature of a function definition, all occurences within the scope of the function will be replaced with a new provided string.", 200, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 383 }, -{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1572 }, -{ PROC_LINKS(replace_all_occurrences, 0), "replace_all_occurrences", 23, "Queries the user for two strings, and replaces all occurrences of the first string with the second string in all open buffers.", 126, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 778 }, -{ 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, 900 }, -{ 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, 871 }, -{ 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, 889 }, -{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1564 }, -{ 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, 1105 }, -{ 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, 1161 }, -{ 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, 864 }, -{ 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, 878 }, -{ 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, 248 }, -{ 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, 1524 }, -{ 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, 614 }, -{ 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, 603 }, -{ PROC_LINKS(uncomment_line, 0), "uncomment_line", 14, "If present, delete '//' at the beginning of the line after leading whitespace.", 78, "w:\\4ed\\code\\4coder_combined_write_commands.cpp", 46, 147 }, -{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history.", 44, "w:\\4ed\\code\\4coder_base_commands.cpp", 36, 1582 }, -{ 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, 1514 }, -{ 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, 103 }, -{ 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_explicit_enum_flags, 0), "write_explicit_enum_flags", 25, "If the cursor is found to be on the '{' of an enum definition, the values of the enum will be filled in to give each a unique power of 2 value, starting from 1. Existing values are overwritten.", 194, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 705 }, -{ PROC_LINKS(write_explicit_enum_values, 0), "write_explicit_enum_values", 26, "If the cursor is found to be on the '{' of an enum definition, the values of the enum will be filled in sequentially starting from zero. Existing values are overwritten.", 170, "w:\\4ed\\code\\4coder_experiments.cpp", 34, 699 }, -{ 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, 91 }, -{ 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, 97 }, -{ 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, 85 }, -{ 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, 109 }, +{ PROC_LINKS(allow_mouse, 0), "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_auto_indent.cpp", 51, 722 }, +{ PROC_LINKS(auto_tab_range, 0), "auto_tab_range", 14, "Auto-indents the range between the cursor and the mark.", 55, "/Users/allenwebster/4ed/code/4coder_auto_indent.cpp", 51, 733 }, +{ PROC_LINKS(auto_tab_whole_file, 0), "auto_tab_whole_file", 19, "Audo-indents the entire current buffer.", 39, "/Users/allenwebster/4ed/code/4coder_auto_indent.cpp", 51, 712 }, +{ PROC_LINKS(backspace_char, 0), "backspace_char", 14, "Deletes the character to the left of the cursor.", 48, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 69 }, +{ PROC_LINKS(backspace_word, 0), "backspace_word", 14, "Delete characters between the cursor position and the first alphanumeric boundary to the left.", 94, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_build_commands.cpp", 54, 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, "/Users/allenwebster/4ed/code/4coder_build_commands.cpp", 54, 155 }, +{ PROC_LINKS(center_view, 0), "center_view", 11, "Centers the view vertically on the line on which the cursor sits.", 65, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_build_commands.cpp", 54, 209 }, +{ PROC_LINKS(clean_all_lines, 0), "clean_all_lines", 15, "Removes trailing whitespace from all lines in the current buffer.", 65, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 411 }, +{ PROC_LINKS(click_set_cursor, 0), "click_set_cursor", 16, "Sets the cursor position to the mouse position.", 47, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 198 }, +{ PROC_LINKS(click_set_mark, 0), "click_set_mark", 14, "Sets the mark position to the mouse position.", 45, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 1060 }, +{ PROC_LINKS(close_build_panel, 0), "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "/Users/allenwebster/4ed/code/4coder_build_commands.cpp", 54, 203 }, +{ PROC_LINKS(close_panel, 0), "close_panel", 11, "Closes the currently active panel if it is not the only panel open.", 67, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 484 }, +{ PROC_LINKS(command_lister, 0), "command_lister", 14, "Opens an interactive list of all registered commands.", 53, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 981 }, +{ PROC_LINKS(comment_line, 0), "comment_line", 12, "Insert '//' at the beginning of the line after leading whitespace.", 66, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 135 }, +{ PROC_LINKS(comment_line_toggle, 0), "comment_line_toggle", 19, "Turns uncommented lines into commented lines and vice versa for comments starting with '//'.", 92, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 159 }, +{ PROC_LINKS(copy, 0), "copy", 4, "Copy the text in the range from the cursor to the mark onto the clipboard.", 74, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 26 }, +{ PROC_LINKS(cursor_mark_swap, 0), "cursor_mark_swap", 16, "Swaps the position of the cursor and the mark.", 46, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 96 }, +{ PROC_LINKS(cut, 0), "cut", 3, "Cut the text in the range from the cursor to the mark onto the clipboard.", 73, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 35 }, +{ PROC_LINKS(decrease_face_size, 0), "decrease_face_size", 18, "Decrease the size of the face used by the current buffer.", 57, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 574 }, +{ PROC_LINKS(decrease_line_wrap, 0), "decrease_line_wrap", 18, "Decrases the current buffer's width for line wrapping.", 54, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 551 }, +{ PROC_LINKS(delete_char, 0), "delete_char", 11, "Deletes the character to the right of the cursor.", 49, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1135 }, +{ PROC_LINKS(delete_line, 0), "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1387 }, +{ PROC_LINKS(delete_range, 0), "delete_range", 12, "Deletes the text in the range between the cursor and the mark.", 62, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 106 }, +{ PROC_LINKS(delete_word, 0), "delete_word", 11, "Delete characters between the cursor position and the first alphanumeric boundary to the right.", 95, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1264 }, +{ PROC_LINKS(duplicate_line, 0), "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1365 }, +{ PROC_LINKS(eol_dosify, 0), "eol_dosify", 10, "Puts the buffer in DOS line ending mode.", 40, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 621 }, +{ PROC_LINKS(eol_nixify, 0), "eol_nixify", 10, "Puts the buffer in NIX line ending mode.", 40, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 629 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_system_command.cpp", 54, 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, "/Users/allenwebster/4ed/code/4coder_system_command.cpp", 54, 7 }, +{ PROC_LINKS(exit_4coder, 0), "exit_4coder", 11, "Attempts to close 4coder.", 25, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 637 }, +{ PROC_LINKS(goto_beginning_of_file, 0), "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1177 }, +{ PROC_LINKS(goto_end_of_file, 0), "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 348 }, +{ PROC_LINKS(goto_line, 0), "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 645 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 487 }, +{ PROC_LINKS(hide_filebar, 0), "hide_filebar", 12, "Sets the current view to hide it's filebar.", 43, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 514 }, +{ PROC_LINKS(hide_scrollbar, 0), "hide_scrollbar", 14, "Sets the current view to hide it's scrollbar.", 45, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 79 }, +{ PROC_LINKS(increase_face_size, 0), "increase_face_size", 18, "Increase the size of the face used by the current buffer.", 57, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 562 }, +{ PROC_LINKS(increase_line_wrap, 0), "increase_line_wrap", 18, "Increases the current buffer's width for line wrapping.", 55, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 540 }, +{ PROC_LINKS(interactive_kill_buffer, 0), "interactive_kill_buffer", 23, "Interactively kill an open buffer.", 34, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 784 }, +{ PROC_LINKS(interactive_new, 0), "interactive_new", 15, "Interactively creates a new file.", 33, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 894 }, +{ PROC_LINKS(interactive_open, 0), "interactive_open", 16, "Interactively opens a file.", 27, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 926 }, +{ PROC_LINKS(interactive_open_or_new, 0), "interactive_open_or_new", 23, "Interactively open a file out of the file system.", 49, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 856 }, +{ PROC_LINKS(interactive_switch_buffer, 0), "interactive_switch_buffer", 25, "Interactively switch to an open buffer.", 39, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 765 }, +{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1557 }, +{ PROC_LINKS(kill_rect, 0), "kill_rect", 9, "Delete characters in a rectangular region. Range testing is done by unwrapped-xy coordinates.", 93, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 26 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_function_list.cpp", 53, 343 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_function_list.cpp", 53, 349 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_function_list.cpp", 53, 320 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_function_list.cpp", 53, 330 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 790 }, +{ PROC_LINKS(lister__activate, 0), "lister__activate", 16, "A lister mode command that activates the list's action on the highlighted item.", 79, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 161 }, +{ PROC_LINKS(lister__quit, 0), "lister__quit", 12, "A lister mode command that quits the list without executing any actions.", 72, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 8 }, +{ PROC_LINKS(lister__repaint, 0), "lister__repaint", 15, "A lister mode command that updates the lists UI data.", 53, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1245 }, +{ PROC_LINKS(miblo_decrement_basic, 0), "miblo_decrement_basic", 21, "Decrement an integer under the cursor by one.", 45, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 110 }, +{ PROC_LINKS(miblo_decrement_time_stamp, 0), "miblo_decrement_time_stamp", 26, "Decrement a time stamp under the cursor by one second. (format [m]m:ss or h:mm:ss", 81, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 383 }, +{ PROC_LINKS(miblo_decrement_time_stamp_minute, 0), "miblo_decrement_time_stamp_minute", 33, "Decrement a time stamp under the cursor by one minute. (format [m]m:ss or h:mm:ss", 81, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 395 }, +{ PROC_LINKS(miblo_increment_basic, 0), "miblo_increment_basic", 21, "Increment an integer under the cursor by one.", 45, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 94 }, +{ PROC_LINKS(miblo_increment_time_stamp, 0), "miblo_increment_time_stamp", 26, "Increment a time stamp under the cursor by one second. (format [m]m:ss or h:mm:ss", 81, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 377 }, +{ PROC_LINKS(miblo_increment_time_stamp_minute, 0), "miblo_increment_time_stamp_minute", 33, "Increment a time stamp under the cursor by one minute. (format [m]m:ss or h:mm:ss", 81, "/Users/allenwebster/4ed/code/4coder_miblo_numbers.cpp", 53, 389 }, +{ PROC_LINKS(mouse_wheel_change_face_size, 0), "mouse_wheel_change_face_size", 28, "Reads the state of the mouse wheel and uses it to either increase or decrease the face size.", 92, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 586 }, +{ PROC_LINKS(mouse_wheel_scroll, 0), "mouse_wheel_scroll", 18, "Reads the scroll wheel value from the mouse state and scrolls accordingly.", 74, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 226 }, +{ PROC_LINKS(move_down, 0), "move_down", 9, "Moves the cursor down one line.", 31, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 290 }, +{ PROC_LINKS(move_down_10, 0), "move_down_10", 12, "Moves the cursor down ten lines.", 32, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 308 }, +{ PROC_LINKS(move_left, 0), "move_left", 9, "Moves the cursor one character to the left.", 43, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1342 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1278 }, +{ PROC_LINKS(move_right, 0), "move_right", 10, "Moves the cursor one character to the right.", 44, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 349 }, +{ PROC_LINKS(move_up, 0), "move_up", 7, "Moves the cursor up one line.", 29, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 284 }, +{ PROC_LINKS(move_up_10, 0), "move_up_10", 10, "Moves the cursor up ten lines.", 30, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 296 }, +{ PROC_LINKS(multi_line_edit, 0), "multi_line_edit", 15, "Begin multi-line mode. In multi-line mode characters are inserted at every line between the mark and cursor. All characters are inserted at the same character offset into the line. This mode uses line_char coordinates.", 221, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 117 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_direct.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_jump_sticky.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 1074 }, +{ PROC_LINKS(open_color_tweaker, 0), "open_color_tweaker", 18, "Opens the 4coder theme selector list.", 37, "/Users/allenwebster/4ed/code/4coder_lists.cpp", 45, 942 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1464 }, +{ PROC_LINKS(open_in_other, 0), "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1619 }, +{ PROC_LINKS(open_long_braces, 0), "open_long_braces", 16, "At the cursor, insert a '{' and '}' separated by a blank line.", 62, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 55 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 71 }, +{ PROC_LINKS(open_long_braces_semicolon, 0), "open_long_braces_semicolon", 26, "At the cursor, insert a '{' and '};' separated by a blank line.", 63, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 63 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1500 }, +{ PROC_LINKS(open_panel_hsplit, 0), "open_panel_hsplit", 17, "Create a new panel by horizontally splitting the active panel.", 62, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 173 }, +{ PROC_LINKS(open_panel_vsplit, 0), "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 319 }, +{ PROC_LINKS(paste, 0), "paste", 5, "At the cursor, insert the text at the top of the clipboard.", 59, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 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, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 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, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 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, "/Users/allenwebster/4ed/code/4coder_clipboard.cpp", 49, 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 520 }, +{ PROC_LINKS(project_command_lister, 0), "project_command_lister", 22, "Open a lister of all commands in the currently loaded project.", 62, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1019 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1043 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1061 }, +{ PROC_LINKS(redo, 0), "redo", 4, "Advances forewards through the undo history.", 44, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1588 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1596 }, +{ PROC_LINKS(remap_interactive, 0), "remap_interactive", 17, "Switch to a named key binding map.", 34, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1201 }, +{ PROC_LINKS(rename_parameter, 0), "rename_parameter", 16, "If the cursor is found to be on the name of a function parameter in the signature of a function definition, all occurences within the scope of the function will be replaced with a new provided string.", 200, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 383 }, +{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1572 }, +{ PROC_LINKS(replace_all_occurrences, 0), "replace_all_occurrences", 23, "Queries the user for two strings, and replaces all occurrences of the first string with the second string in all open buffers.", 126, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 778 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 900 }, +{ PROC_LINKS(reverse_search, 0), "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 871 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 889 }, +{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1564 }, +{ PROC_LINKS(save_all_dirty_buffers, 0), "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1105 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1161 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 777 }, +{ PROC_LINKS(search, 0), "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 864 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 878 }, +{ PROC_LINKS(seek_alphanumeric_left, 0), "seek_alphanumeric_left", 22, "Seek left for boundary between alphanumeric characters and non-alphanumeric characters.", 87, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1244 }, +{ PROC_LINKS(seek_alphanumeric_right, 0), "seek_alphanumeric_right", 23, "Seek right for boundary between alphanumeric characters and non-alphanumeric characters.", 88, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1232 }, +{ PROC_LINKS(seek_beginning_of_line, 0), "seek_beginning_of_line", 22, "Seeks the cursor to the beginning of the visual line.", 53, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1111 }, +{ PROC_LINKS(seek_end_of_line, 0), "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1121 }, +{ PROC_LINKS(seek_token_left, 0), "seek_token_left", 15, "Seek left for the next beginning of a token.", 44, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1214 }, +{ PROC_LINKS(seek_token_right, 0), "seek_token_right", 16, "Seek right for the next end of a token.", 39, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1220 }, +{ PROC_LINKS(seek_whitespace_down, 0), "seek_whitespace_down", 20, "Seeks the cursor down to the next blank line.", 45, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1166 }, +{ PROC_LINKS(seek_whitespace_left, 0), "seek_whitespace_left", 20, "Seek left for the next boundary between whitespace and non-whitespace.", 70, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1202 }, +{ PROC_LINKS(seek_whitespace_right, 0), "seek_whitespace_right", 21, "Seek right for the next boundary between whitespace and non-whitespace.", 71, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1196 }, +{ PROC_LINKS(seek_whitespace_up, 0), "seek_whitespace_up", 18, "Seeks the cursor up to the next blank line.", 43, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 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, "/Users/allenwebster/4ed/code/4coder_scope_commands.cpp", 54, 385 }, +{ PROC_LINKS(set_bindings_choose, 0), "set_bindings_choose", 19, "Remap keybindings using the 'choose' mapping rule.", 50, "/Users/allenwebster/4ed/code/4coder_remapping_commands.cpp", 58, 47 }, +{ PROC_LINKS(set_bindings_default, 0), "set_bindings_default", 20, "Remap keybindings using the 'default' mapping rule.", 51, "/Users/allenwebster/4ed/code/4coder_remapping_commands.cpp", 58, 61 }, +{ PROC_LINKS(set_bindings_mac_default, 0), "set_bindings_mac_default", 24, "Remap keybindings using the 'mac-default' mapping rule.", 55, "/Users/allenwebster/4ed/code/4coder_remapping_commands.cpp", 58, 75 }, +{ PROC_LINKS(set_mark, 0), "set_mark", 8, "Sets the mark to the current position of the cursor.", 52, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 88 }, +{ PROC_LINKS(set_mode_to_notepad_like, 0), "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 258 }, +{ PROC_LINKS(set_mode_to_original, 0), "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 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, "/Users/allenwebster/4ed/code/4coder_project_commands.cpp", 56, 1491 }, +{ PROC_LINKS(show_filebar, 0), "show_filebar", 12, "Sets the current view to show it's filebar.", 43, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 507 }, +{ PROC_LINKS(show_scrollbar, 0), "show_scrollbar", 14, "Sets the current view to show it's scrollbar.", 45, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 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, "/Users/allenwebster/4ed/code/4coder_seek.cpp", 44, 1276 }, +{ PROC_LINKS(snippet_lister, 0), "snippet_lister", 14, "Opens a snippet lister for inserting whole pre-written snippets of text.", 72, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 248 }, +{ PROC_LINKS(suppress_mouse, 0), "suppress_mouse", 14, "Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.", 83, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1524 }, +{ PROC_LINKS(to_lowercase, 0), "to_lowercase", 12, "Converts all ascii text in the range between the cursor and the mark to lowercase.", 82, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 371 }, +{ PROC_LINKS(toggle_filebar, 0), "toggle_filebar", 14, "Toggles the visibility status of the current view's filebar.", 60, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 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, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 270 }, +{ PROC_LINKS(toggle_highlight_line_at_cursor, 0), "toggle_highlight_line_at_cursor", 31, "Toggles the line highlight at the cursor.", 41, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 264 }, +{ PROC_LINKS(toggle_line_wrap, 0), "toggle_line_wrap", 16, "Toggles the current buffer's line wrapping status.", 50, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 530 }, +{ PROC_LINKS(toggle_mouse, 0), "toggle_mouse", 12, "Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.", 71, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 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, "/Users/allenwebster/4ed/code/4coder_default_framework.cpp", 57, 276 }, +{ PROC_LINKS(toggle_show_whitespace, 0), "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 614 }, +{ PROC_LINKS(toggle_virtual_whitespace, 0), "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 603 }, +{ PROC_LINKS(uncomment_line, 0), "uncomment_line", 14, "If present, delete '//' at the beginning of the line after leading whitespace.", 78, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 147 }, +{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history.", 44, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1582 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 1514 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_jump_lister.cpp", 51, 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, "/Users/allenwebster/4ed/code/4coder_search.cpp", 46, 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, "/Users/allenwebster/4ed/code/4coder_auto_indent.cpp", 51, 745 }, +{ PROC_LINKS(write_block, 0), "write_block", 11, "At the cursor, insert a block comment.", 38, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 103 }, +{ PROC_LINKS(write_character, 0), "write_character", 15, "Inserts whatever character was used to trigger this command.", 60, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 35 }, +{ PROC_LINKS(write_explicit_enum_flags, 0), "write_explicit_enum_flags", 25, "If the cursor is found to be on the '{' of an enum definition, the values of the enum will be filled in to give each a unique power of 2 value, starting from 1. Existing values are overwritten.", 194, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 705 }, +{ PROC_LINKS(write_explicit_enum_values, 0), "write_explicit_enum_values", 26, "If the cursor is found to be on the '{' of an enum definition, the values of the enum will be filled in sequentially starting from zero. Existing values are overwritten.", 170, "/Users/allenwebster/4ed/code/4coder_experiments.cpp", 51, 699 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 91 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 97 }, +{ 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, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 85 }, +{ PROC_LINKS(write_underscore, 0), "write_underscore", 16, "Inserts an underscore.", 22, "/Users/allenwebster/4ed/code/4coder_base_commands.cpp", 53, 44 }, +{ PROC_LINKS(write_zero_struct, 0), "write_zero_struct", 17, "At the cursor, insert a ' = {};'.", 33, "/Users/allenwebster/4ed/code/4coder_combined_write_commands.cpp", 63, 109 }, }; static int32_t fcoder_metacmd_ID_allow_mouse = 0; static int32_t fcoder_metacmd_ID_auto_tab_line_at_cursor = 1; diff --git a/4ed_api_implementation.cpp b/4ed_api_implementation.cpp index a4c24d37..f9dc6d8f 100644 --- a/4ed_api_implementation.cpp +++ b/4ed_api_implementation.cpp @@ -1900,6 +1900,35 @@ DOC_RETURN(This call returns non-zero on success.) return(result); } +API_EXPORT i32_Rect +View_Get_Enclosure_Rect(Application_Links *app, View_Summary *view) +/* +DOC_PARAM(view, The view whose parent rent will be returned.) +DOC_RETURN(The rectangle of the panel containing this view.) +*/{ + // TODO(allen): Update implementation of layout for better queries and traversals + + i32_Rect result = {}; + + Models *models = (Models*)app->cmd_context; + Editing_Layout *layout = &models->layout; + View *vptr = imp_get_view(models, view); + + if (vptr != 0){ + Panel *panel = vptr->transient.panel; + + i32_Rect a = layout_get_rect(layout, panel->parent, panel->which_child); + i32_Rect b = layout_get_rect(layout, panel->parent, !panel->which_child); + + result.x0 = Min(a.x0, b.x0); + result.y0 = Min(a.y0, b.y0); + result.x1 = Max(a.x0, b.x1); + result.y1 = Max(a.y0, b.y1); + } + + return(result); +} + API_EXPORT bool32 View_Compute_Cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, Full_Cursor *cursor_out) /* @@ -2553,8 +2582,8 @@ API_EXPORT bool32 Managed_Variable_Set(Application_Links *app, Managed_Scope scope, Managed_Variable_ID id, uint64_t value) /* DOC_PARAM(scope, A handle to the scope in which the value of the given variable will be set.) -DOC_PARAM(id, The id of the variable to set.) -DOC_PARAM(value, The new value of the variable.) +DOC_PARAM(id, The id of the variable to set.) +DOC_PARAM(value, The new value of the variable.) DOC_RETURN(Returns non-zero on success. This call fails if scope does not refer to a valid managed scope, or id does not refer to an existing managed variable.) */ { @@ -2571,8 +2600,8 @@ API_EXPORT bool32 Managed_Variable_Get(Application_Links *app, Managed_Scope scope, Managed_Variable_ID id, uint64_t *value_out) /* DOC_PARAM(scope, A handle to the scope from which the value of the given variable will be queried.) -DOC_PARAM(id, The id of the variable to get.) -DOC_PARAM(value_out, An address where the value of the given variable in the given scope will be stored.) +DOC_PARAM(id, The id of the variable to get.) +DOC_PARAM(value_out, An address where the value of the given variable in the given scope will be stored.) DOC_RETURN(Returns non-zero on success. This call fails if scope does not refer to a valid managed scope, or id does not refer to an existing managed variable. If the managed scope and managed variable both exist, but the variable has never been set, then the default value for the variable that was determined when the variable was created is used to fill value_out, this is treated as a success and returns non-zero.) */ { @@ -3108,6 +3137,36 @@ DOC_SEE(Mouse_State) return(models->input->mouse); } +API_EXPORT int32_t +Get_Active_Query_Bars(Application_Links *app, View_ID view_id, int32_t max_result_count, Query_Bar **result_array) +/* +DOC_PARAM(view_id, Specifies the view for which query bars should be retrieved.) +DOC_PARAM(max_result_count, Specifies the number of Query_Bar pointers available in result_array.) +DOC_PARAM(result_array, User-supplied empty array of max_result_count Query_Bar pointers.) +DOC_RETURN(This call returns the number of Query_Bar pointers successfully placed in result_array.) +DOC +( +This call allows the customization layer to inspect the set of active Query_Bar slots for a given +view_id. By convention, the most recent query will be entry 0, the next most recent 1, etc., such +that if you only care about the most recent query bar, you can call Get_Active_Query_Bars with a +max_result_count of 1 and be assured you will get the most recent bar if any exist. +) +*/{ + int32_t result = 0; + Models *models = (Models*)app->cmd_context; + View *view = imp_get_view(models, view_id); + if (view != 0){ + for (Query_Slot *slot = view->transient.query_set.used_slot; + slot != 0 && (result < max_result_count); + slot = slot->next){ + if (slot->query_bar != 0){ + result_array[result++] = slot->query_bar; + } + } + } + return(result); +} + API_EXPORT bool32 Start_Query_Bar(Application_Links *app, Query_Bar *bar, uint32_t flags) /* @@ -3829,5 +3888,56 @@ DOC(Returns a microsecond resolution timestamp.) return(system->now_time()); } -// BOTTOM +API_EXPORT float +Draw_String(Application_Links *app, Face_ID font_id, String str, float x, float y, uint32_t color, uint32_t flags, float dx, float dy) +{ + // TODO(allen): do(Documentation and parameter review for draw_* related calls) + + Models *models = (Models*)app->cmd_context; + Style *style = &models->styles.styles[0]; + Theme *theme_data = &style->theme; + + float w = draw_string_base(models->system, models->target, font_id, str, round32(x), round32(y), finalize_color(theme_data, color), flags, dx, dy); + return(w); +} +API_EXPORT float +Get_String_Advance(Application_Links *app, Face_ID font_id, String str) +{ + Models *models = (Models*)app->cmd_context; + float w = font_string_width(models->system, models->target, font_id, str); + return(w); +} + +API_EXPORT void +Draw_Rectangle(Application_Links *app, f32_Rect rect, int_color color) +{ + Models *models = (Models*)app->cmd_context; + Style *style = &models->styles.styles[0]; + Theme *theme_data = &style->theme; + + draw_rectangle(models->target, rect, finalize_color(theme_data, color)); +} + +API_EXPORT void +Draw_Rectangle_Outline(Application_Links *app, f32_Rect rect, int_color color) +{ + Models *models = (Models*)app->cmd_context; + Style *style = &models->styles.styles[0]; + Theme *theme_data = &style->theme; + + draw_rectangle_outline(models->target, rect, finalize_color(theme_data, color)); +} + +API_EXPORT Face_ID +Get_Default_Font_For_View(Application_Links *app, View_ID view_id) +{ + Models *models = (Models*)app->cmd_context; + View *view = imp_get_view(models, view_id); + Editing_File *file = view->transient.file_data.file; + Assert(file != 0); + Face_ID face_id = file->settings.font_id; + return(face_id); +} + +// BOTTOM diff --git a/4ed_layout.cpp b/4ed_layout.cpp index d581fb1f..2e493316 100644 --- a/4ed_layout.cpp +++ b/4ed_layout.cpp @@ -254,6 +254,7 @@ layout_refit(Editing_Layout *layout, i32 prev_width, i32 prev_height){ if (layout->panel_count > 1){ Assert(prev_width != 0 && prev_height != 0); for (i32 i = 0; i < max; ++i, ++divider){ + // TODO(casey): Allen, is this doing something? Is it just reserved for future use I guess? if (divider->v_divider){ divider->pos = divider->pos; } diff --git a/4ed_render_format.cpp b/4ed_render_format.cpp index 6369bab0..7f56cf5a 100644 --- a/4ed_render_format.cpp +++ b/4ed_render_format.cpp @@ -104,7 +104,7 @@ draw_margin(Render_Target *target, i32_Rect outer, i32 width, u32 color){ } internal void -draw_font_glyph(Render_Target *target, Face_ID font_id, u32 codepoint, f32 x, f32 y, u32 color){ +draw_font_glyph(Render_Target *target, Face_ID font_id, u32 codepoint, f32 x, f32 y, u32 color, u32 flags){ Render_Command_Glyph cmd; CmdHeader(RenCom_Glyph); cmd.pos.x = x; @@ -112,12 +112,14 @@ draw_font_glyph(Render_Target *target, Face_ID font_id, u32 codepoint, f32 x, f3 cmd.color = color; cmd.font_id = font_id; cmd.codepoint = codepoint; + cmd.flags = flags; void *h = render_begin_push(target, &cmd, cmd.header.size); render_end_push(target, h); } internal f32 -draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_id, String str_, i32 x_, i32 y_, u32 color){ +draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_id, String str_, i32 x_, i32 y_, u32 color, + u32 flags, f32 dx, f32 dy){ f32 x = 0; Font_Pointers font = system->font.get_pointers_by_id(font_id); @@ -143,9 +145,11 @@ draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_i if (behavior.do_codepoint_advance){ u32 codepoint = step.value; if (color != 0){ - draw_font_glyph(target, font_id, codepoint, x, y, color); + draw_font_glyph(target, font_id, codepoint, x, y, color, flags); } - x += font_get_glyph_advance(system, font.settings, font.metrics, font.pages, codepoint); + f32 d = font_get_glyph_advance(system, font.settings, font.metrics, font.pages, codepoint); + x += d*dx; + y += d*dy; } else if (behavior.do_number_advance){ u8 n = (u8)(step.value); @@ -155,12 +159,16 @@ draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_i byte_to_ascii(n, cs+1); f32 xx = x; + f32 yy = y; for (u32 j = 0; j < 3; ++j){ - draw_font_glyph(target, font_id, cs[j], xx, y, color); - xx += sub_advances[j]; + draw_font_glyph(target, font_id, cs[j], xx, yy, color, flags); + xx += dx*sub_advances[j]; + yy += dy*sub_advances[j]; } } - x += byte_advance; + + x += dx*byte_advance; + y += dy*byte_advance; } } } @@ -169,16 +177,36 @@ draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_i return(x); } +internal f32 +draw_string_base(System_Functions *system, Render_Target *target, Face_ID font_id, String str_, i32 x_, i32 y_, u32 color){ + f32 result = draw_string_base(system, target, font_id, str_, x_, y_, color, 0, 1.f, 0.f); + return(result); +} + +internal f32 +draw_string(System_Functions *system, Render_Target *target, Face_ID font_id, String str, i32 x, i32 y, u32 color, + u32 flags, f32 dx, f32 dy){ + f32 w = draw_string_base(system, target, font_id, str, x, y, color, flags, dx, dy); + return(w); +} + +internal f32 +draw_string(System_Functions *system, Render_Target *target, Face_ID font_id, char *str, i32 x, i32 y, u32 color, + u32 flags, f32 dx, f32 dy){ + String string = make_string_slowly(str); + f32 w = draw_string_base(system, target, font_id, string, x, y, color, flags, dx, dy); + return(w); +} + internal f32 draw_string(System_Functions *system, Render_Target *target, Face_ID font_id, String str, i32 x, i32 y, u32 color){ - f32 w = draw_string_base(system, target, font_id, str, x, y, color); + f32 w = draw_string_base(system, target, font_id, str, x, y, color, 0, 1.f, 0.f); return(w); } internal f32 draw_string(System_Functions *system, Render_Target *target, Face_ID font_id, char *str, i32 x, i32 y, u32 color){ - String string = make_string_slowly(str); - f32 w = draw_string_base(system, target, font_id, string, x, y, color); + f32 w = draw_string_base(system, target, font_id, str, x, y, color, 0, 1.f, 0.f); return(w); } diff --git a/4ed_render_format.h b/4ed_render_format.h index ad679b65..1fe4d289 100644 --- a/4ed_render_format.h +++ b/4ed_render_format.h @@ -48,6 +48,7 @@ struct Render_Command_Glyph{ u32 color; Face_ID font_id; u32 codepoint; + u32 flags; }; struct Render_Command_Change_Clip{ diff --git a/4ed_view.cpp b/4ed_view.cpp index a3d75882..afd00a08 100644 --- a/4ed_view.cpp +++ b/4ed_view.cpp @@ -489,6 +489,23 @@ release_font_and_update_files(System_Functions *system, Models *models, Face_ID //////////////////////////////// +internal u32 +finalize_color(Theme *theme_data, u32 color){ + if ((color&SymbolicColor__StagColorFlag) && (color&0xFF000000) == 0){ + u32 color_index = color&0x007FFFFF; + if (color_index < Stag_COUNT){ + u32 *c = &theme_data->colors[color_index]; + if (c != 0){ + color = *c; + } + else{ + color = 0; + } + } + } + return(color); +} + internal void get_visual_markers(Partition *arena, Dynamic_Workspace *workspace, Range range, Buffer_ID buffer_id, i32 view_index, @@ -505,38 +522,13 @@ get_visual_markers(Partition *arena, Dynamic_Workspace *workspace, if (data->key_view_id != 0 && data->key_view_id != view_id) continue; Marker_Visual_Type type = data->type; - u32 color = data->color; - u32 text_color = data->text_color; i32 take_count_per_step = data->take_rule.take_count_per_step; i32 step_stride_in_marker_count = data->take_rule.step_stride_in_marker_count; i32 stride_size_from_last = step_stride_in_marker_count - take_count_per_step; i32 priority = data->priority; - if ((color&SymbolicColor__StagColorFlag) && (color&0xFF000000) == 0){ - u32 color_index = color&0x007FFFFF; - if (color_index < Stag_COUNT){ - u32 *c = &theme_data->colors[color_index]; - if (c != 0){ - color = *c; - } - else{ - color = 0; - } - } - } - - if ((text_color&SymbolicColor__StagColorFlag) && (text_color&0xFF000000) == 0){ - u32 color_index = text_color&0x007FFFFF; - if (color_index < Stag_COUNT){ - u32 *c = &theme_data->colors[color_index]; - if (c != 0){ - text_color = *c; - } - else{ - text_color = 0; - } - } - } + u32 color = finalize_color(theme_data, data->color); + u32 text_color = finalize_color(theme_data, data->text_color); Marker *markers = (Marker*)(node + 1); Assert(sizeof(*markers) == node->std_header.item_size); diff --git a/build.bat b/build.bat index 5d485bf6..f284209d 100644 --- a/build.bat +++ b/build.bat @@ -9,7 +9,7 @@ set build_mode=%1 if "%build_mode%" == "" (set build_mode="/DDEV_BUILD") pushd ..\build -cl %opts% kernel32.lib ..\code\meta\4ed_build.cpp /Zi /Febuild %build_mode% +call cl %opts% kernel32.lib ..\code\meta\4ed_build.cpp /Zi /Febuild %build_mode% if %ERRORLEVEL% neq 0 (set FirstError=1) if %ERRORLEVEL% neq 0 (goto END) popd diff --git a/build_optimized.bat b/build_optimized.bat index db26f531..6e8741f6 100644 --- a/build_optimized.bat +++ b/build_optimized.bat @@ -1,3 +1,3 @@ @echo off -build.bat /DOPT_BUILD \ No newline at end of file +call build.bat /DOPT_BUILD \ No newline at end of file diff --git a/buildsuper_x64.bat b/buildsuper_x64.bat index d1994587..915adc96 100644 --- a/buildsuper_x64.bat +++ b/buildsuper_x64.bat @@ -15,16 +15,16 @@ if "%src%" == "" set src=4coder_default_bindings.cpp set opts=/W4 /wd4310 /wd4100 /wd4201 /wd4505 /wd4996 /wd4127 /wd4510 /wd4512 /wd4610 /wd4457 /WX set opts=%opts% /GR- /nologo /FC set debug=/Zi -set build_dll=/LD /link /INCREMENTAL:NO /OPT:REF +set build_dll=/LD /link /INCREMENTAL:NO /OPT:REF /RELEASE /PDBALTPATH:%%%%_PDB%%%% set exports=/EXPORT:get_bindings /EXPORT:get_alpha_4coder_version set preproc_file=4coder_command_metadata.i set meta_macros=/DMETA_PASS -cl /I"%code_home%" %opts% %debug% %src% /P /Fi%preproc_file% %meta_macros% -cl /I"%code_home%" %opts% %debug% "%code_home%\4coder_metadata_generator.cpp" /Femetadata_generator +call cl /I"%code_home%" %opts% %debug% %src% /P /Fi%preproc_file% %meta_macros% +call cl /I"%code_home%" %opts% %debug% "%code_home%\4coder_metadata_generator.cpp" /Femetadata_generator metadata_generator -R "%code_home%" "%cd%\\%preproc_file%" -cl /I"%code_home%" %opts% %debug% %src% /Fecustom_4coder %build_dll% %exports% +call cl /I"%code_home%" %opts% %debug% %src% /Fecustom_4coder %build_dll% %exports% REM file spammation preventation del metadata_generator* diff --git a/custom_4coder.dll b/custom_4coder.dll new file mode 100644 index 0000000000000000000000000000000000000000..588836be10fd975e693745adc76abf95ca992727 GIT binary patch literal 669696 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%0DJjY>ky3Z8#T9)-Z$HQJKL{1Ao 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 ZACMtCKbz4#fs0)M-{imk_kXno{u`<3oy-6L literal 0 HcmV?d00001 diff --git a/meta/4ed_build.cpp b/meta/4ed_build.cpp index 6673f512..33f43f95 100644 --- a/meta/4ed_build.cpp +++ b/meta/4ed_build.cpp @@ -271,7 +271,7 @@ build(Partition *part, u32 flags, u32 arch, char *code_path, char **code_files, fm_add_to_line(line, "-Fe%s", out_file); - fm_add_to_line(line, "-link -INCREMENTAL:NO"); + fm_add_to_line(line, "-link -INCREMENTAL:NO -RELEASE -PDBALTPATH:%%_PDB%%"); switch (arch){ case Arch_X64: fm_add_to_line(line, "-MACHINE:X64"); break; case Arch_X86: fm_add_to_line(line, "-MACHINE:X86"); break; diff --git a/opengl/4ed_opengl_render.cpp b/opengl/4ed_opengl_render.cpp index ad93fdb2..eff1aa15 100644 --- a/opengl/4ed_opengl_render.cpp +++ b/opengl/4ed_opengl_render.cpp @@ -69,9 +69,9 @@ interpret_render_buffer(Render_Target *t, Partition *growable_scratch){ void CALL_CONVENTION gl_dbg(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char *message, const void *userParam); - glDebugMessageCallback_type *glDebugMessageCallback = + glDebugMessageCallback_type *glDebugMessageCallback = (glDebugMessageCallback_type *)win32_load_gl_always("glDebugMessageCallback", module); - glDebugMessageControl_type *glDebugMessageControl = + glDebugMessageControl_type *glDebugMessageControl = (glDebugMessageControl_type *)win32_load_gl_always("glDebugMessageControl", module); if(glDebugMessageCallback != 0 && glDebugMessageControl != 0) { @@ -192,10 +192,19 @@ interpret_render_buffer(Render_Target *t, Partition *growable_scratch){ f32 y = glyph->pos.y; f32_Rect xy = {}; - xy.x0 = x + bounds.xoff; - xy.y0 = y + bounds.yoff; - xy.x1 = x + bounds.xoff2; - xy.y1 = y + bounds.yoff2; + + if (glyph->flags & GlyphFlag_Rotate90){ + xy.x0 = x + bounds.xoff; + xy.y0 = y + bounds.yoff; + xy.x1 = x + bounds.xoff2; + xy.y1 = y + bounds.yoff2; + } + else{ + xy.x0 = x + bounds.yoff; + xy.y0 = y + bounds.xoff; + xy.x1 = x + bounds.yoff2; + xy.y1 = y + bounds.xoff2; + } // TODO(allen): Why aren't these baked in??? f32 unit_u = 1.f/tex_width; diff --git a/platform_win32/win32_4ed.cpp b/platform_win32/win32_4ed.cpp index 614e9e82..8e98c9bd 100644 --- a/platform_win32/win32_4ed.cpp +++ b/platform_win32/win32_4ed.cpp @@ -396,10 +396,8 @@ global_const u32 file_track_flags = 0 |FILE_NOTIFY_CHANGE_LAST_WRITE |FILE_NOTIFY_CHANGE_CREATION |FILE_NOTIFY_CHANGE_SECURITY -|FILE_NOTIFY_CHANGE_LAST_ACCESS ; - //////////////////////////////// internal CString_Ptr_Table