使用占位符获取用户输入

问题描述 投票:0回答:1

我目前正在用 Rust 编写一个简单的记事本应用程序。
在主循环期间,要求用户插入、删除或更改行。
当用户更改一行时,我想预先填充该行的内容,以便用户可以更轻松地编辑一行。
像这样(下划线代表终端光标。用户选择该行后尚未进行任何输入):

Content:
1. Test
2. 123
Action(Change, Insert, Delete) --> C
Which line --> 2
--> 123_

我发现了一些可以提供帮助的板条箱:Crossterm 和 Termion。 Ncurses 也可以提供帮助,但我不想使用它。

rust user-input
1个回答
0
投票

如果您不想使用完整的 TUI 包(如

ratatui
)或较低级别的类似“诅咒”的终端处理包(如
termion
),您仍然可以使用
rustyline
进行基本操作通过行编辑输入。特别是为了编辑预填充行,您可以使用
readline_with_initial
:

let mut rl = rustyline::DefaultEditor::new()?;
let line = rl.readline_with_initial ("-->", ("123", ""))?;
© www.soinside.com 2019 - 2024. All rights reserved.