3 个版本
0.5.3 | 2024年7月19日 |
---|---|
0.5.2 | 2023年11月4日 |
0.5.1 | 2019年11月29日 |
#23 in 文本编辑器
728 个月下载量
用于 4 个crate(3 直接使用)
235KB
6K SLoC
liner
一个提供类似 readline 功能的 Rust 库。
特性
- 自动建议
- Emacs 和 Vi 快捷键
- 多行编辑
- 历史记录
- (不完整)基本和文件名补全
- 反向搜索
- 可重新映射的快捷键
基本用法
Cargo.toml
[dependencies]
redox_liner = "0.5.3"
...
src/main.rs
extern crate liner;
use liner::{Context, Completer};
struct EmptyCompleter;
impl<W: std::io::Write> Completer<W> for EmptyCompleter {
fn completions(&mut self, _start: &str) -> Vec<String> {
Vec::new()
}
}
fn main() {
let mut con = Context::new();
loop {
let res = con.read_line("[prompt]$ ", &mut EmptyCompleter).unwrap();
if res.is_empty() {
break;
}
con.history.push(res.into());
}
}
更复杂的示例请查看 src/main.rs。
许可证
MIT 许可。请参阅 LICENSE
文件。
依赖关系
~1.5MB
~19K SLoC