2017-01-23 06:19:43 +00:00
|
|
|
/*
|
2017-04-15 21:47:23 +00:00
|
|
|
4coder_default_framework.cpp - Sets up the basics of the framework that is used for default 4coder behaviour.
|
2017-01-23 06:19:43 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
// TOP
|
|
|
|
|
|
|
|
#if !defined(FCODER_DEFAULT_FRAMEWORK_H)
|
|
|
|
#define FCODER_DEFAULT_FRAMEWORK_H
|
|
|
|
|
2017-01-29 00:03:23 +00:00
|
|
|
enum Default_Maps{
|
|
|
|
default_code_map,
|
2018-08-04 02:41:38 +00:00
|
|
|
default_lister_ui_map,
|
2018-05-07 02:47:22 +00:00
|
|
|
default_maps_count,
|
2017-01-29 00:03:23 +00:00
|
|
|
};
|
2017-01-23 06:19:43 +00:00
|
|
|
|
2018-05-09 07:10:07 +00:00
|
|
|
////////////////////////////////
|
2017-01-23 06:19:43 +00:00
|
|
|
|
|
|
|
enum Rewrite_Type{
|
|
|
|
RewriteNone,
|
|
|
|
RewritePaste,
|
|
|
|
RewriteWordComplete
|
|
|
|
};
|
|
|
|
|
2018-05-09 07:10:07 +00:00
|
|
|
////////////////////////////////
|
2017-01-29 00:03:23 +00:00
|
|
|
|
2018-08-12 03:45:09 +00:00
|
|
|
struct ID_Line_Column_Jump_Location{
|
|
|
|
Buffer_ID buffer_id;
|
2019-02-26 23:17:53 +00:00
|
|
|
i32 line;
|
|
|
|
i32 column;
|
2017-04-15 21:47:23 +00:00
|
|
|
};
|
2018-08-12 03:45:09 +00:00
|
|
|
typedef ID_Line_Column_Jump_Location ID_Based_Jump_Location;
|
|
|
|
|
|
|
|
struct ID_Pos_Jump_Location{
|
|
|
|
Buffer_ID buffer_id;
|
2019-02-26 23:17:53 +00:00
|
|
|
i32 pos;
|
2018-08-12 03:45:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Name_Line_Column_Location{
|
2019-06-01 23:58:28 +00:00
|
|
|
String_Const_u8 file;
|
2019-02-26 23:17:53 +00:00
|
|
|
i32 line;
|
|
|
|
i32 column;
|
2018-08-12 03:45:09 +00:00
|
|
|
};
|
|
|
|
|
2019-04-01 03:50:37 +00:00
|
|
|
struct Parsed_Jump{
|
|
|
|
b32 success;
|
|
|
|
Name_Line_Column_Location location;
|
|
|
|
i32 colon_position;
|
|
|
|
b32 is_sub_jump;
|
|
|
|
b32 sub_jump_indented;
|
|
|
|
b32 sub_jump_note;
|
|
|
|
b32 is_ms_style;
|
|
|
|
b32 has_rust_arrow;
|
|
|
|
};
|
|
|
|
|
2018-08-12 03:45:09 +00:00
|
|
|
struct ID_Pos_Jump_Location_Array{
|
|
|
|
struct ID_Pos_Jump_Location *jumps;
|
2019-02-26 23:17:53 +00:00
|
|
|
i32 count;
|
2018-08-12 03:45:09 +00:00
|
|
|
};
|
2017-01-29 00:03:23 +00:00
|
|
|
|
2018-05-09 07:10:07 +00:00
|
|
|
////////////////////////////////
|
2017-01-29 00:03:23 +00:00
|
|
|
|
2017-11-08 18:24:30 +00:00
|
|
|
struct Named_Mapping{
|
2019-06-01 23:58:28 +00:00
|
|
|
String_Const_u8 name;
|
2017-11-08 18:24:30 +00:00
|
|
|
Custom_Command_Function *remap_command;
|
|
|
|
};
|
|
|
|
|
2018-08-05 07:09:18 +00:00
|
|
|
////////////////////////////////
|
|
|
|
|
2019-08-16 02:53:11 +00:00
|
|
|
typedef void View_Render_Hook(Application_Links *app, View_ID view, Frame_Info frame_info, Rect_f32 inner);
|
|
|
|
|
|
|
|
////////////////////////////////
|
|
|
|
|
2018-08-05 07:09:18 +00:00
|
|
|
static void
|
2019-04-06 19:40:36 +00:00
|
|
|
do_gui_sure_to_kill(Application_Links *app, Buffer_ID buffer, View_ID view);
|
2018-08-05 07:09:18 +00:00
|
|
|
|
|
|
|
static void
|
2019-04-06 19:40:36 +00:00
|
|
|
do_gui_sure_to_close_4coder(Application_Links *app, View_ID view);
|
2018-08-05 07:09:18 +00:00
|
|
|
|
2017-01-23 06:19:43 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// BOTTOM
|
|
|
|
|