26 lines
633 B
C
26 lines
633 B
C
#if !defined(META_PASS)
|
|
#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 0
|
|
#if defined(CUSTOM_COMMAND_SIG)
|
|
#define PROC_LINKS(x,y) x
|
|
#else
|
|
#define PROC_LINKS(x,y) y
|
|
#endif
|
|
#if defined(CUSTOM_COMMAND_SIG)
|
|
#endif
|
|
struct Command_Metadata{
|
|
PROC_LINKS(Custom_Command_Function, void) *proc;
|
|
char *name;
|
|
i32 name_len;
|
|
char *description;
|
|
i32 description_len;
|
|
char *source_name;
|
|
i32 source_name_len;
|
|
i32 line_number;
|
|
};
|
|
static Command_Metadata fcoder_metacmd_table[0] = {
|
|
};
|
|
#endif
|