diff --git a/4ed_api_definition.cpp b/4ed_api_definition.cpp index 9ff595c0..bb5f7df3 100644 --- a/4ed_api_definition.cpp +++ b/4ed_api_definition.cpp @@ -17,8 +17,7 @@ begin_api(Arena *arena, char *name){ } function API_Call* -api_call_with_location(Arena *arena, API_Definition *api, String_Const_u8 name, String_Const_u8 type, - String_Const_u8 location){ +api_call_with_location(Arena *arena, API_Definition *api, String_Const_u8 name, String_Const_u8 type, String_Const_u8 location){ API_Call *call = push_array_zero(arena, API_Call, 1); sll_queue_push(api->first, api->last, call); api->count += 1; @@ -301,6 +300,45 @@ generate_cpp(Arena *scratch, API_Definition *api, API_Generation_Flag flags, FIL fprintf(out, "#endif\n"); } +function void +generate_constructor(Arena *scratch, API_Definition *api, API_Generation_Flag flags, FILE *out){ + fprintf(out, "function API_Definition*\n"); + fprintf(out, "%.*s_api_construct(Arena *arena){\n", + string_expand(api->name)); + fprintf(out, "API_Definition *result = begin_api(arena, \"%.*s\");\n", + string_expand(api->name)); + + for (API_Call *call = api->first; + call != 0; + call = call->next){ + fprintf(out, "{\n"); + fprintf(out, "API_Call *call = api_call_with_location(arena, result, " + "string_u8_litexpr(\"%.*s\"), " + "string_u8_litexpr(\"%.*s\"), " + "string_u8_litexpr(\"\"));\n", + string_expand(call->name), + string_expand(call->return_type)); + + if (call->params.count == 0){ + fprintf(out, "(void)call;\n"); + } + else{ + for (API_Param *param = call->params.first; + param != 0; + param = param->next){ + fprintf(out, "api_param(arena, call, \"%.*s\", \"%.*s\");\n", + string_expand(param->type_name), + string_expand(param->name)); + } + } + + fprintf(out, "}\n"); + } + + fprintf(out, "return(result);\n"); + fprintf(out, "}\n"); +} + //////////////////////////////// function b32 @@ -313,6 +351,7 @@ api_definition_generate_api_includes(Arena *arena, API_Definition *api, Generate String_Const_u8 fname_ml = {}; String_Const_u8 fname_h = {}; String_Const_u8 fname_cpp = {}; + String_Const_u8 fname_con = {}; String_Const_u8 root = {}; switch (group){ @@ -341,6 +380,11 @@ api_definition_generate_api_includes(Arena *arena, API_Definition *api, Generate string_expand(root), string_expand(api->name)); + fname_con = push_u8_stringf(arena, "%.*s%.*s%.*s_api_constructor.cpp", + string_expand(path_to_self), + string_expand(root), + string_expand(api->name)); + FILE *out_file_ml = fopen((char*)fname_ml.str, "wb"); if (out_file_ml == 0){ printf("could not open output file: '%s'\n", fname_ml.str); @@ -359,9 +403,16 @@ api_definition_generate_api_includes(Arena *arena, API_Definition *api, Generate return(false); } + FILE *out_file_con = fopen((char*)fname_con.str, "wb"); + if (out_file_cpp == 0){ + printf("could not open output file: '%s'\n", fname_con.str); + return(false); + } + printf("%s:1:\n", fname_ml.str); printf("%s:1:\n", fname_h.str); printf("%s:1:\n", fname_cpp.str); + printf("%s:1:\n", fname_con.str); //////////////////////////////// @@ -370,6 +421,7 @@ api_definition_generate_api_includes(Arena *arena, API_Definition *api, Generate generate_api_master_list(arena, api, flags, out_file_ml); generate_header(arena, api, flags, out_file_h); generate_cpp(arena, api, flags, out_file_cpp); + generate_constructor(arena, api, flags, out_file_con); //////////////////////////////// diff --git a/4ed_api_implementation.cpp b/4ed_api_implementation.cpp index c2894a31..39360a12 100644 --- a/4ed_api_implementation.cpp +++ b/4ed_api_implementation.cpp @@ -3071,9 +3071,7 @@ get_core_profile_list(Application_Links *app){ api(custom) function Doc_Cluster* get_custom_layer_boundary_docs(Application_Links *app, Arena *arena){ - // TODO(allen): Need to be able to get the API_Definition of the custom - // layer boundary here. - API_Definition *api_def = 0; + API_Definition *api_def = custom_api_construct(arena); return(doc_custom_api(arena, api_def)); } diff --git a/4ed_app_target.cpp b/4ed_app_target.cpp index 463b38e8..96fa189f 100644 --- a/4ed_app_target.cpp +++ b/4ed_app_target.cpp @@ -16,6 +16,7 @@ #include "4coder_table.h" #include "4coder_events.h" #include "4coder_types.h" +#include "4coder_doc_content_types.h" #include "4coder_default_colors.h" #define STATIC_LINK_API #include "generated/custom_api.h" @@ -60,7 +61,6 @@ #include "generated/lexer_cpp.h" #include "4ed_api_definition.h" -#include "4coder_doc_content_types.h" #include "docs/4ed_doc_helper.h" //////////////////////////////// @@ -94,6 +94,7 @@ #include "generated/lexer_cpp.cpp" #include "4ed_api_definition.cpp" +#include "generated/custom_api_constructor.cpp" #include "4ed_api_parser.cpp" #include "docs/4ed_doc_content_types.cpp" #include "docs/4ed_doc_custom_api.cpp" diff --git a/4ed_system_api.cpp b/4ed_system_api.cpp index 9cd6e599..3293ae82 100644 --- a/4ed_system_api.cpp +++ b/4ed_system_api.cpp @@ -89,11 +89,11 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "now_time", "u64"); + api_call(arena, api, "now_time", "u64"); } { - API_Call *call = api_call(arena, api, "wake_up_timer_create", "Plat_Handle"); + api_call(arena, api, "wake_up_timer_create", "Plat_Handle"); } { @@ -154,7 +154,7 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "get_screen_scale_factor", "f32"); + api_call(arena, api, "get_screen_scale_factor", "f32"); } { @@ -174,7 +174,7 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "thread_get_id", "i32"); +api_call(arena, api, "thread_get_id", "i32"); } { @@ -188,7 +188,7 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "mutex_make", "System_Mutex"); +api_call(arena, api, "mutex_make", "System_Mutex"); } { @@ -207,7 +207,7 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "condition_variable_make", +api_call(arena, api, "condition_variable_make", "System_Condition_Variable"); } @@ -262,7 +262,7 @@ define_api(Arena *arena){ } { - API_Call *call = api_call(arena, api, "is_fullscreen", "b32"); +api_call(arena, api, "is_fullscreen", "b32"); } { diff --git a/custom/4coder_combined_write_commands.cpp b/custom/4coder_combined_write_commands.cpp index 5b95af14..b86117af 100644 --- a/custom/4coder_combined_write_commands.cpp +++ b/custom/4coder_combined_write_commands.cpp @@ -234,7 +234,7 @@ get_snippet_from_user(Application_Links *app, Snippet *snippets, i32 snippet_cou return(get_snippet_from_user(app, snippets, snippet_count, SCu8(query))); } -CUSTOM_COMMAND_SIG(snippet_lister) +CUSTOM_UI_COMMAND_SIG(snippet_lister) CUSTOM_DOC("Opens a snippet lister for inserting whole pre-written snippets of text.") { View_ID view = get_this_ctx_view(app, Access_ReadWrite); diff --git a/custom/4coder_default_include.cpp b/custom/4coder_default_include.cpp index f7cd09a0..626815ba 100644 --- a/custom/4coder_default_include.cpp +++ b/custom/4coder_default_include.cpp @@ -12,6 +12,7 @@ #include "4coder_table.h" #include "4coder_events.h" #include "4coder_types.h" +#include "4coder_doc_content_types.h" #include "4coder_default_colors.h" #define DYNAMIC_LINK_API #include "generated/custom_api.h" @@ -109,6 +110,7 @@ #include "4coder_miblo_numbers.cpp" #include "4coder_profile_inspect.cpp" #include "4coder_tutorial.cpp" +#include "4coder_docs.cpp" #include "4coder_default_hooks.cpp" diff --git a/custom/4coder_docs.cpp b/custom/4coder_docs.cpp index fd0cbc1f..0368f41e 100644 --- a/custom/4coder_docs.cpp +++ b/custom/4coder_docs.cpp @@ -4,7 +4,188 @@ // TOP +function Doc_Page* +get_doc_page_from_user(Application_Links *app, Doc_Cluster *doc, String_Const_u8 query){ + Scratch_Block scratch(app, Scratch_Share); + Lister *lister = begin_lister(app, scratch); + lister_set_query(lister, query); + lister->handlers = lister_get_default_handlers(); + + for (Doc_Page *page = doc->first_page; + page != 0; + page = page->next){ + lister_add_item(lister, page->name, SCu8(""), page, 0); + } + Lister_Result l_result = run_lister(app, lister); + Doc_Page *result = 0; + if (!l_result.canceled){ + result = (Doc_Page*)l_result.user_data; + } + return(result); +} +function Doc_Page* +get_doc_page_from_user(Application_Links *app, Doc_Cluster *doc, char *query){ + return(get_doc_page_from_user(app, doc, SCu8(query))); +} + +function void +render_doc_page__content(Application_Links *app, Buffer_Insertion *insert, Doc_Content_List *list){ + for (Doc_Content *content = list->first; + content != 0; + content = content->next){ + // TODO(allen): actually implement links + + if (content->emphasis == DocContentEmphasis_SmallHeader){ + insertf(insert, "\n"); + } + if (content->emphasis == DocContentEmphasis_Heavy){ + insertf(insert, "_"); + } + if (content->emphasis == DocContentEmphasis_Stylish){ + insertf(insert, "*"); + } + + insertf(insert, "%.*s", string_expand(content->text)); + if (content->page_link.size > 0){ + insertf(insert, " (link page %.*s)", string_expand(content->page_link)); + } + else if (content->block_link.size > 0){ + insertf(insert, " (link block %.*s)", string_expand(content->block_link)); + } + + if (content->emphasis == DocContentEmphasis_Heavy){ + insertf(insert, "_"); + } + if (content->emphasis == DocContentEmphasis_Stylish){ + insertf(insert, "*"); + } + if (content->emphasis == DocContentEmphasis_SmallHeader){ + insertf(insert, "\n"); + } + else{ + if (content->next != 0){ + insertf(insert, " "); + } + } + } +} + +function void +render_doc_page__code(Application_Links *app, Buffer_Insertion *insert, Doc_Code_Sample_List *code){ + for (Doc_Code_Sample *sample = code->first; + sample != 0; + sample = sample->next){ + insertf(insert, "language: "); + switch (sample->language){ + case DocCodeLanguage_Cpp: + { + insertf(insert, "C++\n"); + }break; + case DocCodeLanguage_Bat: + { + insertf(insert, "Batch\n\n"); + }break; + } + insertf(insert, "\n%.*s\n", string_expand(sample->contents)); + } +} + +function void +render_doc_page__table(Application_Links *app, Buffer_Insertion *insert, Vec2_i32 dim, Doc_Content_List *vals){ + // TODO(allen): align better or something + Doc_Content_List *val = vals; + for (i32 y = 0; y < dim.y; y += 1){ + for (i32 x = 0; x < dim.x; x += 1){ + render_doc_page__content(app, insert, val); + insertf(insert, "; "); + val += 1; + } + insertf(insert, "\n"); + } +} + +function Buffer_ID +render_doc_page(Application_Links *app, Doc_Page *page){ + Scratch_Block scratch(app); + + String_Const_u8 doc_buffer_name = push_u8_stringf(scratch, "*doc: %.*s*", + string_expand(page->name)); + + Buffer_Create_Flag flags = BufferCreate_NeverAttachToFile; + Buffer_ID buffer = create_buffer(app, doc_buffer_name, flags); + if (buffer != 0){ + buffer_set_setting(app, buffer, BufferSetting_RecordsHistory, false); + buffer_set_setting(app, buffer, BufferSetting_ReadOnly, true); + buffer_set_setting(app, buffer, BufferSetting_Unimportant, true); + + i64 size = buffer_get_size(app, buffer); + if (size != 0){ + buffer_replace_range(app, buffer, Ii64(0, size), SCu8("")); + } + Buffer_Insertion insert = begin_buffer_insertion_at_buffered(app, buffer, 0, scratch, KB(16)); + + char dashes[] = + "----------------------------------------------------------------" + "----------------------------------------------------------------" + "----------------------------------------------------------------" + "----------------------------------------------------------------"; + + insertf(&insert, "%.*s\n%.*s\n", + string_expand(page->title), + page->title.size, dashes); + + for (Doc_Block *block = page->first_block; + block != 0; + block = block->next){ + insertf(&insert, "%.*s\n\n", string_expand(block->name)); + + for (Doc_Paragraph *par = block->first_par; + par != 0; + par = par->next){ + switch (par->kind){ + case DocParagraphKind_Text: + { + render_doc_page__content(app, &insert, &par->text); + }break; + + case DocParagraphKind_Code: + { + render_doc_page__code(app, &insert, &par->code); + }break; + + case DocParagraphKind_Table: + { + render_doc_page__table(app, &insert, par->table.dim, par->table.vals); + }break; + } + + insert_string(&insert, string_u8_litexpr("\n")); + } + + insertf(&insert, "%.*s\n", page->title.size, dashes); + } + + end_buffer_insertion(&insert); + } + + return(buffer); +} + +CUSTOM_UI_COMMAND_SIG(open_documentation) +CUSTOM_DOC("Prompts the user to select an API item then loads a doc buffer for that item") +{ + View_ID view = get_this_ctx_view(app, Access_ReadWrite); + if (view != 0){ + Scratch_Block scratch(app); + Doc_Cluster *docs = get_custom_layer_boundary_docs(app, scratch); + Doc_Page *page = get_doc_page_from_user(app, docs, "Doc Page:"); + String_Const_u8 string = push_u8_stringf(scratch, "selected page: %.*s\n", + string_expand(page->title)); + Buffer_ID buffer = render_doc_page(app, page); + view_set_buffer(app, view, buffer, 0); + } +} // BOTTOM diff --git a/custom/4coder_insertion.cpp b/custom/4coder_insertion.cpp index 976be6e2..dd660868 100644 --- a/custom/4coder_insertion.cpp +++ b/custom/4coder_insertion.cpp @@ -4,7 +4,7 @@ // TOP -static Buffer_Insertion +function Buffer_Insertion begin_buffer_insertion_at(Application_Links *app, Buffer_ID buffer_id, i64 at){ Buffer_Insertion result = {}; result.app = app; @@ -13,7 +13,7 @@ begin_buffer_insertion_at(Application_Links *app, Buffer_ID buffer_id, i64 at){ return(result); } -static Buffer_Insertion +function Buffer_Insertion begin_buffer_insertion_at_buffered(Application_Links *app, Buffer_ID buffer_id, i64 at, Cursor *cursor){ Buffer_Insertion result = begin_buffer_insertion_at(app, buffer_id, at); result.buffering = true; @@ -22,14 +22,14 @@ begin_buffer_insertion_at_buffered(Application_Links *app, Buffer_ID buffer_id, return(result); } -internal Buffer_Insertion +function Buffer_Insertion begin_buffer_insertion_at_buffered(Application_Links *app, Buffer_ID buffer_id, i64 at, Arena *buffer_memory, umem buffer_memory_size){ Cursor *cursor = push_array(buffer_memory, Cursor, 1); *cursor = make_cursor(push_array(buffer_memory, u8, buffer_memory_size), buffer_memory_size); return(begin_buffer_insertion_at_buffered(app, buffer_id, at, cursor)); } -static Buffer_Insertion +function Buffer_Insertion begin_buffer_insertion(Application_Links *app){ View_ID view = get_active_view(app, Access_Always); Buffer_ID buffer = view_get_buffer(app, view, Access_Always); @@ -38,7 +38,7 @@ begin_buffer_insertion(Application_Links *app){ return(result); } -static void +function void insert_string__no_buffering(Buffer_Insertion *insertion, String_Const_u8 string){ buffer_replace_range(insertion->app, insertion->buffer, Ii64(insertion->at), string); insertion->at += string.size; diff --git a/custom/generated/command_metadata.h b/custom/generated/command_metadata.h index 4b9e5da1..b525b561 100644 --- a/custom/generated/command_metadata.h +++ b/custom/generated/command_metadata.h @@ -2,7 +2,7 @@ #define command_id(c) (fcoder_metacmd_ID_##c) #define command_metadata(c) (&fcoder_metacmd_table[command_id(c)]) #define command_metadata_by_id(id) (&fcoder_metacmd_table[id]) -#define command_one_past_last_id 226 +#define command_one_past_last_id 227 #if defined(CUSTOM_COMMAND_SIG) #define PROC_LINKS(x,y) x #else @@ -233,6 +233,7 @@ CUSTOM_COMMAND_SIG(kill_tutorial); CUSTOM_COMMAND_SIG(tutorial_maximize); CUSTOM_COMMAND_SIG(tutorial_minimize); CUSTOM_COMMAND_SIG(hms_demo_tutorial); +CUSTOM_COMMAND_SIG(open_documentation); CUSTOM_COMMAND_SIG(default_startup); CUSTOM_COMMAND_SIG(default_try_exit); #endif @@ -247,7 +248,7 @@ char *source_name; i32 source_name_len; i32 line_number; }; -static Command_Metadata fcoder_metacmd_table[226] = { +static Command_Metadata fcoder_metacmd_table[227] = { { PROC_LINKS(default_view_input_handler, 0), false, "default_view_input_handler", 26, "Input consumption loop for default view behavior", 48, "w:\\4ed\\code\\custom\\4coder_default_hooks.cpp", 43, 56 }, { PROC_LINKS(profile_enable, 0), false, "profile_enable", 14, "Allow 4coder's self profiler to gather new profiling information.", 65, "w:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 212 }, { PROC_LINKS(profile_disable, 0), false, "profile_disable", 15, "Prevent 4coder's self profiler from gathering new profiling information.", 72, "w:\\4ed\\code\\custom\\4coder_profile.cpp", 37, 219 }, @@ -460,7 +461,7 @@ static Command_Metadata fcoder_metacmd_table[226] = { { PROC_LINKS(comment_line, 0), false, "comment_line", 12, "Insert '//' at the beginning of the line after leading whitespace.", 66, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 125 }, { PROC_LINKS(uncomment_line, 0), false, "uncomment_line", 14, "If present, delete '//' at the beginning of the line after leading whitespace.", 78, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 137 }, { PROC_LINKS(comment_line_toggle, 0), false, "comment_line_toggle", 19, "Turns uncommented lines into commented lines and vice versa for comments starting with '//'.", 92, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 149 }, -{ PROC_LINKS(snippet_lister, 0), false, "snippet_lister", 14, "Opens a snippet lister for inserting whole pre-written snippets of text.", 72, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 237 }, +{ PROC_LINKS(snippet_lister, 0), true, "snippet_lister", 14, "Opens a snippet lister for inserting whole pre-written snippets of text.", 72, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 237 }, { PROC_LINKS(miblo_increment_basic, 0), false, "miblo_increment_basic", 21, "Increment an integer under the cursor by one.", 45, "w:\\4ed\\code\\custom\\4coder_miblo_numbers.cpp", 43, 29 }, { PROC_LINKS(miblo_decrement_basic, 0), false, "miblo_decrement_basic", 21, "Decrement an integer under the cursor by one.", 45, "w:\\4ed\\code\\custom\\4coder_miblo_numbers.cpp", 43, 44 }, { PROC_LINKS(miblo_increment_time_stamp, 0), false, "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\\custom\\4coder_miblo_numbers.cpp", 43, 231 }, @@ -472,6 +473,7 @@ static Command_Metadata fcoder_metacmd_table[226] = { { PROC_LINKS(tutorial_maximize, 0), false, "tutorial_maximize", 17, "Expand the tutorial window", 26, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 20 }, { PROC_LINKS(tutorial_minimize, 0), false, "tutorial_minimize", 17, "Shrink the tutorial window", 26, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 34 }, { PROC_LINKS(hms_demo_tutorial, 0), false, "hms_demo_tutorial", 17, "Tutorial for built in 4coder bindings and features.", 51, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 869 }, +{ PROC_LINKS(open_documentation, 0), true, "open_documentation", 18, "Prompts the user to select an API item then loads a doc buffer for that item", 76, "w:\\4ed\\code\\custom\\4coder_docs.cpp", 34, 175 }, { PROC_LINKS(default_startup, 0), false, "default_startup", 15, "Default command for responding to a startup event", 49, "w:\\4ed\\code\\custom\\4coder_default_hooks.cpp", 43, 7 }, { PROC_LINKS(default_try_exit, 0), false, "default_try_exit", 16, "Default command for responding to a try-exit event", 50, "w:\\4ed\\code\\custom\\4coder_default_hooks.cpp", 43, 22 }, }; @@ -699,6 +701,7 @@ static i32 fcoder_metacmd_ID_kill_tutorial = 220; static i32 fcoder_metacmd_ID_tutorial_maximize = 221; static i32 fcoder_metacmd_ID_tutorial_minimize = 222; static i32 fcoder_metacmd_ID_hms_demo_tutorial = 223; -static i32 fcoder_metacmd_ID_default_startup = 224; -static i32 fcoder_metacmd_ID_default_try_exit = 225; +static i32 fcoder_metacmd_ID_open_documentation = 224; +static i32 fcoder_metacmd_ID_default_startup = 225; +static i32 fcoder_metacmd_ID_default_try_exit = 226; #endif diff --git a/custom/generated/custom_api.cpp b/custom/generated/custom_api.cpp index 47e0105b..0a839ac5 100644 --- a/custom/generated/custom_api.cpp +++ b/custom/generated/custom_api.cpp @@ -173,6 +173,7 @@ vtable->open_color_picker = open_color_picker; vtable->animate_in_n_milliseconds = animate_in_n_milliseconds; vtable->buffer_find_all_matches = buffer_find_all_matches; vtable->get_core_profile_list = get_core_profile_list; +vtable->get_custom_layer_boundary_docs = get_custom_layer_boundary_docs; } #if defined(DYNAMIC_LINK_API) function void @@ -350,6 +351,7 @@ open_color_picker = vtable->open_color_picker; animate_in_n_milliseconds = vtable->animate_in_n_milliseconds; buffer_find_all_matches = vtable->buffer_find_all_matches; get_core_profile_list = vtable->get_core_profile_list; +get_custom_layer_boundary_docs = vtable->get_custom_layer_boundary_docs; } #undef DYNAMIC_LINK_API #endif diff --git a/custom/generated/custom_api.h b/custom/generated/custom_api.h index b691475b..df943b2a 100644 --- a/custom/generated/custom_api.h +++ b/custom/generated/custom_api.h @@ -171,6 +171,7 @@ #define custom_animate_in_n_milliseconds_sig() void custom_animate_in_n_milliseconds(Application_Links* app, u32 n) #define custom_buffer_find_all_matches_sig() String_Match_List custom_buffer_find_all_matches(Application_Links* app, Arena* arena, Buffer_ID buffer, i32 string_id, Range_i64 range, String_Const_u8 needle, Character_Predicate* predicate, Scan_Direction direction) #define custom_get_core_profile_list_sig() Profile_Global_List* custom_get_core_profile_list(Application_Links* app) +#define custom_get_custom_layer_boundary_docs_sig() Doc_Cluster* custom_get_custom_layer_boundary_docs(Application_Links* app, Arena* arena) typedef b32 custom_global_set_setting_type(Application_Links* app, Global_Setting_ID setting, i64 value); typedef Rect_f32 custom_global_get_screen_rectangle_type(Application_Links* app); typedef Thread_Context* custom_get_thread_context_type(Application_Links* app); @@ -344,6 +345,7 @@ typedef void custom_open_color_picker_type(Application_Links* app, Color_Picker* typedef void custom_animate_in_n_milliseconds_type(Application_Links* app, u32 n); typedef String_Match_List custom_buffer_find_all_matches_type(Application_Links* app, Arena* arena, Buffer_ID buffer, i32 string_id, Range_i64 range, String_Const_u8 needle, Character_Predicate* predicate, Scan_Direction direction); typedef Profile_Global_List* custom_get_core_profile_list_type(Application_Links* app); +typedef Doc_Cluster* custom_get_custom_layer_boundary_docs_type(Application_Links* app, Arena* arena); struct API_VTable_custom{ custom_global_set_setting_type *global_set_setting; custom_global_get_screen_rectangle_type *global_get_screen_rectangle; @@ -518,6 +520,7 @@ custom_open_color_picker_type *open_color_picker; custom_animate_in_n_milliseconds_type *animate_in_n_milliseconds; custom_buffer_find_all_matches_type *buffer_find_all_matches; custom_get_core_profile_list_type *get_core_profile_list; +custom_get_custom_layer_boundary_docs_type *get_custom_layer_boundary_docs; }; #if defined(STATIC_LINK_API) internal b32 global_set_setting(Application_Links* app, Global_Setting_ID setting, i64 value); @@ -693,6 +696,7 @@ internal void open_color_picker(Application_Links* app, Color_Picker* picker); internal void animate_in_n_milliseconds(Application_Links* app, u32 n); internal String_Match_List buffer_find_all_matches(Application_Links* app, Arena* arena, Buffer_ID buffer, i32 string_id, Range_i64 range, String_Const_u8 needle, Character_Predicate* predicate, Scan_Direction direction); internal Profile_Global_List* get_core_profile_list(Application_Links* app); +internal Doc_Cluster* get_custom_layer_boundary_docs(Application_Links* app, Arena* arena); #undef STATIC_LINK_API #elif defined(DYNAMIC_LINK_API) global custom_global_set_setting_type *global_set_setting = 0; @@ -868,5 +872,6 @@ global custom_open_color_picker_type *open_color_picker = 0; global custom_animate_in_n_milliseconds_type *animate_in_n_milliseconds = 0; global custom_buffer_find_all_matches_type *buffer_find_all_matches = 0; global custom_get_core_profile_list_type *get_core_profile_list = 0; +global custom_get_custom_layer_boundary_docs_type *get_custom_layer_boundary_docs = 0; #undef DYNAMIC_LINK_API #endif diff --git a/custom/generated/custom_api_constructor.cpp b/custom/generated/custom_api_constructor.cpp new file mode 100644 index 00000000..42960d1c --- /dev/null +++ b/custom/generated/custom_api_constructor.cpp @@ -0,0 +1,1017 @@ +function API_Definition* +custom_api_construct(Arena *arena){ +API_Definition *result = begin_api(arena, "custom"); +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("global_set_setting"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Global_Setting_ID", "setting"); +api_param(arena, call, "i64", "value"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("global_get_screen_rectangle"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_thread_context"), string_u8_litexpr("Thread_Context*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("create_child_process"), string_u8_litexpr("Child_Process_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "path"); +api_param(arena, call, "String_Const_u8", "command"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("child_process_set_target_buffer"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Child_Process_ID", "child_process_id"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Child_Process_Set_Target_Flags", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_attached_child_process"), string_u8_litexpr("Child_Process_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("child_process_get_attached_buffer"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Child_Process_ID", "child_process_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("child_process_get_state"), string_u8_litexpr("Process_State"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Child_Process_ID", "child_process_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("clipboard_post"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "i32", "clipboard_id"); +api_param(arena, call, "String_Const_u8", "string"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("clipboard_count"), string_u8_litexpr("i32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "i32", "clipboard_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("push_clipboard_index"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "i32", "clipboard_id"); +api_param(arena, call, "i32", "item_index"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("enqueue_virtual_event"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Input_Event*", "event"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_buffer_count"), string_u8_litexpr("i32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_buffer_next"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_buffer_by_name"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "name"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_buffer_by_file_name"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "file_name"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_read_range"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Range_i64", "range"); +api_param(arena, call, "u8*", "out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_replace_range"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Range_i64", "range"); +api_param(arena, call, "String_Const_u8", "string"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_batch_edit"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Batch_Edit*", "batch"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_seek_string"), string_u8_litexpr("String_Match"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer"); +api_param(arena, call, "String_Const_u8", "needle"); +api_param(arena, call, "Scan_Direction", "direction"); +api_param(arena, call, "i64", "start_pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_seek_character_class"), string_u8_litexpr("String_Match"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer"); +api_param(arena, call, "Character_Predicate*", "predicate"); +api_param(arena, call, "Scan_Direction", "direction"); +api_param(arena, call, "i64", "start_pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_line_y_difference"), string_u8_litexpr("f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "line_a"); +api_param(arena, call, "i64", "line_b"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_line_shift_y"), string_u8_litexpr("Line_Shift_Vertical"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "line"); +api_param(arena, call, "f32", "y_shift"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_pos_at_relative_xy"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "Vec2_f32", "relative_xy"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_relative_box_of_pos"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_relative_character_from_pos"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_pos_from_relative_character"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "f32", "width"); +api_param(arena, call, "Face_ID", "face_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "relative_character"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_line_y_difference"), string_u8_litexpr("f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "line_a"); +api_param(arena, call, "i64", "line_b"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_line_shift_y"), string_u8_litexpr("Line_Shift_Vertical"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "line"); +api_param(arena, call, "f32", "y_shift"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_pos_at_relative_xy"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "Vec2_f32", "relative_xy"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_relative_box_of_pos"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_relative_character_from_pos"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_pos_from_relative_character"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i64", "base_line"); +api_param(arena, call, "i64", "character"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_exists"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_access_flags"), string_u8_litexpr("Access_Flag"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_size"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_line_count"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("push_buffer_base_name"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("push_buffer_unique_name"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "out"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("push_buffer_file_name"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_dirty_state"), string_u8_litexpr("Dirty_State"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_set_dirty_state"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Dirty_State", "dirty_state"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_set_layout"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Layout_Function*", "layout_func"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_clear_layout_cache"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_layout"), string_u8_litexpr("Layout_Function*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_setting"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Buffer_Setting_ID", "setting"); +api_param(arena, call, "i64*", "value_out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_set_setting"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Buffer_Setting_ID", "setting"); +api_param(arena, call, "i64", "value"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_managed_scope"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_send_end_signal"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("create_buffer"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "file_name"); +api_param(arena, call, "Buffer_Create_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_save"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "String_Const_u8", "file_name"); +api_param(arena, call, "Buffer_Save_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_kill"), string_u8_litexpr("Buffer_Kill_Result"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Buffer_Kill_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_reopen"), string_u8_litexpr("Buffer_Reopen_Result"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Buffer_Reopen_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_get_file_attributes"), string_u8_litexpr("File_Attributes"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_view_next"), string_u8_litexpr("View_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_view_prev"), string_u8_litexpr("View_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_this_ctx_view"), string_u8_litexpr("View_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_active_view"), string_u8_litexpr("View_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_exists"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_buffer"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_cursor_pos"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_mark_pos"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_preferred_x"), string_u8_litexpr("f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_preferred_x"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "f32", "x"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_screen_rect"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_panel"), string_u8_litexpr("Panel_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_get_view"), string_u8_litexpr("View_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +api_param(arena, call, "Access_Flag", "access"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_is_split"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_is_leaf"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_split"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +api_param(arena, call, "Dimension", "split_dim"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_set_split"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +api_param(arena, call, "Panel_Split_Kind", "kind"); +api_param(arena, call, "f32", "t"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_swap_children"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_get_root"), string_u8_litexpr("Panel_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_get_parent"), string_u8_litexpr("Panel_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("panel_get_child"), string_u8_litexpr("Panel_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Panel_ID", "panel_id"); +api_param(arena, call, "Side", "which_child"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_close"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_buffer_region"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_buffer_scroll"), string_u8_litexpr("Buffer_Scroll"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_active"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_enqueue_command_function"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Custom_Command_Function*", "custom_func"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_setting"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "View_Setting_ID", "setting"); +api_param(arena, call, "i64*", "value_out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_setting"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "View_Setting_ID", "setting"); +api_param(arena, call, "i64", "value"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_get_managed_scope"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_compute_cursor"), string_u8_litexpr("Buffer_Cursor"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer"); +api_param(arena, call, "Buffer_Seek", "seek"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_compute_cursor"), string_u8_litexpr("Buffer_Cursor"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Buffer_Seek", "seek"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_cursor"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Buffer_Seek", "seek"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_buffer_scroll"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Buffer_Scroll", "scroll"); +api_param(arena, call, "Set_Buffer_Scroll_Rule", "rule"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_mark"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Buffer_Seek", "seek"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_quit_ui"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_set_buffer"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Set_Buffer_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_post_fade"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "f32", "seconds"); +api_param(arena, call, "Range_i64", "range"); +api_param(arena, call, "ARGB_Color", "color"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_push_context"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "View_Context*", "ctx"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_pop_context"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_alter_context"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "View_Context*", "ctx"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_current_context"), string_u8_litexpr("View_Context"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("view_current_context_hook_memory"), string_u8_litexpr("Data"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "Hook_ID", "hook_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("create_user_managed_scope"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("destroy_user_managed_scope"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_global_managed_scope"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_managed_scope_with_multiple_dependencies"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope*", "scopes"); +api_param(arena, call, "i32", "count"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_scope_clear_contents"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_scope_clear_self_all_dependent_scopes"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_scope_allocator"), string_u8_litexpr("Base_Allocator*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_id_group_highest_id"), string_u8_litexpr("u64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "group"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_id_declare"), string_u8_litexpr("Managed_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "group"); +api_param(arena, call, "String_Const_u8", "name"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_id_get"), string_u8_litexpr("Managed_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "group"); +api_param(arena, call, "String_Const_u8", "name"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_scope_get_attachment"), string_u8_litexpr("void*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +api_param(arena, call, "Managed_ID", "id"); +api_param(arena, call, "umem", "size"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_scope_attachment_erase"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +api_param(arena, call, "Managed_ID", "id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("alloc_managed_memory_in_scope"), string_u8_litexpr("Managed_Object"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Scope", "scope"); +api_param(arena, call, "i32", "item_size"); +api_param(arena, call, "i32", "count"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("alloc_buffer_markers_on_buffer"), string_u8_litexpr("Managed_Object"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "i32", "count"); +api_param(arena, call, "Managed_Scope*", "optional_extra_scope"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_get_item_size"), string_u8_litexpr("u32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_get_item_count"), string_u8_litexpr("u32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_get_pointer"), string_u8_litexpr("void*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_get_type"), string_u8_litexpr("Managed_Object_Type"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_get_containing_scope"), string_u8_litexpr("Managed_Scope"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_free"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_store_data"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +api_param(arena, call, "u32", "first_index"); +api_param(arena, call, "u32", "count"); +api_param(arena, call, "void*", "mem"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("managed_object_load_data"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Managed_Object", "object"); +api_param(arena, call, "u32", "first_index"); +api_param(arena, call, "u32", "count"); +api_param(arena, call, "void*", "mem_out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_next_input"), string_u8_litexpr("User_Input"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Event_Property", "get_properties"); +api_param(arena, call, "Event_Property", "abort_properties"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_current_input_sequence_number"), string_u8_litexpr("i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_current_input"), string_u8_litexpr("User_Input"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_current_input"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "User_Input*", "input"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("leave_current_input_unhandled"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_custom_hook"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Hook_ID", "hook_id"); +api_param(arena, call, "Void_Func*", "func_ptr"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_custom_hook_memory_size"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Hook_ID", "hook_id"); +api_param(arena, call, "umem", "size"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_mouse_state"), string_u8_litexpr("Mouse_State"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_active_query_bars"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +api_param(arena, call, "i32", "max_result_count"); +api_param(arena, call, "Query_Bar_Ptr_Array*", "array_out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("start_query_bar"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Query_Bar*", "bar"); +api_param(arena, call, "u32", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("end_query_bar"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Query_Bar*", "bar"); +api_param(arena, call, "u32", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("clear_all_query_bars"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "View_ID", "view_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("print_message"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "message"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("log_string"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "str"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_largest_face_id"), string_u8_litexpr("Face_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_global_face"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_get_max_record_index"), string_u8_litexpr("History_Record_Index"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_get_record_info"), string_u8_litexpr("Record_Info"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "History_Record_Index", "index"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_get_group_sub_record"), string_u8_litexpr("Record_Info"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "History_Record_Index", "index"); +api_param(arena, call, "i32", "sub_index"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_get_current_state_index"), string_u8_litexpr("History_Record_Index"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_set_current_state_index"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "History_Record_Index", "index"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_merge_record_range"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "History_Record_Index", "first_index"); +api_param(arena, call, "History_Record_Index", "last_index"); +api_param(arena, call, "Record_Merge_Flag", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_history_clear_after_current_state"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("global_history_edit_group_begin"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("global_history_edit_group_end"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_set_face"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Face_ID", "id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_face_description"), string_u8_litexpr("Face_Description"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "face_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_face_metrics"), string_u8_litexpr("Face_Metrics"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "face_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_face_advance_map"), string_u8_litexpr("Face_Advance_Map"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "face_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_face_id"), string_u8_litexpr("Face_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("try_create_new_face"), string_u8_litexpr("Face_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_Description*", "description"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("try_modify_face"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "id"); +api_param(arena, call, "Face_Description*", "description"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("try_release_face"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "id"); +api_param(arena, call, "Face_ID", "replacement_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("push_hot_directory"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_hot_directory"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "string"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("send_exit_signal"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_window_title"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "String_Const_u8", "title"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("draw_string_oriented"), string_u8_litexpr("Vec2_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "font_id"); +api_param(arena, call, "ARGB_Color", "color"); +api_param(arena, call, "String_Const_u8", "str"); +api_param(arena, call, "Vec2_f32", "point"); +api_param(arena, call, "u32", "flags"); +api_param(arena, call, "Vec2_f32", "delta"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_string_advance"), string_u8_litexpr("f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Face_ID", "font_id"); +api_param(arena, call, "String_Const_u8", "str"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("draw_rectangle"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Rect_f32", "rect"); +api_param(arena, call, "f32", "roundness"); +api_param(arena, call, "ARGB_Color", "color"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("draw_rectangle_outline"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Rect_f32", "rect"); +api_param(arena, call, "f32", "roundness"); +api_param(arena, call, "f32", "thickness"); +api_param(arena, call, "ARGB_Color", "color"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("draw_set_clip"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Rect_f32", "new_clip"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_create"), string_u8_litexpr("Text_Layout_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Buffer_ID", "buffer_id"); +api_param(arena, call, "Rect_f32", "rect"); +api_param(arena, call, "Buffer_Point", "buffer_point"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_region"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "text_layout_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_get_buffer"), string_u8_litexpr("Buffer_ID"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "text_layout_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_get_visible_range"), string_u8_litexpr("Range_i64"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "text_layout_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_line_on_screen"), string_u8_litexpr("Range_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "layout_id"); +api_param(arena, call, "i64", "line_number"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_character_on_screen"), string_u8_litexpr("Rect_f32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "layout_id"); +api_param(arena, call, "i64", "pos"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("paint_text_color"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "layout_id"); +api_param(arena, call, "Interval_i64", "range"); +api_param(arena, call, "ARGB_Color", "color"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("text_layout_free"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "text_layout_id"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("draw_text_layout"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Text_Layout_ID", "layout_id"); +api_param(arena, call, "ARGB_Color", "special_color"); +api_param(arena, call, "ARGB_Color", "ghost_color"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("open_color_picker"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Color_Picker*", "picker"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("animate_in_n_milliseconds"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "u32", "n"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("buffer_find_all_matches"), string_u8_litexpr("String_Match_List"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "Buffer_ID", "buffer"); +api_param(arena, call, "i32", "string_id"); +api_param(arena, call, "Range_i64", "range"); +api_param(arena, call, "String_Const_u8", "needle"); +api_param(arena, call, "Character_Predicate*", "predicate"); +api_param(arena, call, "Scan_Direction", "direction"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_core_profile_list"), string_u8_litexpr("Profile_Global_List*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_custom_layer_boundary_docs"), string_u8_litexpr("Doc_Cluster*"), string_u8_litexpr("")); +api_param(arena, call, "Application_Links*", "app"); +api_param(arena, call, "Arena*", "arena"); +} +return(result); +} diff --git a/custom/generated/custom_api_master_list.h b/custom/generated/custom_api_master_list.h index 4b4a62d3..22c159cb 100644 --- a/custom/generated/custom_api_master_list.h +++ b/custom/generated/custom_api_master_list.h @@ -152,7 +152,7 @@ api(custom) function b32 try_release_face(Application_Links* app, Face_ID id, Fa api(custom) function String_Const_u8 push_hot_directory(Application_Links* app, Arena* arena); api(custom) function void set_hot_directory(Application_Links* app, String_Const_u8 string); api(custom) function void send_exit_signal(Application_Links* app); -api(custom) function b32 set_window_title(Application_Links* app, String_Const_u8 title); +api(custom) function void set_window_title(Application_Links* app, String_Const_u8 title); api(custom) function Vec2_f32 draw_string_oriented(Application_Links* app, Face_ID font_id, ARGB_Color color, String_Const_u8 str, Vec2_f32 point, u32 flags, Vec2_f32 delta); api(custom) function f32 get_string_advance(Application_Links* app, Face_ID font_id, String_Const_u8 str); api(custom) function void draw_rectangle(Application_Links* app, Rect_f32 rect, f32 roundness, ARGB_Color color); @@ -171,3 +171,4 @@ api(custom) function void open_color_picker(Application_Links* app, Color_Picker api(custom) function void animate_in_n_milliseconds(Application_Links* app, u32 n); api(custom) function String_Match_List buffer_find_all_matches(Application_Links* app, Arena* arena, Buffer_ID buffer, i32 string_id, Range_i64 range, String_Const_u8 needle, Character_Predicate* predicate, Scan_Direction direction); api(custom) function Profile_Global_List* get_core_profile_list(Application_Links* app); +api(custom) function Doc_Cluster* get_custom_layer_boundary_docs(Application_Links* app, Arena* arena); diff --git a/custom/generated/lexer_cpp.cpp b/custom/generated/lexer_cpp.cpp index 67cd23a4..f1a73f7b 100644 --- a/custom/generated/lexer_cpp.cpp +++ b/custom/generated/lexer_cpp.cpp @@ -43,449 +43,447 @@ lexeme_table_lookup(u64 *hash_array, String_Const_u8 *key_array, } #endif -u64 main_keys_hash_array[122] = { -0xcd6c76d1d6016aeb,0x0000000000000000,0xbe9032d742e0309b,0x0000000000000000, -0x5c749ba575e954f1,0x94b802ccb961eba5,0x0000000000000000,0xbe9032d742f66603, -0xf7d7d7daa162a915,0x0000000000000000,0xf6dd841a741b54b1,0x0000000000000000, -0x0000000000000000,0x5c748f9bac5fae01,0x0000000000000000,0x5c74d05e78e41f93, -0x0000000000000000,0x5c74c48af66ee5ff,0x0000000000000000,0x0000000000000000, -0x0000000000000000,0xbe9032d9625648d7,0xb9a8aa62a1b8b979,0xb9a8aac2760d77bb, -0xf6dd841a74186629,0x0000000000000000,0x0000000000000000,0xbe9032d7b5d01513, -0x0000000000000000,0xbe9032d7994fac15,0xbe9032dad379e361,0x0000000000000000, -0x0000000000000000,0xf7d7d7daa19301fb,0x0000000000000000,0x0000000000000000, -0x0000000000000000,0x0000000000000000,0x0000000000000000,0xcd6c76d1f3bd9ae3, -0xcd6c76d1d180352d,0xbe9032d559a465a3,0x0000000000000000,0xb9a8a8cc655e5207, -0xf6dd841a741824f1,0x422915073da91143,0xb9a8ab8998c6af61,0xbe9032d4fc7896d5, -0x0000000000000000,0x0000000000000000,0xcd6c76d1e7ffc9ab,0x0000000000000000, -0xcd6c76d1f3b17747,0xb9e062526751e543,0x0000000000000000,0xbe9032d4220956e5, -0x0000000000000000,0x0000000000000000,0xf7d7d7daa19973f1,0xf5a7dce18eced143, -0xf7d7d7daa16530ef,0x0000000000000000,0x0000000000000000,0x5c74e336036c8913, -0xff53749663265edf,0x0000000000000000,0x5c73600f210c2c91,0x0000000000000000, -0x0000000000000000,0xbe9032d62353c3df,0x0000000000000000,0x0000000000000000, -0xf7d7d7daa1638d21,0xbe9032d781b9009b,0xbe9032d745cd712f,0xcd6c76d1e41b7721, -0xcd6c76d1d07552f1,0x0000000000000000,0x0000000000000000,0xbe9032d623487ce5, -0x0000000000000000,0x0000000000000000,0x0000000000000000,0xf6dd841a741beb17, -0xbe9032dadc64ca01,0xf7d7d7daa22757a3,0x3691063dc0b0a271,0x0000000000000000, -0x0000000000000000,0x0000000000000000,0xf7d7d7daa24ae2ab,0x0000000000000000, -0x94b802ccb961ea8f,0x0000000000000000,0x0000000000000000,0x0000000000000000, -0x5c736223c944691d,0x5c74bb3811f1a27d,0x0000000000000000,0x0000000000000000, -0x5c74bad2b2e27981,0xf6dd841a741badaf,0xb9a8aa06e5695175,0x0000000000000000, -0x0000000000000000,0xf7d7d7daa19d2249,0xf063459c89573543,0xf7d7d7daa22e63fd, -0x3691575ed8e83d73,0x0000000000000000,0x0000000000000000,0xcd6c76d1e71a3ee3, -0xb9a8a8f46f69395d,0xcd6c76d1f3dfe5ef,0x0000000000000000,0xcd6c76d1ded93fdf, -0xb9a8a8f46f690403,0xf7d7d7daa237416b,0x5c74965a58cc8459,0x0000000000000000, -0x0000000000000000,0x9e39509b39961eeb, +u64 main_keys_hash_array[121] = { +0x3165da52e461ac3f,0x0000000000000000,0x3165da52f92661bd,0x0000000000000000, +0x0000000000000000,0x0000000000000000,0x3165da52f9fa6ddb,0xbfc3c777d05a650b, +0x3165da52ea1d2cb3,0x0000000000000000,0x0000000000000000,0x0000000000000000, +0x0000000000000000,0xa47e4b3347ca768b,0xa47e4b0d60643265,0xf9ddaa09147bac4d, +0x95351611c4501ef3,0x0000000000000000,0x0000000000000000,0xa47e4b33693ada65, +0x0000000000000000,0xdb05013ca08bb8f1,0xf9ddaa091485019b,0xbfc3dfcbf5462bb3, +0x0000000000000000,0x3165da52f85e6961,0x0000000000000000,0xdb0563922ce5394d, +0x0000000000000000,0xa47e4b334bfc993f,0xdb02e2748a4d7e43,0x0000000000000000, +0xb4c81ca554c806f3,0x0000000000000000,0x3165da52e0f88b5b,0x501eeeb814fbf821, +0x0000000000000000,0xdb0503951fae6cc1,0x0000000000000000,0x0000000000000000, +0xbfc3de349dfab331,0x0000000000000000,0x0000000000000000,0x3165da52f092830f, +0xa47e4b300b3f05d3,0xbfc3dfcbf546362d,0xdb05125809d1c12f,0x0000000000000000, +0xed66c2eeb45a9c73,0x0000000000000000,0xf9ddaa0914eaa03f,0x77f5a2bcd06af3a3, +0xa47e4b0cab3b440f,0x0000000000000000,0x0000000000000000,0x3165da52ebde8871, +0xa47e4b0cab0869b5,0x3165da52e5b576b7,0x0000000000000000,0x0000000000000000, +0xa47e4b336935d383,0x0000000000000000,0x0000000000000000,0xa47e4b30efc0220b, +0x0000000000000000,0x0000000000000000,0x501eeeb814fabe67,0xbfc3dfefa2fc3a77, +0x0000000000000000,0x0000000000000000,0x0000000000000000,0xf9ddaa0914bb0bf9, +0x0000000000000000,0xf9ddaa09148a58bb,0x0000000000000000,0xdb02e323971f6e8d, +0x501eeeb814fa0161,0xa9cef01e4d45a29b,0x501eeeb814fb939f,0x0000000000000000, +0xdb0517ba16b3ab83,0xbfc3dfb0ab021849,0xdb0541265bb691e9,0xbfc3df66cacb41a5, +0xa47e4b325526bb31,0x0000000000000000,0xeca54fbddbbe35d5,0xa47e4b3347a263d3, +0x0000000000000000,0x77e3dcb62d4753c1,0xdb05aa39286523b1,0x0000000000000000, +0xf9ddaa0914b809a1,0x0000000000000000,0xc6f60bbdf7c8c073,0x3165da52e44f8393, +0x0000000000000000,0x0000000000000000,0xa47e4b32f4f66927,0x0000000000000000, +0xf9ddaa0914dd4631,0x0000000000000000,0xa47e4b322642ad51,0x0000000000000000, +0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000, +0xa47e4b335ea331b5,0x0000000000000000,0x0000000000000000,0x0000000000000000, +0xdb0545d45d35a161,0xeca54fbddbbe34ff,0x44a0daa872c59baf,0x0000000000000000, +0xf9ddaa0914c5876b,0x0000000000000000,0x501eeeb814fa0b79,0xf9ddaa0914df8d85, +0xf9ddaa0914b167f3, }; -u8 main_keys_key_array_0[] = {0x75,0x73,0x69,0x6e,0x67,}; -u8 main_keys_key_array_2[] = {0x73,0x74,0x61,0x74,0x69,0x63,}; -u8 main_keys_key_array_4[] = {0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,}; -u8 main_keys_key_array_5[] = {0x69,0x66,}; -u8 main_keys_key_array_7[] = {0x73,0x74,0x72,0x75,0x63,0x74,}; -u8 main_keys_key_array_8[] = {0x65,0x6e,0x75,0x6d,}; -u8 main_keys_key_array_10[] = {0x74,0x72,0x79,}; -u8 main_keys_key_array_13[] = {0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,}; -u8 main_keys_key_array_15[] = {0x65,0x78,0x70,0x6c,0x69,0x63,0x69,0x74,}; -u8 main_keys_key_array_17[] = {0x6e,0x6f,0x65,0x78,0x63,0x65,0x70,0x74,}; -u8 main_keys_key_array_21[] = {0x66,0x72,0x69,0x65,0x6e,0x64,}; -u8 main_keys_key_array_22[] = {0x6e,0x75,0x6c,0x6c,0x70,0x74,0x72,}; -u8 main_keys_key_array_23[] = {0x76,0x69,0x72,0x74,0x75,0x61,0x6c,}; -u8 main_keys_key_array_24[] = {0x61,0x73,0x6d,}; -u8 main_keys_key_array_27[] = {0x73,0x69,0x67,0x6e,0x65,0x64,}; -u8 main_keys_key_array_29[] = {0x73,0x69,0x7a,0x65,0x6f,0x66,}; -u8 main_keys_key_array_30[] = {0x64,0x65,0x6c,0x65,0x74,0x65,}; -u8 main_keys_key_array_33[] = {0x62,0x6f,0x6f,0x6c,}; -u8 main_keys_key_array_39[] = {0x63,0x6f,0x6e,0x73,0x74,}; -u8 main_keys_key_array_40[] = {0x75,0x6e,0x69,0x6f,0x6e,}; -u8 main_keys_key_array_41[] = {0x74,0x79,0x70,0x65,0x69,0x64,}; -u8 main_keys_key_array_43[] = {0x64,0x65,0x66,0x61,0x75,0x6c,0x74,}; -u8 main_keys_key_array_44[] = {0x66,0x6f,0x72,}; -u8 main_keys_key_array_45[] = {0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,}; -u8 main_keys_key_array_46[] = {0x70,0x72,0x69,0x76,0x61,0x74,0x65,}; -u8 main_keys_key_array_47[] = {0x69,0x6e,0x6c,0x69,0x6e,0x65,}; -u8 main_keys_key_array_50[] = {0x62,0x72,0x65,0x61,0x6b,}; -u8 main_keys_key_array_52[] = {0x63,0x6c,0x61,0x73,0x73,}; -u8 main_keys_key_array_53[] = {0x72,0x65,0x69,0x6e,0x74,0x65,0x72,0x70,0x72,0x65,0x74,0x5f,0x63,0x61,0x73,0x74,}; -u8 main_keys_key_array_55[] = {0x72,0x65,0x74,0x75,0x72,0x6e,}; -u8 main_keys_key_array_58[] = {0x63,0x61,0x73,0x65,}; -u8 main_keys_key_array_59[] = {0x63,0x6f,0x6e,0x73,0x74,0x5f,0x63,0x61,0x73,0x74,}; -u8 main_keys_key_array_60[] = {0x67,0x6f,0x74,0x6f,}; -u8 main_keys_key_array_63[] = {0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,}; -u8 main_keys_key_array_64[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x61,0x73,0x73,0x65,0x72,0x74,}; -u8 main_keys_key_array_66[] = {0x64,0x65,0x63,0x6c,0x74,0x79,0x70,0x65,}; -u8 main_keys_key_array_69[] = {0x65,0x78,0x70,0x6f,0x72,0x74,}; -u8 main_keys_key_array_72[] = {0x65,0x6c,0x73,0x65,}; -u8 main_keys_key_array_73[] = {0x70,0x75,0x62,0x6c,0x69,0x63,}; -u8 main_keys_key_array_74[] = {0x73,0x77,0x69,0x74,0x63,0x68,}; -u8 main_keys_key_array_75[] = {0x66,0x61,0x6c,0x73,0x65,}; -u8 main_keys_key_array_76[] = {0x77,0x68,0x69,0x6c,0x65,}; -u8 main_keys_key_array_79[] = {0x65,0x78,0x74,0x65,0x72,0x6e,}; -u8 main_keys_key_array_83[] = {0x69,0x6e,0x74,}; -u8 main_keys_key_array_84[] = {0x64,0x6f,0x75,0x62,0x6c,0x65,}; -u8 main_keys_key_array_85[] = {0x76,0x6f,0x69,0x64,}; -u8 main_keys_key_array_86[] = {0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,}; -u8 main_keys_key_array_90[] = {0x6c,0x6f,0x6e,0x67,}; -u8 main_keys_key_array_92[] = {0x64,0x6f,}; -u8 main_keys_key_array_96[] = {0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,}; -u8 main_keys_key_array_97[] = {0x74,0x79,0x70,0x65,0x6e,0x61,0x6d,0x65,}; -u8 main_keys_key_array_100[] = {0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,}; -u8 main_keys_key_array_101[] = {0x6e,0x65,0x77,}; -u8 main_keys_key_array_102[] = {0x74,0x79,0x70,0x65,0x64,0x65,0x66,}; -u8 main_keys_key_array_105[] = {0x63,0x68,0x61,0x72,}; -u8 main_keys_key_array_106[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,}; -u8 main_keys_key_array_107[] = {0x74,0x72,0x75,0x65,}; -u8 main_keys_key_array_108[] = {0x70,0x72,0x6f,0x74,0x65,0x63,0x74,0x65,0x64,}; -u8 main_keys_key_array_111[] = {0x66,0x6c,0x6f,0x61,0x74,}; -u8 main_keys_key_array_112[] = {0x61,0x6c,0x69,0x67,0x6e,0x6f,0x66,}; -u8 main_keys_key_array_113[] = {0x63,0x61,0x74,0x63,0x68,}; -u8 main_keys_key_array_115[] = {0x73,0x68,0x6f,0x72,0x74,}; -u8 main_keys_key_array_116[] = {0x61,0x6c,0x69,0x67,0x6e,0x61,0x73,}; -u8 main_keys_key_array_117[] = {0x74,0x68,0x69,0x73,}; -u8 main_keys_key_array_118[] = {0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,}; -u8 main_keys_key_array_121[] = {0x74,0x68,0x72,0x65,0x61,0x64,0x5f,0x6c,0x6f,0x63,0x61,0x6c,}; -String_Const_u8 main_keys_key_array[122] = { +u8 main_keys_key_array_0[] = {0x63,0x61,0x74,0x63,0x68,}; +u8 main_keys_key_array_2[] = {0x75,0x6e,0x69,0x6f,0x6e,}; +u8 main_keys_key_array_6[] = {0x75,0x73,0x69,0x6e,0x67,}; +u8 main_keys_key_array_7[] = {0x76,0x69,0x72,0x74,0x75,0x61,0x6c,}; +u8 main_keys_key_array_8[] = {0x66,0x6c,0x6f,0x61,0x74,}; +u8 main_keys_key_array_13[] = {0x73,0x74,0x61,0x74,0x69,0x63,}; +u8 main_keys_key_array_14[] = {0x69,0x6e,0x6c,0x69,0x6e,0x65,}; +u8 main_keys_key_array_15[] = {0x74,0x72,0x75,0x65,}; +u8 main_keys_key_array_16[] = {0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,}; +u8 main_keys_key_array_19[] = {0x73,0x69,0x7a,0x65,0x6f,0x66,}; +u8 main_keys_key_array_21[] = {0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,}; +u8 main_keys_key_array_22[] = {0x74,0x68,0x69,0x73,}; +u8 main_keys_key_array_23[] = {0x61,0x6c,0x69,0x67,0x6e,0x61,0x73,}; +u8 main_keys_key_array_25[] = {0x77,0x68,0x69,0x6c,0x65,}; +u8 main_keys_key_array_27[] = {0x74,0x79,0x70,0x65,0x6e,0x61,0x6d,0x65,}; +u8 main_keys_key_array_29[] = {0x73,0x77,0x69,0x74,0x63,0x68,}; +u8 main_keys_key_array_30[] = {0x65,0x78,0x70,0x6c,0x69,0x63,0x69,0x74,}; +u8 main_keys_key_array_32[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,}; +u8 main_keys_key_array_34[] = {0x62,0x72,0x65,0x61,0x6b,}; +u8 main_keys_key_array_35[] = {0x74,0x72,0x79,}; +u8 main_keys_key_array_37[] = {0x64,0x65,0x63,0x6c,0x74,0x79,0x70,0x65,}; +u8 main_keys_key_array_40[] = {0x70,0x72,0x69,0x76,0x61,0x74,0x65,}; +u8 main_keys_key_array_43[] = {0x73,0x68,0x6f,0x72,0x74,}; +u8 main_keys_key_array_44[] = {0x74,0x79,0x70,0x65,0x69,0x64,}; +u8 main_keys_key_array_45[] = {0x61,0x6c,0x69,0x67,0x6e,0x6f,0x66,}; +u8 main_keys_key_array_46[] = {0x6e,0x6f,0x65,0x78,0x63,0x65,0x70,0x74,}; +u8 main_keys_key_array_48[] = {0x72,0x65,0x69,0x6e,0x74,0x65,0x72,0x70,0x72,0x65,0x74,0x5f,0x63,0x61,0x73,0x74,}; +u8 main_keys_key_array_50[] = {0x67,0x6f,0x74,0x6f,}; +u8 main_keys_key_array_51[] = {0x70,0x72,0x6f,0x74,0x65,0x63,0x74,0x65,0x64,}; +u8 main_keys_key_array_52[] = {0x65,0x78,0x70,0x6f,0x72,0x74,}; +u8 main_keys_key_array_55[] = {0x66,0x61,0x6c,0x73,0x65,}; +u8 main_keys_key_array_56[] = {0x65,0x78,0x74,0x65,0x72,0x6e,}; +u8 main_keys_key_array_57[] = {0x63,0x6c,0x61,0x73,0x73,}; +u8 main_keys_key_array_60[] = {0x73,0x69,0x67,0x6e,0x65,0x64,}; +u8 main_keys_key_array_63[] = {0x70,0x75,0x62,0x6c,0x69,0x63,}; +u8 main_keys_key_array_66[] = {0x69,0x6e,0x74,}; +u8 main_keys_key_array_67[] = {0x64,0x65,0x66,0x61,0x75,0x6c,0x74,}; +u8 main_keys_key_array_71[] = {0x63,0x68,0x61,0x72,}; +u8 main_keys_key_array_73[] = {0x6c,0x6f,0x6e,0x67,}; +u8 main_keys_key_array_75[] = {0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,}; +u8 main_keys_key_array_76[] = {0x66,0x6f,0x72,}; +u8 main_keys_key_array_77[] = {0x74,0x68,0x72,0x65,0x61,0x64,0x5f,0x6c,0x6f,0x63,0x61,0x6c,}; +u8 main_keys_key_array_78[] = {0x6e,0x65,0x77,}; +u8 main_keys_key_array_80[] = {0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,}; +u8 main_keys_key_array_81[] = {0x6e,0x75,0x6c,0x6c,0x70,0x74,0x72,}; +u8 main_keys_key_array_82[] = {0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,}; +u8 main_keys_key_array_83[] = {0x74,0x79,0x70,0x65,0x64,0x65,0x66,}; +u8 main_keys_key_array_84[] = {0x64,0x65,0x6c,0x65,0x74,0x65,}; +u8 main_keys_key_array_86[] = {0x69,0x66,}; +u8 main_keys_key_array_87[] = {0x73,0x74,0x72,0x75,0x63,0x74,}; +u8 main_keys_key_array_89[] = {0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,}; +u8 main_keys_key_array_90[] = {0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,}; +u8 main_keys_key_array_92[] = {0x63,0x61,0x73,0x65,}; +u8 main_keys_key_array_94[] = {0x63,0x6f,0x6e,0x73,0x74,0x5f,0x63,0x61,0x73,0x74,}; +u8 main_keys_key_array_95[] = {0x63,0x6f,0x6e,0x73,0x74,}; +u8 main_keys_key_array_98[] = {0x66,0x72,0x69,0x65,0x6e,0x64,}; +u8 main_keys_key_array_100[] = {0x65,0x6c,0x73,0x65,}; +u8 main_keys_key_array_102[] = {0x64,0x6f,0x75,0x62,0x6c,0x65,}; +u8 main_keys_key_array_108[] = {0x72,0x65,0x74,0x75,0x72,0x6e,}; +u8 main_keys_key_array_112[] = {0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,}; +u8 main_keys_key_array_113[] = {0x64,0x6f,}; +u8 main_keys_key_array_114[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x61,0x73,0x73,0x65,0x72,0x74,}; +u8 main_keys_key_array_116[] = {0x62,0x6f,0x6f,0x6c,}; +u8 main_keys_key_array_118[] = {0x61,0x73,0x6d,}; +u8 main_keys_key_array_119[] = {0x65,0x6e,0x75,0x6d,}; +u8 main_keys_key_array_120[] = {0x76,0x6f,0x69,0x64,}; +String_Const_u8 main_keys_key_array[121] = { {main_keys_key_array_0, 5}, {0, 0}, -{main_keys_key_array_2, 6}, -{0, 0}, -{main_keys_key_array_4, 8}, -{main_keys_key_array_5, 2}, -{0, 0}, -{main_keys_key_array_7, 6}, -{main_keys_key_array_8, 4}, -{0, 0}, -{main_keys_key_array_10, 3}, -{0, 0}, -{0, 0}, -{main_keys_key_array_13, 8}, -{0, 0}, -{main_keys_key_array_15, 8}, -{0, 0}, -{main_keys_key_array_17, 8}, +{main_keys_key_array_2, 5}, {0, 0}, {0, 0}, {0, 0}, -{main_keys_key_array_21, 6}, -{main_keys_key_array_22, 7}, +{main_keys_key_array_6, 5}, +{main_keys_key_array_7, 7}, +{main_keys_key_array_8, 5}, +{0, 0}, +{0, 0}, +{0, 0}, +{0, 0}, +{main_keys_key_array_13, 6}, +{main_keys_key_array_14, 6}, +{main_keys_key_array_15, 4}, +{main_keys_key_array_16, 12}, +{0, 0}, +{0, 0}, +{main_keys_key_array_19, 6}, +{0, 0}, +{main_keys_key_array_21, 8}, +{main_keys_key_array_22, 4}, {main_keys_key_array_23, 7}, -{main_keys_key_array_24, 3}, {0, 0}, +{main_keys_key_array_25, 5}, {0, 0}, -{main_keys_key_array_27, 6}, +{main_keys_key_array_27, 8}, {0, 0}, {main_keys_key_array_29, 6}, -{main_keys_key_array_30, 6}, +{main_keys_key_array_30, 8}, +{0, 0}, +{main_keys_key_array_32, 11}, +{0, 0}, +{main_keys_key_array_34, 5}, +{main_keys_key_array_35, 3}, +{0, 0}, +{main_keys_key_array_37, 8}, {0, 0}, {0, 0}, -{main_keys_key_array_33, 4}, +{main_keys_key_array_40, 7}, +{0, 0}, +{0, 0}, +{main_keys_key_array_43, 5}, +{main_keys_key_array_44, 6}, +{main_keys_key_array_45, 7}, +{main_keys_key_array_46, 8}, +{0, 0}, +{main_keys_key_array_48, 16}, +{0, 0}, +{main_keys_key_array_50, 4}, +{main_keys_key_array_51, 9}, +{main_keys_key_array_52, 6}, +{0, 0}, +{0, 0}, +{main_keys_key_array_55, 5}, +{main_keys_key_array_56, 6}, +{main_keys_key_array_57, 5}, +{0, 0}, +{0, 0}, +{main_keys_key_array_60, 6}, +{0, 0}, +{0, 0}, +{main_keys_key_array_63, 6}, +{0, 0}, +{0, 0}, +{main_keys_key_array_66, 3}, +{main_keys_key_array_67, 7}, {0, 0}, {0, 0}, {0, 0}, +{main_keys_key_array_71, 4}, {0, 0}, +{main_keys_key_array_73, 4}, {0, 0}, -{main_keys_key_array_39, 5}, -{main_keys_key_array_40, 5}, -{main_keys_key_array_41, 6}, +{main_keys_key_array_75, 8}, +{main_keys_key_array_76, 3}, +{main_keys_key_array_77, 12}, +{main_keys_key_array_78, 3}, {0, 0}, -{main_keys_key_array_43, 7}, -{main_keys_key_array_44, 3}, -{main_keys_key_array_45, 12}, -{main_keys_key_array_46, 7}, -{main_keys_key_array_47, 6}, -{0, 0}, -{0, 0}, -{main_keys_key_array_50, 5}, -{0, 0}, -{main_keys_key_array_52, 5}, -{main_keys_key_array_53, 16}, -{0, 0}, -{main_keys_key_array_55, 6}, -{0, 0}, -{0, 0}, -{main_keys_key_array_58, 4}, -{main_keys_key_array_59, 10}, -{main_keys_key_array_60, 4}, -{0, 0}, -{0, 0}, -{main_keys_key_array_63, 8}, -{main_keys_key_array_64, 13}, -{0, 0}, -{main_keys_key_array_66, 8}, -{0, 0}, -{0, 0}, -{main_keys_key_array_69, 6}, -{0, 0}, -{0, 0}, -{main_keys_key_array_72, 4}, -{main_keys_key_array_73, 6}, -{main_keys_key_array_74, 6}, -{main_keys_key_array_75, 5}, -{main_keys_key_array_76, 5}, -{0, 0}, -{0, 0}, -{main_keys_key_array_79, 6}, -{0, 0}, -{0, 0}, -{0, 0}, -{main_keys_key_array_83, 3}, +{main_keys_key_array_80, 8}, +{main_keys_key_array_81, 7}, +{main_keys_key_array_82, 8}, +{main_keys_key_array_83, 7}, {main_keys_key_array_84, 6}, -{main_keys_key_array_85, 4}, -{main_keys_key_array_86, 9}, +{0, 0}, +{main_keys_key_array_86, 2}, +{main_keys_key_array_87, 6}, +{0, 0}, +{main_keys_key_array_89, 9}, +{main_keys_key_array_90, 8}, +{0, 0}, +{main_keys_key_array_92, 4}, +{0, 0}, +{main_keys_key_array_94, 10}, +{main_keys_key_array_95, 5}, +{0, 0}, +{0, 0}, +{main_keys_key_array_98, 6}, +{0, 0}, +{main_keys_key_array_100, 4}, +{0, 0}, +{main_keys_key_array_102, 6}, {0, 0}, {0, 0}, {0, 0}, -{main_keys_key_array_90, 4}, {0, 0}, -{main_keys_key_array_92, 2}, +{0, 0}, +{main_keys_key_array_108, 6}, {0, 0}, {0, 0}, {0, 0}, -{main_keys_key_array_96, 8}, -{main_keys_key_array_97, 8}, +{main_keys_key_array_112, 8}, +{main_keys_key_array_113, 2}, +{main_keys_key_array_114, 13}, {0, 0}, +{main_keys_key_array_116, 4}, {0, 0}, -{main_keys_key_array_100, 8}, -{main_keys_key_array_101, 3}, -{main_keys_key_array_102, 7}, -{0, 0}, -{0, 0}, -{main_keys_key_array_105, 4}, -{main_keys_key_array_106, 11}, -{main_keys_key_array_107, 4}, -{main_keys_key_array_108, 9}, -{0, 0}, -{0, 0}, -{main_keys_key_array_111, 5}, -{main_keys_key_array_112, 7}, -{main_keys_key_array_113, 5}, -{0, 0}, -{main_keys_key_array_115, 5}, -{main_keys_key_array_116, 7}, -{main_keys_key_array_117, 4}, -{main_keys_key_array_118, 8}, -{0, 0}, -{0, 0}, -{main_keys_key_array_121, 12}, +{main_keys_key_array_118, 3}, +{main_keys_key_array_119, 4}, +{main_keys_key_array_120, 4}, }; -Lexeme_Table_Value main_keys_value_array[122] = { +Lexeme_Table_Value main_keys_value_array[121] = { +{4, TokenCppKind_Catch}, +{0, 0}, +{4, TokenCppKind_Union}, +{0, 0}, +{0, 0}, +{0, 0}, {4, TokenCppKind_Using}, +{4, TokenCppKind_Virtual}, +{4, TokenCppKind_Float}, +{0, 0}, +{0, 0}, +{0, 0}, {0, 0}, {4, TokenCppKind_Static}, +{4, TokenCppKind_Inline}, +{8, TokenCppKind_LiteralTrue}, +{4, TokenCppKind_DynamicCast}, {0, 0}, -{4, TokenCppKind_Volatile}, -{4, TokenCppKind_If}, -{0, 0}, -{4, TokenCppKind_Struct}, -{4, TokenCppKind_Enum}, -{0, 0}, -{4, TokenCppKind_Try}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Register}, -{0, 0}, -{4, TokenCppKind_Explicit}, -{0, 0}, -{4, TokenCppKind_NoExcept}, -{0, 0}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Friend}, -{4, TokenCppKind_NullPtr}, -{4, TokenCppKind_Virtual}, -{4, TokenCppKind_Asm}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Signed}, {0, 0}, {4, TokenCppKind_SizeOf}, -{4, TokenCppKind_Delete}, {0, 0}, +{4, TokenCppKind_Template}, +{4, TokenCppKind_This}, +{4, TokenCppKind_AlignAs}, {0, 0}, -{4, TokenCppKind_Bool}, +{4, TokenCppKind_While}, {0, 0}, +{4, TokenCppKind_Typename}, {0, 0}, +{4, TokenCppKind_Switch}, +{4, TokenCppKind_Explicit}, {0, 0}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Const}, -{4, TokenCppKind_Union}, -{4, TokenCppKind_TypeID}, -{0, 0}, -{4, TokenCppKind_Default}, -{4, TokenCppKind_For}, -{4, TokenCppKind_DynamicCast}, -{4, TokenCppKind_Private}, -{4, TokenCppKind_Inline}, -{0, 0}, +{4, TokenCppKind_StaticCast}, {0, 0}, {4, TokenCppKind_Break}, -{0, 0}, -{4, TokenCppKind_Class}, -{4, TokenCppKind_ReinterpretCast}, -{0, 0}, -{4, TokenCppKind_Return}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Case}, -{4, TokenCppKind_ConstCast}, -{4, TokenCppKind_Goto}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Unsigned}, -{4, TokenCppKind_StaticAssert}, +{4, TokenCppKind_Try}, {0, 0}, {4, TokenCppKind_DeclType}, {0, 0}, {0, 0}, +{4, TokenCppKind_Private}, +{0, 0}, +{0, 0}, +{4, TokenCppKind_Short}, +{4, TokenCppKind_TypeID}, +{4, TokenCppKind_AlignOf}, +{4, TokenCppKind_NoExcept}, +{0, 0}, +{4, TokenCppKind_ReinterpretCast}, +{0, 0}, +{4, TokenCppKind_Goto}, +{4, TokenCppKind_Protected}, {4, TokenCppKind_Export}, {0, 0}, {0, 0}, -{4, TokenCppKind_Else}, -{4, TokenCppKind_Public}, -{4, TokenCppKind_Switch}, {8, TokenCppKind_LiteralFalse}, -{4, TokenCppKind_While}, -{0, 0}, -{0, 0}, {4, TokenCppKind_Extern}, +{4, TokenCppKind_Class}, {0, 0}, {0, 0}, +{4, TokenCppKind_Signed}, +{0, 0}, +{0, 0}, +{4, TokenCppKind_Public}, +{0, 0}, {0, 0}, {4, TokenCppKind_Int}, -{4, TokenCppKind_Double}, -{4, TokenCppKind_Void}, -{4, TokenCppKind_Namespace}, +{4, TokenCppKind_Default}, {0, 0}, {0, 0}, {0, 0}, -{4, TokenCppKind_Long}, -{0, 0}, -{4, TokenCppKind_Do}, -{0, 0}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Continue}, -{4, TokenCppKind_Typename}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Template}, -{4, TokenCppKind_New}, -{4, TokenCppKind_Typedef}, -{0, 0}, -{0, 0}, {4, TokenCppKind_Char}, -{4, TokenCppKind_StaticCast}, -{8, TokenCppKind_LiteralTrue}, -{4, TokenCppKind_Protected}, -{0, 0}, -{0, 0}, -{4, TokenCppKind_Float}, -{4, TokenCppKind_AlignOf}, -{4, TokenCppKind_Catch}, -{0, 0}, -{4, TokenCppKind_Short}, -{4, TokenCppKind_AlignAs}, -{4, TokenCppKind_This}, -{4, TokenCppKind_Operator}, {0, 0}, +{4, TokenCppKind_Long}, {0, 0}, +{4, TokenCppKind_Continue}, +{4, TokenCppKind_For}, {4, TokenCppKind_ThreadLocal}, +{4, TokenCppKind_New}, +{0, 0}, +{4, TokenCppKind_Unsigned}, +{4, TokenCppKind_NullPtr}, +{4, TokenCppKind_Operator}, +{4, TokenCppKind_Typedef}, +{4, TokenCppKind_Delete}, +{0, 0}, +{4, TokenCppKind_If}, +{4, TokenCppKind_Struct}, +{0, 0}, +{4, TokenCppKind_Namespace}, +{4, TokenCppKind_Register}, +{0, 0}, +{4, TokenCppKind_Case}, +{0, 0}, +{4, TokenCppKind_ConstCast}, +{4, TokenCppKind_Const}, +{0, 0}, +{0, 0}, +{4, TokenCppKind_Friend}, +{0, 0}, +{4, TokenCppKind_Else}, +{0, 0}, +{4, TokenCppKind_Double}, +{0, 0}, +{0, 0}, +{0, 0}, +{0, 0}, +{0, 0}, +{4, TokenCppKind_Return}, +{0, 0}, +{0, 0}, +{0, 0}, +{4, TokenCppKind_Volatile}, +{4, TokenCppKind_Do}, +{4, TokenCppKind_StaticAssert}, +{0, 0}, +{4, TokenCppKind_Bool}, +{0, 0}, +{4, TokenCppKind_Asm}, +{4, TokenCppKind_Enum}, +{4, TokenCppKind_Void}, }; -i32 main_keys_slot_count = 122; -u64 main_keys_seed = 0x1bfce1a813e8b00f; +i32 main_keys_slot_count = 121; +u64 main_keys_seed = 0x32a240442a6e221f; u64 pp_directives_hash_array[25] = { -0x1e66dcff10289be9,0xb0e642e7a9534e09,0x0000000000000000,0xb0e642e7a222e343, -0x0000000000000000,0xa40d90e358e04d03,0xa40d90e358e04809,0x0000000000000000, -0x8b77c0a3db8104fd,0xba3a9be1fff4f771,0x0000000000000000,0x8b77c1833fc2e761, -0x0000000000000000,0x0000000000000000,0x0000000000000000,0xba3a9be4d613ba69, -0xa40d90e358e46771,0xb0e642e7aa0a539d,0xb0e642e7a3cf3909,0x0000000000000000, -0xb0e642e7ac0c3669,0xba3a9be414c29411,0xba3a9be665e90fdf,0x0000000000000000, +0xa8f3b0d79807b793,0x808ba552d670368f,0x0000000000000000,0x808ba54dc047d94b, +0x3b97f7088cbf95df,0x7fd91d3d238e04c9,0x0000000000000000,0x7fd91d3dac09e067, +0x0000000000000000,0x0000000000000000,0xa8f3beab5b880ad3,0x0000000000000000, +0x3b97f7088cbffd3b,0x3b97f7088cdab44b,0x79521904bb682f3f,0x0000000000000000, +0x0000000000000000,0x7fd91d3d978c615f,0x808ba553ad911e19,0x0000000000000000, +0x808ba54ef8496067,0x7fd91d3d2fe85067,0x7fd91d3d97a21607,0x0000000000000000, 0x0000000000000000, }; -u8 pp_directives_key_array_0[] = {0x69,0x66,}; -u8 pp_directives_key_array_1[] = {0x69,0x66,0x64,0x65,0x66,}; -u8 pp_directives_key_array_3[] = {0x75,0x73,0x69,0x6e,0x67,}; -u8 pp_directives_key_array_5[] = {0x65,0x6c,0x73,0x65,}; -u8 pp_directives_key_array_6[] = {0x65,0x6c,0x69,0x66,}; -u8 pp_directives_key_array_8[] = {0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,}; -u8 pp_directives_key_array_9[] = {0x64,0x65,0x66,0x69,0x6e,0x65,}; -u8 pp_directives_key_array_11[] = {0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,}; -u8 pp_directives_key_array_15[] = {0x69,0x66,0x6e,0x64,0x65,0x66,}; -u8 pp_directives_key_array_16[] = {0x6c,0x69,0x6e,0x65,}; -u8 pp_directives_key_array_17[] = {0x65,0x72,0x72,0x6f,0x72,}; -u8 pp_directives_key_array_18[] = {0x75,0x6e,0x64,0x65,0x66,}; -u8 pp_directives_key_array_20[] = {0x65,0x6e,0x64,0x69,0x66,}; -u8 pp_directives_key_array_21[] = {0x69,0x6d,0x70,0x6f,0x72,0x74,}; -u8 pp_directives_key_array_22[] = {0x70,0x72,0x61,0x67,0x6d,0x61,}; +u8 pp_directives_key_array_0[] = {0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,}; +u8 pp_directives_key_array_1[] = {0x70,0x72,0x61,0x67,0x6d,0x61,}; +u8 pp_directives_key_array_3[] = {0x64,0x65,0x66,0x69,0x6e,0x65,}; +u8 pp_directives_key_array_4[] = {0x65,0x6c,0x69,0x66,}; +u8 pp_directives_key_array_5[] = {0x75,0x73,0x69,0x6e,0x67,}; +u8 pp_directives_key_array_7[] = {0x69,0x66,0x64,0x65,0x66,}; +u8 pp_directives_key_array_10[] = {0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,}; +u8 pp_directives_key_array_12[] = {0x65,0x6c,0x73,0x65,}; +u8 pp_directives_key_array_13[] = {0x6c,0x69,0x6e,0x65,}; +u8 pp_directives_key_array_14[] = {0x69,0x66,}; +u8 pp_directives_key_array_17[] = {0x65,0x6e,0x64,0x69,0x66,}; +u8 pp_directives_key_array_18[] = {0x69,0x6d,0x70,0x6f,0x72,0x74,}; +u8 pp_directives_key_array_20[] = {0x69,0x66,0x6e,0x64,0x65,0x66,}; +u8 pp_directives_key_array_21[] = {0x75,0x6e,0x64,0x65,0x66,}; +u8 pp_directives_key_array_22[] = {0x65,0x72,0x72,0x6f,0x72,}; String_Const_u8 pp_directives_key_array[25] = { -{pp_directives_key_array_0, 2}, -{pp_directives_key_array_1, 5}, +{pp_directives_key_array_0, 7}, +{pp_directives_key_array_1, 6}, {0, 0}, -{pp_directives_key_array_3, 5}, +{pp_directives_key_array_3, 6}, +{pp_directives_key_array_4, 4}, +{pp_directives_key_array_5, 5}, {0, 0}, -{pp_directives_key_array_5, 4}, -{pp_directives_key_array_6, 4}, -{0, 0}, -{pp_directives_key_array_8, 7}, -{pp_directives_key_array_9, 6}, -{0, 0}, -{pp_directives_key_array_11, 7}, +{pp_directives_key_array_7, 5}, {0, 0}, {0, 0}, +{pp_directives_key_array_10, 7}, +{0, 0}, +{pp_directives_key_array_12, 4}, +{pp_directives_key_array_13, 4}, +{pp_directives_key_array_14, 2}, +{0, 0}, {0, 0}, -{pp_directives_key_array_15, 6}, -{pp_directives_key_array_16, 4}, {pp_directives_key_array_17, 5}, -{pp_directives_key_array_18, 5}, +{pp_directives_key_array_18, 6}, {0, 0}, -{pp_directives_key_array_20, 5}, -{pp_directives_key_array_21, 6}, -{pp_directives_key_array_22, 6}, +{pp_directives_key_array_20, 6}, +{pp_directives_key_array_21, 5}, +{pp_directives_key_array_22, 5}, {0, 0}, {0, 0}, }; Lexeme_Table_Value pp_directives_value_array[25] = { -{5, TokenCppKind_PPIf}, -{5, TokenCppKind_PPIfDef}, +{5, TokenCppKind_PPInclude}, +{5, TokenCppKind_PPPragma}, {0, 0}, +{5, TokenCppKind_PPDefine}, +{5, TokenCppKind_PPElIf}, {5, TokenCppKind_PPUsing}, {0, 0}, -{5, TokenCppKind_PPElse}, -{5, TokenCppKind_PPElIf}, +{5, TokenCppKind_PPIfDef}, {0, 0}, -{5, TokenCppKind_PPInclude}, -{5, TokenCppKind_PPDefine}, {0, 0}, {5, TokenCppKind_PPVersion}, {0, 0}, -{0, 0}, -{0, 0}, -{5, TokenCppKind_PPIfNDef}, +{5, TokenCppKind_PPElse}, {5, TokenCppKind_PPLine}, -{5, TokenCppKind_PPError}, -{5, TokenCppKind_PPUndef}, +{5, TokenCppKind_PPIf}, +{0, 0}, {0, 0}, {5, TokenCppKind_PPEndIf}, {5, TokenCppKind_PPImport}, -{5, TokenCppKind_PPPragma}, +{0, 0}, +{5, TokenCppKind_PPIfNDef}, +{5, TokenCppKind_PPUndef}, +{5, TokenCppKind_PPError}, {0, 0}, {0, 0}, }; i32 pp_directives_slot_count = 25; -u64 pp_directives_seed = 0x45cb6d9f7937fd0c; +u64 pp_directives_seed = 0x8848fb3caaf5d4d5; u64 pp_keys_hash_array[2] = { -0x129729b49ae65733,0x0000000000000000, +0x0000000000000000,0x72743f437c9f847d, }; -u8 pp_keys_key_array_0[] = {0x64,0x65,0x66,0x69,0x6e,0x65,0x64,}; +u8 pp_keys_key_array_1[] = {0x64,0x65,0x66,0x69,0x6e,0x65,0x64,}; String_Const_u8 pp_keys_key_array[2] = { -{pp_keys_key_array_0, 7}, {0, 0}, +{pp_keys_key_array_1, 7}, }; Lexeme_Table_Value pp_keys_value_array[2] = { -{4, TokenCppKind_PPDefined}, {0, 0}, +{4, TokenCppKind_PPDefined}, }; i32 pp_keys_slot_count = 2; -u64 pp_keys_seed = 0x53c240fe1a473604; +u64 pp_keys_seed = 0x71428d58f01a7eed; struct Lex_State_Cpp{ u32 flags_ZF0; u32 flags_KF0; diff --git a/custom/generated/system_api_constructor.cpp b/custom/generated/system_api_constructor.cpp new file mode 100644 index 00000000..ca22b181 --- /dev/null +++ b/custom/generated/system_api_constructor.cpp @@ -0,0 +1,219 @@ +function API_Definition* +system_api_construct(Arena *arena){ +API_Definition *result = begin_api(arena, "system"); +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_path"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "System_Path_Code", "path_code"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_canonical"), string_u8_litexpr("String_Const_u8"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "String_Const_u8", "name"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_file_list"), string_u8_litexpr("File_List"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "arena"); +api_param(arena, call, "String_Const_u8", "directory"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("quick_file_attributes"), string_u8_litexpr("File_Attributes"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "scratch"); +api_param(arena, call, "String_Const_u8", "file_name"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("load_handle"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "scratch"); +api_param(arena, call, "char*", "file_name"); +api_param(arena, call, "Plat_Handle*", "out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("load_attributes"), string_u8_litexpr("File_Attributes"), string_u8_litexpr("")); +api_param(arena, call, "Plat_Handle", "handle"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("load_file"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Plat_Handle", "handle"); +api_param(arena, call, "char*", "buffer"); +api_param(arena, call, "u32", "size"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("load_close"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Plat_Handle", "handle"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("save_file"), string_u8_litexpr("File_Attributes"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "scratch"); +api_param(arena, call, "char*", "file_name"); +api_param(arena, call, "String_Const_u8", "data"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("load_library"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "scratch"); +api_param(arena, call, "String_Const_u8", "file_name"); +api_param(arena, call, "System_Library*", "out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("release_library"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "System_Library", "handle"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_proc"), string_u8_litexpr("Void_Func*"), string_u8_litexpr("")); +api_param(arena, call, "System_Library", "handle"); +api_param(arena, call, "char*", "proc_name"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("now_time"), string_u8_litexpr("u64"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("wake_up_timer_create"), string_u8_litexpr("Plat_Handle"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("wake_up_timer_release"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Plat_Handle", "handle"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("wake_up_timer_set"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Plat_Handle", "handle"); +api_param(arena, call, "u32", "time_milliseconds"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("signal_step"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "u32", "code"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("sleep"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "u64", "microseconds"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("post_clipboard"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "String_Const_u8", "str"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("cli_call"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "scratch"); +api_param(arena, call, "char*", "path"); +api_param(arena, call, "char*", "script"); +api_param(arena, call, "CLI_Handles*", "cli_out"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("cli_begin_update"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "CLI_Handles*", "cli"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("cli_update_step"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "CLI_Handles*", "cli"); +api_param(arena, call, "char*", "dest"); +api_param(arena, call, "u32", "max"); +api_param(arena, call, "u32*", "amount"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("cli_end_update"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "CLI_Handles*", "cli"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("open_color_picker"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Color_Picker*", "picker"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_screen_scale_factor"), string_u8_litexpr("f32"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("thread_launch"), string_u8_litexpr("System_Thread"), string_u8_litexpr("")); +api_param(arena, call, "Thread_Function*", "proc"); +api_param(arena, call, "void*", "ptr"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("thread_join"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Thread", "thread"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("thread_free"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Thread", "thread"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("thread_get_id"), string_u8_litexpr("i32"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("acquire_global_frame_mutex"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Thread_Context*", "tctx"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("release_global_frame_mutex"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "Thread_Context*", "tctx"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("mutex_make"), string_u8_litexpr("System_Mutex"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("mutex_acquire"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Mutex", "mutex"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("mutex_release"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Mutex", "mutex"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("mutex_free"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Mutex", "mutex"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("condition_variable_make"), string_u8_litexpr("System_Condition_Variable"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("condition_variable_wait"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Condition_Variable", "cv"); +api_param(arena, call, "System_Mutex", "mutex"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("condition_variable_signal"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Condition_Variable", "cv"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("condition_variable_free"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "System_Condition_Variable", "cv"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("memory_allocate"), string_u8_litexpr("void*"), string_u8_litexpr("")); +api_param(arena, call, "umem", "size"); +api_param(arena, call, "String_Const_u8", "location"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("memory_set_protection"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "void*", "ptr"); +api_param(arena, call, "umem", "size"); +api_param(arena, call, "u32", "flags"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("memory_free"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "void*", "ptr"); +api_param(arena, call, "umem", "size"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("memory_annotation"), string_u8_litexpr("Memory_Annotation"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "arena"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("show_mouse_cursor"), string_u8_litexpr("void"), string_u8_litexpr("")); +api_param(arena, call, "i32", "show"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("set_fullscreen"), string_u8_litexpr("b32"), string_u8_litexpr("")); +api_param(arena, call, "b32", "full_screen"); +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("is_fullscreen"), string_u8_litexpr("b32"), string_u8_litexpr("")); +(void)call; +} +{ +API_Call *call = api_call_with_location(arena, result, string_u8_litexpr("get_keyboard_modifiers"), string_u8_litexpr("Input_Modifier_Set"), string_u8_litexpr("")); +api_param(arena, call, "Arena*", "arena"); +} +return(result); +} diff --git a/docs/4ed_doc_content_types.cpp b/docs/4ed_doc_content_types.cpp index e96b26ad..c5ad0901 100644 --- a/docs/4ed_doc_content_types.cpp +++ b/docs/4ed_doc_content_types.cpp @@ -88,8 +88,7 @@ new_doc_page_normal_title(Arena *arena, Doc_Cluster *cluster, char *title, char function Doc_Page* new_doc_page_function(Arena *arena, Doc_Cluster *cluster, char *name){ - String_Const_u8 full_name = push_u8_stringf(arena, "%s function", name); - return(new_doc_page_normal_title(arena, cluster, name, (char*)full_name.str)); + return(new_doc_page_normal_title(arena, cluster, name, name)); } function Doc_Page* diff --git a/docs/4ed_doc_custom_api_global.cpp b/docs/4ed_doc_custom_api_global.cpp index db1b735d..b33ced97 100644 --- a/docs/4ed_doc_custom_api_global.cpp +++ b/docs/4ed_doc_custom_api_global.cpp @@ -1213,6 +1213,24 @@ doc_custom_api__global(Arena *arena, API_Definition *api_def, Doc_Cluster *clust if (begin_doc_call(arena, cluster, api_def, "get_core_profile_list", &func)){ doc_function_brief(arena, &func, "Potentially going to be deprecated - do not rely on this call!"); } + + //////////////////////////////// + + if (begin_doc_call(arena, cluster, api_def, "get_custom_layer_boundary_docs", &func)){ + doc_function_brief(arena, &func, "Construct the documentation content for the custom layer boundary API"); + + // params + Doc_Block *params = doc_function_begin_params(arena, &func); + doc_custom_app_ptr(arena, &func); + + doc_function_param(arena, &func, "arena"); + doc_text(arena, params, "the arena on which the documentation content will be allocated"); + + // return + Doc_Block *ret = doc_function_return(arena, &func); + doc_text(arena, ret, "a pointer to the newly constructed documentation content"); + } + } // BOTTOM diff --git a/docs/4ed_doc_custom_api_view.cpp b/docs/4ed_doc_custom_api_view.cpp index 7df6112e..dcaaf804 100644 --- a/docs/4ed_doc_custom_api_view.cpp +++ b/docs/4ed_doc_custom_api_view.cpp @@ -529,6 +529,7 @@ doc_custom_api__view(Arena *arena, API_Definition *api_def, Doc_Cluster *cluster Doc_Block *ret = doc_function_return(arena, &func); doc_text(arena, ret, "non-zero if the panel exists and is a split panel, zero otherwise"); + // TODO(allen): write this allen! // details Doc_Block *det = doc_function_details(arena, &func); doc_text(arena, det, "");