gpt4 book ai didi

java - 如何使用 JLine 将值添加到键并保存自动完成功能?

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:53 25 4
gpt4 key购买 nike

我正在尝试实现一个具有自动完成功能的简单 shell 应用程序。我使用 JLine 库。不知道这也许是一个常见问题,但是当我尝试向参数添加一些值时,我的自动完成功能不起作用。

这是我的代码片段

public class ConsoleDemo {    
public static void main(String[] args) {
try {
ConsoleReader console = new ConsoleReader();
console.setPrompt("> ");

StringsCompleter exit = new StringsCompleter("exit");

StringsCompleter login = new StringsCompleter("connect");
StringsCompleter loginParams = new StringsCompleter("--url", "--username", "--password");

StringsCompleter export = new StringsCompleter("export");
StringsCompleter exportParam = new StringsCompleter("to");

ArgumentCompleter loginCompleter = new ArgumentCompleter(login, loginParams);
ArgumentCompleter exportCompleter = new ArgumentCompleter(export, exportParam);

console.addCompleter(loginCompleter);
console.addCompleter(exportCompleter);
console.addCompleter(exit);

String line;
while ((line = console.readLine()) != null) {
if ("exit".equals(line.trim())) {
exit(1);
}
console.println(line.trim() + valueOf(-1));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

当我写作时

登录 --url http://localhost:8080/server

我无法使用 Tab 键自动完成密码

login --url http://localhost:8080/server --us (按 Tab 键完成)<- 也不起作用

我应该这样做才能获得 --username--password 的下一个提示吗?

最佳答案

您的登录完成程序正在使用“connect”字符串作为标识符,而不是登录......

关于java - 如何使用 JLine 将值添加到键并保存自动完成功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28217591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com