diff --git a/CMakeLists.txt b/CMakeLists.txt index 98cba11..1a56a25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,8 @@ cmake_minimum_required(VERSION 3.16) project(LoggingLibrary LANGUAGES CXX) -set(SOURCES src/main.cpp src/Logger.cpp) +set(SOURCES src/main.cpp src/Logger.cpp + src/AsciiColor.cpp) set(INCLUDES src/includes) set(CMAKE_BUILD_TYPE Debug) diff --git a/src/AsciiColor.cpp b/src/AsciiColor.cpp new file mode 100644 index 0000000..2cbd269 --- /dev/null +++ b/src/AsciiColor.cpp @@ -0,0 +1,15 @@ +#include "includes/AsciiColor.h" + +std::string AsciiColor::colorized(const std::string& text, Color color) { + std::string code; + switch (color) { + case Color::Red: code = "\033[31m"; break; + case Color::Green: code = "\033[32m"; break; + case Color::Yellow: code = "\033[33m"; break; + case Color::Blue: code = "\033[34m"; break; + case Color::Magenta: code = "\033[35m"; break; + case Color::Cyan: code = "\033[36m"; break; + case Color::White: code = "\033[37m"; break; + } + return code + text + "\033[0m"; +} diff --git a/src/includes/AsciiColor.h b/src/includes/AsciiColor.h new file mode 100644 index 0000000..f13f3be --- /dev/null +++ b/src/includes/AsciiColor.h @@ -0,0 +1,17 @@ +#pragma once +#include + +enum class Color { + Red, + Green, + Yellow, + Blue, + Magenta, + Cyan, + White +}; + +class AsciiColor { +public: + static std::string colorized(const std::string& text, Color color); +}; diff --git a/src/main.cpp b/src/main.cpp index e4787c5..aeb0df8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,9 @@ #include "includes/Logger.h" +#include "includes/AsciiColor.h" +#include int main() { - Logger log; + std::cout << AsciiColor::colorized("This is red!\n", Color::Red); + std::cout << AsciiColor::colorized("This is green!\n", Color::Green); + std::cout << AsciiColor::colorized("This is yellow!\n", Color::Yellow); }