From 5a165d3255907f8253fe9fed195a55ea9f9a1e03 Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Sun, 2 Jun 2024 23:56:49 +0800 Subject: [PATCH 01/11] :sparkles: beautiful unicode output info --- makefile | 7 ++- src/ast_dumper.h | 8 +-- src/cli/cli.cpp | 36 +++++++++++++ src/cli/cli.h | 3 ++ src/main.cpp | 50 +++--------------- src/nasal_gc.cpp | 125 ++++++++++++++++++++++++++++---------------- test/ascii-art.nas | 2 +- test/occupation.nas | 98 +++++++++++++++++----------------- 8 files changed, 186 insertions(+), 143 deletions(-) diff --git a/makefile b/makefile index 698e9c2..17a35e8 100644 --- a/makefile +++ b/makefile @@ -112,7 +112,12 @@ build/nasal_type.o:\ src/nasal_type.h src/nasal_type.cpp | build $(CXX) $(CXXFLAGS) src/nasal_type.cpp -o build/nasal_type.o -build/nasal_gc.o: src/nasal.h src/nasal_type.h src/nasal_gc.h src/nasal_gc.cpp | build +build/nasal_gc.o:\ + src/nasal.h\ + src/util/util.h\ + src/nasal_type.h\ + src/nasal_gc.h\ + src/nasal_gc.cpp | build $(CXX) $(CXXFLAGS) src/nasal_gc.cpp -o build/nasal_gc.o build/nasal_import.o: \ diff --git a/src/ast_dumper.h b/src/ast_dumper.h index 3855509..2af89fd 100644 --- a/src/ast_dumper.h +++ b/src/ast_dumper.h @@ -45,7 +45,7 @@ private: std::string format_location(expr* node) { std::stringstream ss; - ss << " → ["; + ss << " ⇒ ["; node->get_location().dump_begin(ss); ss << "]\n"; return ss.str(); @@ -90,10 +90,10 @@ public: public: void dump(code_block* root) { - util::windows_code_page_manager wcpm; - wcpm.set_utf8_output(); + util::windows_code_page_manager wm; + wm.set_utf8_output(); root->accept(this); - wcpm.restore_code_page(); + wm.restore_code_page(); } }; diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index fa0caf5..8605fa1 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -23,4 +23,40 @@ cli_config parse(const std::vector& args) { return result; } +std::ostream& help(std::ostream& out) { + out + << "\n" + << " ,--#-,\n" + << "<3 / \\____\\ <3\n" + << " |_|__A_|\n" + << "\nnasal