mirror of
https://github.com/Ed94/metadesk.git
synced 2026-06-15 00:32:23 -07:00
47 lines
987 B
C
47 lines
987 B
C
// Sample code for old Data Desk style custom layer, adapted to Metadesk.
|
|
|
|
#include "md.h"
|
|
#include "md.c"
|
|
|
|
static void
|
|
Initialize(void)
|
|
{
|
|
// Called when the program starts.
|
|
}
|
|
|
|
static void
|
|
TopLevel(MD_Node *node)
|
|
{
|
|
// Called for every top-level node that is parsed from passed files.
|
|
}
|
|
|
|
static void
|
|
CleanUp(void)
|
|
{
|
|
// Runs before the program ends.
|
|
}
|
|
|
|
int main(int argument_count, char **arguments)
|
|
{
|
|
// NOTE(rjf): Parse all the files passed in via command line.
|
|
MD_Node *first = MD_NilNode();
|
|
MD_Node *last = MD_NilNode();
|
|
for(int i = 1; i < argument_count; i += 1)
|
|
{
|
|
MD_Node *root = MD_ParseWholeFile(MD_S8CString(arguments[i])).node;
|
|
MD_PushSibling(&first, &last, MD_NilNode(), root);
|
|
}
|
|
|
|
// NOTE(rjf): Call "custom layer" back.
|
|
Initialize();
|
|
for(MD_EachNode(root, first))
|
|
{
|
|
for(MD_EachNode(node, root->first_child))
|
|
{
|
|
TopLevel(node);
|
|
}
|
|
}
|
|
CleanUp();
|
|
|
|
return 0;
|
|
} |