简短 xy.h 的颜色API

This commit is contained in:
Aoran Zeng committed 2026-08-13 11:25:14 +08:00
1 parent 5e765d3918
commit a6f981370e
3 files changed
+46 -46

No files matched your search

+21 -21
View File
@@ -545,12 +545,12 @@ xy_str2float (const char *str)
#define _XY_Str_Blink 5
#define _XY_Str_Cross 9
#define xy_str_to_bold(str) _xy_str_to_terminal_style (_XY_Str_Bold, str)
#define xy_str_to_faint(str) _xy_str_to_terminal_style (_XY_Str_Faint, str)
#define xy_str_to_italic(str) _xy_str_to_terminal_style (_XY_Str_Italic, str)
#define xy_str_to_underline(str) _xy_str_to_terminal_style (_XY_Str_Underline, str)
#define xy_str_to_blink(str) _xy_str_to_terminal_style (_XY_Str_Blink, str)
#define xy_str_to_cross(str) _xy_str_to_terminal_style (_XY_Str_Cross, str)
#define xy_str2bold(str) _xy_str_to_terminal_style (_XY_Str_Bold, str)
#define xy_str2faint(str) _xy_str_to_terminal_style (_XY_Str_Faint, str)
#define xy_str2italic(str) _xy_str_to_terminal_style (_XY_Str_Italic, str)
#define xy_str2underline(str) _xy_str_to_terminal_style (_XY_Str_Underline, str)
#define xy_str2blink(str) _xy_str_to_terminal_style (_XY_Str_Blink, str)
#define xy_str2cross(str) _xy_str_to_terminal_style (_XY_Str_Cross, str)
#define _XY_Str_Red 31
#define _XY_Str_Green 32
@@ -559,13 +559,13 @@ xy_str2float (const char *str)
#define _XY_Str_Magenta 35
#define _XY_Str_Cyan 36
#define xy_str_to_red(str) _xy_str_to_terminal_style (_XY_Str_Red, str)
#define xy_str_to_green(str) _xy_str_to_terminal_style (_XY_Str_Green, str)
#define xy_str_to_yellow(str) _xy_str_to_terminal_style (_XY_Str_Yellow, str)
#define xy_str_to_blue(str) _xy_str_to_terminal_style (_XY_Str_Blue, str)
#define xy_str_to_magenta(str) _xy_str_to_terminal_style (_XY_Str_Magenta, str)
#define xy_str_to_purple xy_str_to_magenta
#define xy_str_to_cyan(str) _xy_str_to_terminal_style (_XY_Str_Cyan, str)
#define xy_str2red(str) _xy_str_to_terminal_style (_XY_Str_Red, str)
#define xy_str2green(str) _xy_str_to_terminal_style (_XY_Str_Green, str)
#define xy_str2yellow(str) _xy_str_to_terminal_style (_XY_Str_Yellow, str)
#define xy_str2blue(str) _xy_str_to_terminal_style (_XY_Str_Blue, str)
#define xy_str2magenta(str) _xy_str_to_terminal_style (_XY_Str_Magenta, str)
#define xy_str2purple xy_str2magenta
#define xy_str2cyan(str) _xy_str_to_terminal_style (_XY_Str_Cyan, str)
/**
* @memory SAFE
@@ -951,20 +951,20 @@ _xy_log (int level, const char *prompt, const char *content)
}
else if (level & _XY_Log_Success)
{
str = xy_strcat (3, prompt, ": ", xy_str_to_green (content));
str = xy_strcat (3, prompt, ": ", xy_str2green (content));
}
else if (level & _XY_Log_Info)
{
str = xy_strcat (3, prompt, ": ", xy_str_to_blue (content));
str = xy_strcat (3, prompt, ": ", xy_str2blue (content));
}
else if (level & _XY_Log_Warn)
{
str = xy_strcat (3, prompt, ": ", xy_str_to_yellow (content));
str = xy_strcat (3, prompt, ": ", xy_str2yellow (content));
to_stderr = true;
}
else if (level & _XY_Log_Error)
{
str = xy_strcat (3, prompt, ": ", xy_str_to_red (content));
str = xy_strcat (3, prompt, ": ", xy_str2red (content));
to_stderr = true;
}
else
@@ -1036,7 +1036,7 @@ _xy_log_brkt (int level, const char *prompt1, const char *prompt2, const char *c
{
/* [app 成功] [app success] */
str = xy_strcat (6,
"[", xy_str_to_green (prompt1), " ", xy_str_to_bold (xy_str_to_green (prompt2)), "] ", xy_str_to_green (content));
"[", xy_str2green (prompt1), " ", xy_str2bold (xy_str2green (prompt2)), "] ", xy_str2green (content));
}
else if (level & _XY_Log_Info)
{
@@ -1044,20 +1044,20 @@ _xy_log_brkt (int level, const char *prompt1, const char *prompt2, const char *c
[app 提示] [app notice]
*/
str = xy_strcat (6,
"[", xy_str_to_blue (prompt1), " ", xy_str_to_bold (xy_str_to_blue (prompt2)), "] ", xy_str_to_blue (content));
"[", xy_str2blue (prompt1), " ", xy_str2bold (xy_str2blue (prompt2)), "] ", xy_str2blue (content));
}
else if (level & _XY_Log_Warn)
{
/* [app 警告] [app warn] */
str = xy_strcat (6,
"[", xy_str_to_yellow (prompt1), " ", xy_str_to_bold (xy_str_to_yellow (prompt2)), "] ", xy_str_to_yellow (content));
"[", xy_str2yellow (prompt1), " ", xy_str2bold (xy_str2yellow (prompt2)), "] ", xy_str2yellow (content));
to_stderr = true;
}
else if (level & _XY_Log_Error)
{
/* [app 错误] [app error] */
str = xy_strcat (6,
"[", xy_str_to_red (prompt1), " ", xy_str_to_bold (xy_str_to_red (prompt2)), "] ", xy_str_to_red (content));
"[", xy_str2red (prompt1), " ", xy_str2bold (xy_str2red (prompt2)), "] ", xy_str2red (content));
to_stderr = true;
}
else
+12 -12
View File
@@ -171,18 +171,18 @@ ProgStore =
/* 多语句必须括起来,否则在不带 { } 的 if else 等语句中会出错 */
#define chsrc_breakdown(reason) { xy_error(App_Name "(BREAKDOWN)",reason); exit(Exit_MaintainerCause); }
#define faint(str) xy_str_to_faint(str)
#define red(str) xy_str_to_red(str)
#define blue(str) xy_str_to_blue(str)
#define green(str) xy_str_to_green(str)
#define yellow(str) xy_str_to_yellow(str)
#define purple(str) xy_str_to_purple(str)
#define bold(str) xy_str_to_bold(str)
#define bdred(str) xy_str_to_bold(xy_str_to_red(str))
#define bdblue(str) xy_str_to_bold(xy_str_to_blue(str))
#define bdgreen(str) xy_str_to_bold(xy_str_to_green(str))
#define bdyellow(str) xy_str_to_bold(xy_str_to_yellow(str))
#define bdpurple(str) xy_str_to_bold(xy_str_to_purple(str))
#define faint(str) xy_str2faint(str)
#define red(str) xy_str2red(str)
#define blue(str) xy_str2blue(str)
#define green(str) xy_str2green(str)
#define yellow(str) xy_str2yellow(str)
#define purple(str) xy_str2purple(str)
#define bold(str) xy_str2bold(str)
#define bdred(str) xy_str2bold(xy_str2red(str))
#define bdblue(str) xy_str2bold(xy_str2blue(str))
#define bdgreen(str) xy_str2bold(xy_str2green(str))
#define bdyellow(str) xy_str2bold(xy_str2yellow(str))
#define bdpurple(str) xy_str2bold(xy_str2purple(str))
/* 2系列都是带有括号的 */
#define chsrc_succ2(str) xy_succ_brkt(App_Name,ENGLISH?"SUCCEED":"成功",str)
+13 -13
View File
@@ -44,20 +44,20 @@ main (int argc, char const *argv[])
say (xy_strcat (4, "水落鱼梁浅,", "天寒梦泽深。", "羊公碑字在,", "读罢泪沾襟。"));
say (xy_strcat (6, "楚山横地出,", "汉水接天回。", "冠盖非新里,", "章华即旧台。", "习池风景异,", "归路满尘埃。"));
print (xy_str_to_bold ("粗体"));
print (xy_str_to_faint ("浅体"));
print (xy_str_to_italic ("斜体"));
print (xy_str_to_underline ("下划线"));
print (xy_str_to_blink ("闪烁"));
print (xy_str_to_cross ("删除线"));
print (xy_str2bold ("粗体"));
print (xy_str2faint ("浅体"));
print (xy_str2italic ("斜体"));
print (xy_str2underline ("下划线"));
print (xy_str2blink ("闪烁"));
print (xy_str2cross ("删除线"));
print (xy_str_to_red ("红色"));
print (xy_str_to_green ("绿色"));
print (xy_str_to_yellow ("黄色"));
print (xy_str_to_blue ("蓝色"));
print (xy_str_to_magenta ("紫色"));
print (xy_str_to_purple ("紫色"));
print (xy_str_to_cyan ("青色"));
print (xy_str2red ("红色"));
print (xy_str2green ("绿色"));
print (xy_str2yellow ("黄色"));
print (xy_str2blue ("蓝色"));
print (xy_str2magenta ("紫色"));
print (xy_str2purple ("紫色"));
print (xy_str2cyan ("青色"));
br();
xy_log ("普通", "输出普通内容");