From c8e0016fa562996aef7e7fcea9b7ebc3cf6a7e90 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 17 Feb 2024 22:19:15 +0000 Subject: [PATCH] core: throw hyprlang errors --- src/helpers/Log.hpp | 26 +++++++++++++++----------- src/main.cpp | 12 ++++++++++-- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/helpers/Log.hpp b/src/helpers/Log.hpp index 5fcaaef..e11da90 100644 --- a/src/helpers/Log.hpp +++ b/src/helpers/Log.hpp @@ -9,7 +9,8 @@ enum eLogLevel { LOG, WARN, ERR, - CRIT + CRIT, + NONE }; #define RASSERT(expr, reason, ...) \ @@ -36,19 +37,22 @@ namespace Debug { if (quiet) return; - std::cout << '['; + if (level != NONE) { + std::cout << '['; - switch (level) { - case TRACE: std::cout << "TRACE"; break; - case INFO: std::cout << "INFO"; break; - case LOG: std::cout << "LOG"; break; - case WARN: std::cout << "WARN"; break; - case ERR: std::cout << "ERR"; break; - case CRIT: std::cout << "CRITICAL"; break; + switch (level) { + case TRACE: std::cout << "TRACE"; break; + case INFO: std::cout << "INFO"; break; + case LOG: std::cout << "LOG"; break; + case WARN: std::cout << "WARN"; break; + case ERR: std::cout << "ERR"; break; + case CRIT: std::cout << "CRITICAL"; break; + default: break; + } + + std::cout << "] "; } - std::cout << "] "; - std::cout << std::vformat(fmt, std::make_format_args(args...)) << "\n"; } }; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index c209528..129c6c5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,8 +14,16 @@ int main(int argc, char** argv, char** envp) { Debug::quiet = true; } - g_pConfigManager = std::make_unique(); - g_pConfigManager->init(); + try { + g_pConfigManager = std::make_unique(); + g_pConfigManager->init(); + } catch (const char* err) { + Debug::log(CRIT, "ConfigManager threw: {}", err); + std::string strerr = err; + if (strerr.contains("File does not exist")) + Debug::log(NONE, " Make sure you have a config."); + return 1; + } g_pHypridle = std::make_unique(); g_pHypridle->run();