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