Files
mutil/main.cpp

94 lines
3.4 KiB
C++

#include <Logging.hpp>
#include <Desktop.hpp>
#include <Console.hpp>
#include <source_location>
class Debug : public Mutil::Logging::LoggerObj {
std::string NormalRen = Mutil::Console::Graphics::Rendition().Compile();
std::string MessageRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 135).Compile();
std::string TraceRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RBold, 241).Compile();
public:
Debug() : LoggerObj(std::cout, [this](const std::string_view m) {return std::format("{}{}[D] {}{}", NormalRen, MessageRen, m, NormalRen); }) {};
void Trace(const std::source_location &location = std::source_location::current()) {
this->operator()("{}{} @ {}:{}", TraceRen, location.function_name(), location.file_name(), location.line());
};
};
int main() {
std::function<std::string(const std::string_view)> λmessage = [](const std::string_view m) {
return std::format("{}{} {}{}{}",
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 252, 186, 3).Compile(),
"-->",
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RUnderline, 74).Compile(),
m,
Mutil::Console::Graphics::Rendition().Compile());
};
Mutil::Logging::LoggerObj l(std::cout, λmessage);
l("Hello world");
l << "something" << "something." << "something..";
Mutil::Console::Graphics::Rendition r(Mutil::Console::Graphics::RItalic, 252, 186, 3);
std::string c = r.Compile();
std::cout << c << "ass" << std::endl;
std::cout << Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RBold | Mutil::Console::Graphics::RItalic, 160, 186, 3).Compile() << "SHIIIIIIT" << Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RNormal).Compile() << std::endl;
Debug d;
d << "DEBUGGGGING";
d.Trace();
Mutil::Console::Graphics::String s("balls");
std::cout << s.Render({Mutil::Console::Graphics::RItalic}) << std::endl;
//d << Mutil::Console::Functions::CursorUp(6);
//d.Trace();
//std::cout << "\x1b[2J" << Mutil::Console::Functions::CursorPosition(1, 3) << "AAAAAAAAAAAAAAAAA" << std::endl;
//std::cout << "\x1b[2J";
//std::cout << Mutil::Console::Functions::CursorPosition(1, 39
//) << "AAAAAAAA";
//std::cout << Mutil::Console::Functions::CursorPosition(2, 35) << "AAAA";
//std::cout << Mutil::Console::Functions::CursorPosition(3, 31) << "AAAA";
// std::cout << Mutil::Console::Functions::CursorPosition(4, 29) << "AA";
// std::cout << std::endl;
Mutil::Console::Functions::Display display;
display.J(2);
display.H();
display.m({Mutil::Console::Graphics::RUnderline,70});
//const char* womp = "womp womp";
//std::cout << womp << std::endl;
display << "ASS" << std::endl;
display << "DICK" << "FUCK" << std::endl;
display.m({});
//display << "\x1b[?47h";
display.H();
display.J(2);
display.s();
display.H(24,80);
display.m({Mutil::Console::Graphics::RUnderline, 27});
display << "SomethingSomethingAsshole" << std::endl;
//display.H(3,3);
display.m({});
display.u();
//display.s();
//display.H(24,80);
//display << "0" << std::endl;
//display.u();
//display << "\x1b[?47l";
//Desktop::Browser::OpenURL("https://git.redacted.cc/maxine/mutil");
}