4coder/custom/4coder_prj_v1.h

68 lines
1.2 KiB
C

/*
4coder_prj_v1.h - type header paired with 4coder_prj_v1.cpp
*/
// TOP
#ifndef FCODER_PRJ_V1_H
#define FCODER_PRJ_V1_H
///////////////////////////////
// NOTE(allen): Project v0-v1 Structure
struct Prj_V1_File_Load_Path{
String8 path;
b32 recursive;
b32 relative;
};
struct Prj_V1_File_Load_Path_Array{
Prj_V1_File_Load_Path *paths;
i32 count;
};
struct Prj_V1_Command{
String8 name;
String8 cmd;
String8 out;
b32 footer_panel;
b32 save_dirty_files;
b32 cursor_at_end;
};
struct Prj_V1_Command_Array{
Prj_V1_Command *commands;
i32 count;
};
struct Prj_V1{
b32 loaded;
String8 dir;
String8 name;
Prj_Pattern_List pattern_list;
Prj_Pattern_List blacklist_pattern_list;
Prj_V1_File_Load_Path_Array load_path_array;
Prj_V1_Command_Array command_array;
i32 fkey_commands[16];
};
enum Prj_V1_OS_Match_Level{
PrjV1OSMatchLevel_NoMatch = 0,
PrjV1OSMatchLevel_PassiveMatch = 1,
PrjV1OSMatchLevel_ActiveMatch = 2,
};
////////////////////////////////
// NOTE(allen): Project v0-v1 -> v2 Function
function Variable_Handle prj_v1_to_v2(Application_Links *app, String8 dir, Config *parsed);
#endif //4CODER_PRJ_V1_H
// BOTTOM