我目前正在用 Rust 编写一个简单的记事本应用程序。
在主循环期间,要求用户插入、删除或更改行。
当用户更改一行时,我想预先填充该行的内容,以便用户可以更轻松地编辑一行。
像这样(下划线代表终端光标。用户选择该行后尚未进行任何输入):
Content:
1. Test
2. 123
Action(Change, Insert, Delete) --> C
Which line --> 2
--> 123_
我发现了一些可以提供帮助的板条箱:Crossterm 和 Termion。 Ncurses 也可以提供帮助,但我不想使用它。
ratatui
)或较低级别的类似“诅咒”的终端处理包(如 termion
),您仍然可以使用 rustyline
进行基本操作通过行编辑输入。特别是为了编辑预填充行,您可以使用 readline_with_initial
:
let mut rl = rustyline::DefaultEditor::new()?;
let line = rl.readline_with_initial ("-->", ("123", ""))?;