Put version in variable dump
This commit is contained in:
parent
eee6ae3640
commit
ee37906724
|
@ -540,95 +540,6 @@ def_config_parser_recover(Config_Parser *ctx){
|
|||
////////////////////////////////
|
||||
// NOTE(allen): Dump Config to Variables
|
||||
|
||||
#if 0
|
||||
struct Config_Assignment{
|
||||
Config_Assignment *next;
|
||||
Config_Assignment *prev;
|
||||
|
||||
u8 *pos;
|
||||
Config_LValue *l;
|
||||
Config_RValue *r;
|
||||
|
||||
b32 visited;
|
||||
};
|
||||
|
||||
|
||||
struct Config_LValue{
|
||||
String_Const_u8 identifier;
|
||||
i32 index;
|
||||
};
|
||||
|
||||
struct Config_RValue{
|
||||
Config_RValue_Type type;
|
||||
union{
|
||||
Config_LValue *lvalue;
|
||||
b32 boolean;
|
||||
i32 integer;
|
||||
u32 uinteger;
|
||||
String_Const_u8 string;
|
||||
char character;
|
||||
Config_Compound *compound;
|
||||
};
|
||||
};
|
||||
|
||||
struct Config{
|
||||
i32 *version;
|
||||
Config_Assignment *first;
|
||||
Config_Assignment *last;
|
||||
i32 count;
|
||||
|
||||
Config_Error_List errors;
|
||||
|
||||
String_Const_u8 file_name;
|
||||
String_Const_u8 data;
|
||||
};
|
||||
|
||||
typedef i32 Config_Layout_Type;
|
||||
enum{
|
||||
ConfigLayoutType_Unset = 0,
|
||||
ConfigLayoutType_Identifier = 1,
|
||||
ConfigLayoutType_Integer = 2,
|
||||
ConfigLayoutType_COUNT = 3,
|
||||
};
|
||||
struct Config_Layout{
|
||||
Config_Layout_Type type;
|
||||
u8 *pos;
|
||||
union{
|
||||
String_Const_u8 identifier;
|
||||
i32 integer;
|
||||
};
|
||||
};
|
||||
|
||||
struct Config_Compound_Element{
|
||||
Config_Compound_Element *next;
|
||||
Config_Compound_Element *prev;
|
||||
|
||||
Config_Layout l;
|
||||
Config_RValue *r;
|
||||
};
|
||||
|
||||
struct Config_Compound{
|
||||
struct Config_Compound_Element *first;
|
||||
struct Config_Compound_Element *last;
|
||||
i32 count;
|
||||
};
|
||||
|
||||
struct Config_Get_Result{
|
||||
b32 success;
|
||||
Config_RValue_Type type;
|
||||
u8 *pos;
|
||||
union{
|
||||
b32 boolean;
|
||||
i32 integer;
|
||||
u32 uinteger;
|
||||
String_Const_u8 string;
|
||||
char character;
|
||||
Config_Compound *compound;
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
function Config_Get_Result
|
||||
config_var(Config *config, String_Const_u8 var_name, i32 subscript);
|
||||
|
||||
|
@ -772,6 +683,12 @@ def_var_from_config(Application_Links *app, Variable_Handle parent, String_Const
|
|||
|
||||
Scratch_Block scratch(app);
|
||||
|
||||
if (config->version != 0){
|
||||
String_ID version_key = vars_save_string(string_u8_litexpr("version"));
|
||||
String_ID version_value = vars_save_string(push_stringf(scratch, "%d", *config->version));
|
||||
vars_new_variable(parent, version_key, version_value);
|
||||
}
|
||||
|
||||
for (Config_Assignment *node = config->first;
|
||||
node != 0;
|
||||
node = node->next){
|
||||
|
@ -779,8 +696,8 @@ def_var_from_config(Application_Links *app, Variable_Handle parent, String_Const
|
|||
Config_LValue *l = node->l;
|
||||
if (l != 0){
|
||||
String_Const_u8 string = l->identifier;
|
||||
if (string.size == 0){
|
||||
string = push_stringf(scratch, "%d", l->index);
|
||||
if (l->index != 0){
|
||||
string = push_stringf(scratch, "%.*s.%d", string_expand(string), l->index);
|
||||
}
|
||||
l_value = vars_save_string(string);
|
||||
}
|
||||
|
|
|
@ -372,7 +372,7 @@ static Command_Metadata fcoder_metacmd_table[250] = {
|
|||
{ PROC_LINKS(list_all_substring_locations, 0), false, "list_all_substring_locations", 28, "Queries the user for a string and lists all case-sensitive substring matches found in all open buffers.", 103, "W:\\4ed\\code\\custom\\4coder_search.cpp", 36, 174 },
|
||||
{ PROC_LINKS(list_all_substring_locations_case_insensitive, 0), false, "list_all_substring_locations_case_insensitive", 45, "Queries the user for a string and lists all case-insensitive substring matches found in all open buffers.", 105, "W:\\4ed\\code\\custom\\4coder_search.cpp", 36, 186 },
|
||||
{ PROC_LINKS(load_project, 0), false, "load_project", 12, "Looks for a project.4coder file in the current directory and tries to load it. Looks in parent directories until a project file is found or there are no more parents.", 167, "W:\\4ed\\code\\custom\\4coder_project_commands.cpp", 46, 851 },
|
||||
{ PROC_LINKS(load_theme_current_buffer, 0), false, "load_theme_current_buffer", 25, "Parse the current buffer as a theme file and add the theme to the theme list. If the buffer has a .4coder postfix in it's name, it is removed when the name is saved.", 165, "W:\\4ed\\code\\custom\\4coder_config.cpp", 36, 1744 },
|
||||
{ PROC_LINKS(load_theme_current_buffer, 0), false, "load_theme_current_buffer", 25, "Parse the current buffer as a theme file and add the theme to the theme list. If the buffer has a .4coder postfix in it's name, it is removed when the name is saved.", 165, "W:\\4ed\\code\\custom\\4coder_config.cpp", 36, 1661 },
|
||||
{ PROC_LINKS(load_themes_default_folder, 0), false, "load_themes_default_folder", 26, "Loads all the theme files in the default theme folder.", 54, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 533 },
|
||||
{ PROC_LINKS(load_themes_hot_directory, 0), false, "load_themes_hot_directory", 25, "Loads all the theme files in the current hot directory.", 55, "W:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 545 },
|
||||
{ PROC_LINKS(make_directory_query, 0), false, "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "W:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1493 },
|
||||
|
|
Loading…
Reference in New Issue