#read-line #prompt #syntax-highlighting #read-input

bin+lib pomprt

一个小巧但功能丰富的 readline 提示符

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

Apache-2.0

28KB
481

Pomprt

crates.io docs.rs

从头开始构建的精巧且可扩展的 readline 实现

Pomprt 是一个小巧但功能丰富的多行编辑器,支持语法高亮、提示和自动完成。

  • 支持 UTF-8
  • 行历史记录
  • 熟悉的快捷键:大多数 readline 功能都已实现
  • 高度兼容:仅使用简单的 VT100 代码序列,大多数终端都应支持
  • 占用空间小:~580 sloc,仅依赖于 libc/winapi
for input in pomprt::new(">> ") {
    println!("{input}");
}

许可证

Apache-2.0


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