提问人:ThatOneEnby1337 提问时间:8/4/2023 最后编辑:kmdrekoThatOneEnby1337 更新时间:10/4/2023 访问量:98
如何从带有占位符的用户那里获取输入?
How to get input from user with placeholder?
问:
我目前正在用 Rust 编写一个简单的记事本应用程序。在主循环期间,系统会要求用户插入、删除或更改行。当用户更改一行时,我想预先填充该行的内容,以便用户可以更轻松地编辑行。
像这样(下划线表示终端光标。用户在选择该行后未进行任何输入):
Content:
1. Test
2. 123
Action(Change, Insert, Delete) --> C
Which line --> 2
--> 123_
我发现了一些可以提供帮助的板条箱:Crossterm 和 Termion。Ncurses 也可以提供帮助,但我宁愿不使用它。
答:
1赞
Jmb
8/5/2023
#1
如果您不想使用像 ratatui
这样的完整 TUI 板条箱或像 termion
这样类似较低级别的“诅咒”终端处理板条箱,您仍然可以使用 rustyline
进行基本输入和行编辑。专门用于编辑预填充行,您可以使用以下readline_with_initial
:
let mut rl = rustyline::DefaultEditor::new()?;
let line = rl.readline_with_initial ("-->", ("123", ""))?;
评论
前任
?为什么不使用“诅咒”库呢?这将使它更容易使用,类似于您期望在 1980 年代而不是 1960 年代的纸质电传打字机时代找到的东西。rustyline
可以readline_with_initial
。