lambda-calc-1/expression/error/prettyprint.c
2025-01-26 19:31:24 -06:00

74 lines
1.4 KiB
C

#include <assert.h>
#include <debug.h>
#include <defines/N.h>
#include <stringtree/new.h>
#include <stringtree/prepend.h>
#include <stringtree/append.h>
#include <globals/terminalcolors.h>
#include "../prettyprint.h"
#include "struct.h"
#include "prettyprint.h"
struct stringtree* error_expression_prettyprint(
int *out_chosen_color,
struct expression* super,
bool with_color)
{
ENTER;
TODO;
#if 0
struct error_expression* const this = (void*) super;
int inner_color;
struct stringtree* tree = expression_prettyprint(
&inner_color,
this->subexpression,
with_color);
if (with_color)
{
int my_color = (inner_color + 1) % (int) N(terminalcolors.precedences);
stringtree_prepend_cstr(tree, terminalcolors.reset);
stringtree_prepend_cstr(tree, L"(");
stringtree_prepend_cstr(tree, terminalcolors.precedences[my_color]);
stringtree_append_cstr(tree, terminalcolors.precedences[my_color]);
stringtree_append_cstr(tree, L")");
stringtree_append_cstr(tree, terminalcolors.reset);
if (out_chosen_color)
*out_chosen_color = my_color;
}
else
{
stringtree_prepend_cstr(tree, L"(");
stringtree_append_cstr(tree, L")");
}
EXIT;
return tree;
#endif
}