Files
metadesk/samples/node_errors/node_errors.c
T
2021-07-20 21:30:22 -07:00

30 lines
846 B
C

// Sample code to demonstrate errors being reported for certain nodes.
#include "md.h"
#include "md.c"
int main(int argument_count, char **arguments)
{
MD_Arena *arena = MD_ArenaNew(1ull << 40);
// NOTE(rjf): Parse all the files passed in via command line.
MD_Node *list = MD_MakeList();
for(int i = 1; i < argument_count; i += 1)
{
MD_Node *root = MD_ParseWholeFile(arena, MD_S8CString(arguments[i])).node;
MD_PushNewReference(list, root);
}
// NOTE(rjf): Print errors on every single node.
for(MD_EachNode(ref, list->first_child))
{
MD_Node *root = MD_NodeFromReference(ref);
for(MD_EachNode(node, root->first_child))
{
MD_PrintNodeMessageFmt(stderr, node, MD_MessageKind_Error, "This node has an error!");
}
}
return 0;
}