11个稳定版本
1.5.2 | 2024年3月18日 |
---|---|
1.5.1 | 2024年3月8日 |
#113 in 调试
777 每月下载次数
用于 objgrep
32KB
705 行
PrintLib
PrintLib是一个Rust库,使打印变得简单。
本文件仅适用于最新版本的
PrintLib
安装
要将PrintLib添加到您的项目中,请进入您的项目文件夹并执行
cargo add PrintLib
然后您可以像其他crate一样导入PrintLib
use PrintLib::*;
示例
示例链接: https://github.com/Toni-Graphics/PrintLib/tree/master/examples/
文档
这是PrintLib的官方文档。
错误
模块 PrintLib::error
是构建错误消息的模块。
ErrorFactory
类
函数名 | 参数 | 描述 |
---|---|---|
new |
ecode: String , msg: String |
这是类的初始化器。它使用错误码 ecode 和错误消息 msg 创建一个新的ErrorFactory。 |
add_code_line |
line: String , display_line_no: bool , line_no: usize , display_add: bool |
此函数向错误消息添加新行。参数 line 是指定错误消息的代码行。 display_lin_no 表示是否显示行号(参数 line_no 是行号)。 display_add 表示是否需要显示+++(它适用于显示潜在修复)。 |
``add_where</code | where_start: usize , where_length: usize , where_msg_b: bool , where_msg: String |
此函数向错误信息中添加一个字符串,以显示错误发生的位置。 where_start 表示显示应该开始的位置(例如,where_start = 3 表示在第三个字符之后开始)。 where_length 表示显示的长度。 where_msg_b :当为 true 时,在显示的右侧显示字符串。当为 false 时,只显示显示的内容。 where_msg 是显示右侧的消息(如果 where_msg_b 为 true) |
add_arrow |
文件: String ,行: usize ,where_start: usize |
添加一个格式为 -->{file }:{line }:{where_start } 的箭头到错误信息 |
add_arrow_w |
文件: String ,行: usize , |
添加一个格式为 -->{file }:{line } 的箭头到错误信息 |
print |
打印错误信息 |
Logger
模块 PrintLib::logr
是可以用来使用日志记录器的模块。
Logger
类
函数名 | 参数 | 描述 |
---|---|---|
new |
conf | 是类的初始化器。参数 conf 是类的 LoggerConfig 。返回一个新实例。 |
debug |
msg: String |
以调试级别打印消息 msg |
info |
msg: String |
以信息级别打印消息 msg |
warn |
msg: String |
以警告级别打印消息 msg |
error |
msg: String |
以错误级别打印消息 msg |
def
函数
返回具有默认配置的 Logger
LoggerConfig
结构体
Name | 类型 | 描述 |
---|---|---|
time |
bool |
是否在日志记录器消息中显示时间 |
info_string |
String |
表示消息为信息级别的字符串(正常:[INFO ]) |
debug_string |
String |
表示消息为调试级别的字符串(正常:[DEBUG ]) |
warn_string |
String |
表示消息为警告级别的字符串(正常:[WARN!] ) |
err_string |
String |
表示消息为错误级别的字符串(正常:[[ERR!] ]) |
info_color |
LoggerColor |
在信息级别中,级别指示符 ([xyz]) 的颜色 |
debug_color |
LoggerColor |
在调试级别中,级别指示符 ([xyz]) 的颜色 |
warn_color |
LoggerColor |
在警告级别中,级别指示符 ([xyz]) 的颜色 |
err_color |
LoggerColor |
在错误级别中,级别指示符 ([xyz]) 的颜色 |
LoggerColor
结构体
Name | 类型 | 描述 |
---|---|---|
r |
u8 |
红色通道 |
g |
u8 |
绿色通道 |
b |
u8 |
蓝色通道 |
Color
模块 PrintLib::colorize
是可以用来着色你的 &str
的模块。
Colorize
特性
函数名 | 参数 | 返回类型 | 描述 |
---|---|---|---|
color |
&self , r: i16 , g: i16 , b: 116 |
String |
将字符串的颜色转换为指定的 rgb 值 |
black |
&self |
String |
使字符串变黑 |
red |
&self |
String |
将字符串设置为红色 |
绿色 |
&self |
String |
将字符串设置为绿色 |
黄色 |
&self |
String |
将字符串设置为黄色 |
蓝色 |
&self |
String |
将字符串设置为蓝色 |
洋红色 |
&self |
String |
将字符串设置为洋红色 |
青色 |
&self |
String |
将字符串设置为青色 |
白色 |
&self |
String |
将字符串设置为白色 |
灰色 |
&self |
String |
将字符串设置为灰色 |
加粗 |
&self |
String |
将字符串设置为加粗 |
斜体 |
&self |
String |
将字符串设置为斜体 |
下划线 |
&self |
String |
将字符串设置为下划线 |
删除线 |
&self |
String |
将字符串设置为删除线 |
bg_black |
&self |
String |
将字符串背景设置为黑色 |
bg_red |
&self |
String |
将字符串背景设置为红色 |
bg_green |
&self |
String |
将字符串背景设置为绿色 |
bg_yellow |
&self |
String |
将字符串背景设置为黄色 |
bg_blue |
&self |
String |
将字符串背景设置为蓝色 |
bg_magenta |
&self |
String |
将字符串背景设置为洋红色 |
bg_cyan |
&self |
String |
将字符串背景设置为青色 |
bg_white |
&self |
String |
将字符串背景设置为白色 |
bg_gray |
&self |
String |
将字符串背景设置为灰色 |
bg_bold |
&self |
String |
将字符串背景设置为加粗 |
结构体 Style
Name | 类型 | 描述 |
---|---|---|
加粗 |
bool |
字符串是否加粗 |
斜体 |
bool |
字符串是否斜体 |
是否有下划线 |
bool |
字符串是否有下划线 |
删除线 |
bool |
是否有删除线 |
结构体 ColoredString
Name | 类型 | 描述 |
---|---|---|
r |
i16 |
红色通道 |
g |
i16 |
绿色通道 |
b |
i16 |
蓝色通道 |
备注:如果红色通道为-1,则没有颜色,而是应用样式(如加粗、斜体等)
函数名 | 参数 | 返回类型 | 描述 |
---|---|---|---|
new |
r: i16 , g: i16 , b: i16 , _attr: Style , _str: &str |
彩色String |
彩色字符串类的初始化器。 |
to_string |
String |
将彩色字符串转换为普通字符串 |
颜色编码器
ColorEncoder::encode
是一个函数,可以将包含颜色名称的简单字符串转换为格式化的字符串。
参数: str
: &str
或 String
描述:格式化指定的字符串,使其具有字符串中指定的颜色
颜色
在字符串中的样子 | 实际颜色 |
---|---|
<black> |
black |
<red> |
red |
<蓝色> |
蓝色 |
<绿色> |
绿色 |
<黄色> |
黄色 |
<洋红色> |
洋红色 |
<青色> |
青色 |
<白色> |
白色 |
<灰色> |
灰色 |
<加粗> |
加粗 |
<斜体> |
斜体 |
<下划线> |
下划线 |
<删除线> |
删除线 |
<&十六进制> |
十六进制颜色 |
表情符号
模块 PrintLib::emoji
是一个模块,可以简化表情符号的打印。
类 EmojiMaker
函数名 | 参数 | 返回类型 | 描述 |
---|---|---|---|
new |
EmojiMaker |
创建一个新的 EmojiMaker | |
add |
name: &str , emoji: &str |
添加一个新的表情符号,名称为 name |
|
get |
name: str |
String |
从内部哈希映射中获取名称为 name 的表情符号 |
参数
模块 PrintLib::arg
是一个模块,简化了与参数相关的所有操作。
类 UsageFactory
函数名 | 参数 | 返回类型 | 描述 |
---|---|---|---|
new |
name: &str , app_name: &str |
UsageFactory |
创建一个新的UsageFactory。 name 是您的产品/应用的名称。 app_name 是您运行程序的方式(例如,对于Cargo,它将是 cargo )。 |
add_cmd |
&mut self ,名称: &str ,描述: &str |
添加一个具有名称name和描述description的新命令 | |
add_opt |
&mut self ,名称: &str ,描述: &str |
添加一个具有名称name和描述description的新选项 | |
print |
&mut self |
打印用法 |
错误
已知
当bg改变时,颜色不正确
依赖
~1MB
~18K SLoC