29extern const std::string git_info_str;
30extern const std::string git_commit_hash;
31extern const std::string compile_arg;
32extern const std::string version_string;
33extern const bool is_git;
36extern const char *shamrock_compiler_id_string;
38const u32 term_width = 64;
41inline std::string shamrock_title_bar_big =
"\n\
42 █████████ █████ █████ █████████ ██████ ██████ ███████████ ███████ █████████ █████ ████\n\
43 ███░░░░░███░░███ ░░███ ███░░░░░███ ░░██████ ██████ ░░███░░░░░███ ███░░░░░███ ███░░░░░███░░███ ███░ \n\
44░███ ░░░ ░███ ░███ ░███ ░███ ░███░█████░███ ░███ ░███ ███ ░░███ ███ ░░░ ░███ ███ \n\
45░░█████████ ░███████████ ░███████████ ░███░░███ ░███ ░██████████ ░███ ░███░███ ░███████ \n\
46 ░░░░░░░░███ ░███░░░░░███ ░███░░░░░███ ░███ ░░░ ░███ ░███░░░░░███ ░███ ░███░███ ░███░░███ \n\
47 ███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░░███ ███ ░░███ ███ ░███ ░░███ \n\
48░░█████████ █████ █████ █████ █████ █████ █████ █████ █████ ░░░███████░ ░░█████████ █████ ░░████\n\
49 ░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░░░ ░░░░░░░░░ ░░░░░ ░░░░ \n\
53inline std::string get_date_hour_string() {
54 auto now = std::chrono::system_clock::now();
55 auto in_time_t = std::chrono::system_clock::to_time_t(now);
57 ss << std::put_time(std::localtime(&in_time_t),
"%Y-%m-%d %H:%M:%S");
61inline void print_title_bar() {
65 +
"Copyright (c) 2021-2026 Timothée David--Cléris (tim.shamrock@proton.me)"
72 + get_date_hour_string());
std::uint32_t u32
32 bit unsigned integer
std::string trunc_str(std::string s, u32 max_len)
Truncate a string to a specified length, adding an ellipsis if necessary.
void raw_ln(Types... var2)
Prints a log message with multiple arguments followed by a newline.
void print_faint_row()
Prints a faint separator line to the log.
const std::string reset()
Get the reset terminal escape char.
const std::string col8b_cyan()
Get the cyan terminal escape char.