1 个不稳定版本
0.1.3 | 2023年6月24日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#1002 in 命令行界面
36 每月下载量
25KB
581 代码行数
CSI 解析器
这是一个简单的 CSI 解析器,仅提供对常见 CSI 子集的解析。
此存储库受到 cansi 的启发
如果您有其他要求,请随时提交 PR(Pull Request)
请参阅 CSI 的定义
请参阅 rs 文档
在 github 上查看进度并贡献
示例
use csi_parser::iter::{CsiParser, Output};
fn main() {
let text = "👋, \x1b[31;4m🌍\x1b[0m!";
let result: Vec<Output> = text.csi_parser().skip(1).collect();
for out in result {
match out {
Output::Text(txt) => {
println!("{}", txt);
}
Output::Escape(csi_seq) => {
println!("{}", csi_seq);
}
}
}
}
您将得到以下结果
[Some(31);None;Some(4)m
🌍
[Some(0);None;Nonem
特性
为了支持 no_std
特性,您只需在您的项目中运行以下命令:cargo add --no-default-features -F no_std