10 个版本
0.2.1 | 2024年7月12日 |
---|---|
0.2.0 | 2024年7月9日 |
0.1.7 | 2024年7月9日 |
#10 在 #模糊匹配
每月 304 次下载
15KB
230 行
Fuzzypicker
Fuzzypicker 是一个 Rust 库,用于在命令行应用程序中启用模糊搜索和交互式选择项目。它旨在帮助构建 CLI 工具,其中用户需要根据模糊匹配标准从列表中选择一个项目。
功能
- 根据用户输入在列表中模糊搜索项目。
- 具有键盘和鼠标支持的交互式选择。
- 无缝集成到基于 Rust 的命令行应用程序中。
安装
将 fuzzypicker 添加到您的项目中
cargo add fuzzypicker
用法
以下是一个基本示例,说明如何使用 fuzzypicker 在 Rust CLI 应用程序中实现模糊选择机制
use fuzzypicker::FuzzyPicker;
fn main() {
// Example list of items (could be anything implementing Display + Clone)
let items = vec![
"apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew",
];
// Create a new FuzzyPicker instance
let mut picker = FuzzyPicker::new(&items);
// Perform interactive selection
if let Ok(Some(selected_item)) = picker.pick() {
println!("Selected item: {}", selected_item);
} else {
println!("Selection cancelled or no item selected.");
}
}
API
结构体 FuzzyPicker<T:显示+ 克隆>
方法
new(items: &[T]) -> Self
: 使用项目列表构建一个新的FuzzyPicker
实例。pick() -> Result<Option<T>, Box<dyn Error>>
: 启动交互式选择过程。如果选择了项目,则返回 Some(selected_item),如果取消选择,则返回 None。
贡献
欢迎贡献!如果您想为 fuzzypicker
贡献,请分叉存储库并提交一个拉取请求。对于重大更改,请首先打开一个问题来讨论您想进行哪些更改。
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- 此库使用 crossterm 进行终端处理和输入。
- 模糊匹配由 fuzzy-matcher 提供。
依赖关系
~1–6.5MB
~23K SLoC