8 个版本 (4 个重大更新)
0.6.0 | 2024年6月10日 |
---|---|
0.5.3 | 2024年3月9日 |
0.4.0 | 2023年10月10日 |
0.3.0 | 2023年10月7日 |
0.2.0 | 2023年10月6日 |
#388 在 命令行界面
每月 35 次下载
用于 faye
28KB
481 行
Pomprt
从头开始构建的精巧且可扩展的 readline 实现
Pomprt 是一个小巧但功能丰富的多行编辑器,支持语法高亮、提示和自动完成。
- 支持 UTF-8
- 行历史记录
- 熟悉的快捷键:大多数 readline 功能都已实现
- 高度兼容:仅使用简单的 VT100 代码序列,大多数终端都应支持
- 占用空间小:~580 sloc,仅依赖于
libc
/winapi
for input in pomprt::new(">> ") {
println!("{input}");
}
许可证
lib.rs
:
从头开始构建的精巧且可扩展的 readline 实现
Pomprt 是一个支持语法高亮、提示和自动完成等多功能的多行编辑器。
使用方法
首先,你可以使用 [prompt::new
][new] 创建一个提示符,并通过 Prompt::read
或迭代它来读取输入
for input in pomprt::new(">> ") {
println!("{input}");
}
自定义编辑器
对于更复杂的应用程序,可以通过实现 Editor
来添加额外功能
impl pomprt::Editor for MyEditor {
// Make the prompt cyan
fn highlight_prompt(&self, prompt: &str, _multiline: bool) -> String {
format!("\x1b[36m{prompt}")
}
}
let mut cmd = pomprt::with(MyEditor, "><> ");
// ...
这就是全部!更完整的示例可以在 examples
文件夹中找到。
依赖关系
~215KB