add logger

This commit is contained in:
chatlanin
2022-03-20 22:01:41 +03:00
parent f87a80b495
commit 6b124255a0
14 changed files with 448 additions and 23 deletions

72
src/view/color.hpp Normal file
View File

@@ -0,0 +1,72 @@
#pragma once
#include <iostream>
namespace hack::view::color
{
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& reset(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[0m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& bold(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[1m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& italic(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[3m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& black(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[30m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& red(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[31m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& green(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[32m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& yellow(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[33m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& blue(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[34m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& magenta(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[35m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& cyan(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[36m";
}
template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& white(std::basic_ostream<CharT, Traits> &os)
{
return os << "\033[37m";
}
}

14
src/view/meson.build Normal file
View File

@@ -0,0 +1,14 @@
headers = ['color.hpp']
sources = []
lib = library(
'view',
include_directories : inc,
install : true,
sources: [headers, sources]
)
view_dep = declare_dependency(
include_directories: inc,
link_with: lib
)