4coder/4coder_project_commands.h

97 lines
1.7 KiB
C

/*
4coder_project_commands.h - type header paired with 4coder_project_commands.cpp
*/
// TOP
#if !defined(FCODER_PROJECT_COMMANDS_H)
#define FCODER_PROJECT_COMMANDS_H
enum{
OpenAllFilesFlag_Recursive = 1,
};
///////////////////////////////
struct Project_File_Pattern{
Absolutes absolutes;
};
struct Project_File_Pattern_Array{
Project_File_Pattern *patterns;
int32_t count;
};
struct Project_File_Load_Path{
String path;
bool32 recursive;
bool32 relative;
};
struct Project_File_Load_Path_Array{
Project_File_Load_Path *paths;
int32_t count;
};
struct Project_Command{
String name;
String cmd;
String out;
bool32 footer_panel;
bool32 save_dirty_files;
bool32 cursor_at_end;
};
struct Project_Command_Array{
Project_Command *commands;
int32_t count;
};
struct Project{
bool32 loaded;
String dir;
String name;
Project_File_Pattern_Array pattern_array;
Project_File_Pattern_Array blacklist_pattern_array;
Project_File_Load_Path_Array load_path_array;
Project_Command_Array command_array;
int32_t fkey_commands[16];
};
typedef int32_t Project_OS_Match_Level;
enum{
ProjectOSMatchLevel_NoMatch = 0,
ProjectOSMatchLevel_PassiveMatch = 1,
ProjectOSMatchLevel_ActiveMatch = 2,
};
struct Project_Parse_Result{
Config *parsed;
Project *project;
};
///////////////////////////////
struct Project_Setup_Status{
bool32 bat_exists;
bool32 sh_exists;
bool32 project_exists;
bool32 everything_exists;
};
struct Project_Key_Strings{
bool32 success;
String script_file;
String code_file;
String output_dir;
String binary_file;
};
#endif
// BOTTOM