From 92f407ac096491be3dd1309d21a55339ccd33ebd Mon Sep 17 00:00:00 2001 From: Max Wash Date: Wed, 20 Nov 2024 22:14:11 +0000 Subject: [PATCH] lang: add colour to internal print functions --- lang/CMakeLists.txt | 2 +- lang/internal.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt index cea2e4e..31477c0 100644 --- a/lang/CMakeLists.txt +++ b/lang/CMakeLists.txt @@ -2,5 +2,5 @@ file(GLOB_RECURSE lang_sources *.c *.h include/ivy/lang/*.h) add_library(ivy-lang SHARED ${lang_sources}) target_include_directories(ivy-lang PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include/) -target_link_libraries(ivy-lang ivy-common Bluelib::Core Bluelib::Object) +target_link_libraries(ivy-lang ivy-common Bluelib::Core Bluelib::Object Bluelib::Term) target_compile_definitions(ivy-lang PRIVATE IVY_EXPORT=1) \ No newline at end of file diff --git a/lang/internal.c b/lang/internal.c index d97c610..05c2d4b 100644 --- a/lang/internal.c +++ b/lang/internal.c @@ -3,6 +3,7 @@ #include #include #include +#include static void print_symbol_node(struct ivy_lexer_symbol_node *node, int depth) { @@ -10,13 +11,13 @@ static void print_symbol_node(struct ivy_lexer_symbol_node *node, int depth) fputs(" ", stdout); } - printf("%c", node->s_char); + b_printf("[cyan]%c[reset]", node->s_char); if (node->s_id != IVY_SYM_NONE) { - printf(" (%s)", ivy_symbol_to_string(node->s_id)); + b_printf(" ([magenta]%s[reset])", ivy_symbol_to_string(node->s_id)); } - printf("\n"); + b_printf("\n"); b_queue_iterator it; b_queue_foreach (&it, &node->s_children) { @@ -39,6 +40,6 @@ void internal_lexer_print_keyword_dict(struct ivy_lexer* lex) const char *kw_name = it.key; enum ivy_keyword kw_id = b_number_get_int(B_NUMBER(it.value)); - printf("[%s] = '%s'\n", ivy_keyword_to_string(kw_id), kw_name); + b_printf("([magenta]%s[reset]) = [green]%s[reset]\n", ivy_keyword_to_string(kw_id), kw_name); } } \ No newline at end of file