用jline预填充一条线

Phi*_*ppe 6 java readline jline

无论是使用的JLine(或JLine2),是有可能发出一个电话readlineConsoleReader,并有中,除了标准的提示,缓冲区预填充我选择的字符串?

我试过这样做,例如:

reader.getCursorBuffer().write("Default");
reader.readLine("Prompt> ");
Run Code Online (Sandbox Code Playgroud)

这似乎确实写入缓冲区,但该行只显示提示.如果我按回车键,就会按照我的预期readLine返回"Default".如果我清除屏幕,则会重新绘制缓冲区并正确显示.

我的理解是,reader.redrawLine()在打电话之后我应该以某种方式打电话readLine.然而,最后一个是阻塞,这使得它很难(不是不可能,但使用第二个线程肯定是错误的).

Ada*_*ent 0

我认为您想要resetPromptLine或者putStream如果您已经设置了提示。

不是要劫持你的问题,但我不知道如何简单地打印一行替换提示(表面上或视觉上将提示向下推,并在其上方显示一条消息)。