/* @file log_config.hpp */ #pragma once #include "function.hpp" #include "nestlog/color.hpp" #include namespace xo { /* Tag here b/c we want header-only library */ template struct log_config_impl { /* spaces per indent level */ static std::uint32_t indent_width; /* display style for function names. FS_Simple|FS_Pretty|FS_Streamlined */ static function_style style; /* color encoding */ static color_encoding encoding; /* color to use for function name, on entry/exit (xo::scope creation/destruction) * (ansi color codes, see Select Graphics Rendition subset) */ static std::uint32_t function_entry_color; static std::uint32_t function_exit_color; /* if true, append [file:line] to output */ static bool location_enabled; /* when .location_enabled, write [file:line] starting this many chars from left margin */ static std::uint32_t location_tab; /* color to use for code location */ static std::uint32_t code_location_color; }; /*log_config_impl*/ template std::uint32_t log_config_impl::indent_width = 1; template function_style log_config_impl::style = FS_Streamlined; template color_encoding log_config_impl::encoding = CE_Ansi; template std::uint32_t log_config_impl::function_entry_color = 34; template std::uint32_t log_config_impl::function_exit_color = 32; template bool log_config_impl::location_enabled = true; template std::uint32_t log_config_impl::location_tab = 80; template std::uint32_t log_config_impl::code_location_color = 31; using log_config = log_config_impl; } /*namespace xo*/ /* end log_config.hpp */