// Command exectuion void Exec_Command(Application_Links *app, int command_id); int Exec_System_Command(Application_Links *app, View_Summary *view, Buffer_Identifier buffer, char *path, int path_len, char *command, int command_len, unsigned int flags); // File system navigation int Directory_Get_Hot(Application_Links *app, char *out, int capacity); int Get_4ed_Path(Application_Links *app, char *out, int capacity); int File_Exists(Application_Links *app, char *filename, int len); int Directory_CD(Application_Links *app, char *dir, int *len, int capacity, char *rel_path, int rel_len); File_List Get_File_List(Application_Links *app, char *dir, int len); void Free_File_List(Application_Links *app, File_List list); // Direct buffer manipulation Buffer_Summary Get_Buffer_First(Application_Links *app); void Get_Buffer_Next(Application_Links *app, Buffer_Summary *buffer); Buffer_Summary Get_Buffer(Application_Links *app, int index); Buffer_Summary Get_Parameter_Buffer(Application_Links *app, int param_index); Buffer_Summary Get_Buffer_By_Name(Application_Links *app, char *filename, int len); int Refresh_Buffer(Application_Links *app, Buffer_Summary *buffer); int Buffer_Read_Range(Application_Links *app, Buffer_Summary *buffer, int start, int end, char *out); int Buffer_Replace_Range(Application_Links *app, Buffer_Summary *buffer, int start, int end, char *str, int len); //int Buffer_Set_Pos(Application_Links *app, Buffer_Summary *buffer, int pos); int Buffer_Seek(Application_Links *app, Buffer_Summary *buffer, int start_pos, int seek_forward, unsigned int flags); int Buffer_Set_Setting(Application_Links *app, Buffer_Summary *buffer, int setting, int value); int Buffer_Save(Application_Links *app, Buffer_Summary *buffer, char *filename, int filename_len); // View manipulation View_Summary Get_View_First(Application_Links *app); void Get_View_Next(Application_Links *app, View_Summary *view); View_Summary Get_View(Application_Links *app, int index); View_Summary Get_Active_View(Application_Links *app); int Refresh_View(Application_Links *app, View_Summary *view); int View_Auto_Tab(Application_Links *app, View_Summary *view, int start, int end, int tab_width, unsigned int flags); Full_Cursor View_Compute_Cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek); int View_Set_Cursor(Application_Links *app, View_Summary *view, Buffer_Seek seek, int set_preferred_x); int View_Set_Mark(Application_Links *app, View_Summary *view, Buffer_Seek seek); int View_Set_Highlight(Application_Links *app, View_Summary *view, int start, int end, int turn_on); int View_Set_Buffer(Application_Links *app, View_Summary *view, int buffer_id); // TODO(allen): Make sure this is just right. int View_Open_File(Application_Links *app, View_Summary *view, char *filename, int filename_len, int do_in_background); int View_Kill_Buffer(Application_Links *app, View_Summary *view, Buffer_Identifier buffer); // Directly get user input User_Input Get_User_Input(Application_Links *app, unsigned int get_type, unsigned int abort_type); User_Input Get_Command_Input(Application_Links *app); Event_Message Get_Event_Message(Application_Links *app); Mouse_State Get_Mouse_State(Application_Links *app); // Queries and information display int Start_Query_Bar(Application_Links *app, Query_Bar *bar, unsigned int flags); void End_Query_Bar(Application_Links *app, Query_Bar *bar, unsigned int flags); void Print_Message(Application_Links *app, char *string, int len); //GUI_Functions* Get_GUI_Functions(Application_Links *app); //GUI* Get_GUI(Application_Links *app, int view_id); // Color settings void Change_Theme(Application_Links *app, char *name, int len); void Change_Font(Application_Links *app, char *name, int len); void Set_Theme_Colors(Application_Links *app, Theme_Color *colors, int count);