8 个版本
新 0.2.7 | 2024 年 8 月 23 日 |
---|---|
0.2.6 | 2024 年 8 月 23 日 |
0.2.2 | 2024 年 7 月 30 日 |
4 在 #trivial
905 每月下载量
60KB
1.5K SLoC
PIPELIGHT_utils 库
!! API 未稳定且缺乏文档 !! !! 自行承担下载风险 !!
一套用于命令行工具的简单实用程序。
这些是从 pipelight 自动化命令行工具中清理出来的最干净的代码模块。
lib.rs
:
!! API 未稳定 - 缺乏文档 - 请勿使用 !!
关于
PIPELIGHT_utils 是一个库,收集了一系列用于命令行工具的简单实用程序。
这些是从 pipelight 中提取并命名的最干净的模块,它是一个小巧的自动化工具。
Teleport - 递归查找文件。
您可以浏览文件系统以查找配置文件。
use pipelight_utils::teleport::Portal;
let mut portal = Portal::new()?;
// Set a pattern to search for.
portal.seed("pipelight").search()?;
// Get the file path
let file_path = portal.target.file_path.clone().unwrap();
// Get the directory path
let directory_path = portal.target.directory_path.clone().unwrap();
// Go to the target directory
portal.teleport()?;
// Go back to the origin directory
portal.origin()?;
File - 使用漂亮的诊断解析文件类型。
结构良好的解析错误报告,包含特定语言的错误类型。归功于 thiserror 和 miette 库。
假设您想将数据反序列化为 Config 结构。
let res = serde_yaml::from_str::<Value>(&string);
match res {
Ok(res) => Ok(res),
Err(e) => {
let err = YamlError::new(e, &string);
return Err(err.into());
}
};
let res = toml::from_str::<Value>(&string);
match res {
Ok(res) => Ok(res),
Err(e) => {
let err = TomlError::new(e, &string);
return Err(err.into());
}
};
Git - 简单的 Git 仓库操作。
use pipelight_utils::git::Git;
let repo = Git::new();
let branch = repo.get_branch()?;
let tag = repo.get_tag()?;
let commit = repo.get_commit()?;
依赖项
~21–36MB
~611K SLoC