如何使用jline3显示所有命令
How to display all commands using jline3
我有一个按预期工作的 TreeCompleter
(Scala 代码):
val treeCompleter = new TreeCompleter(
node("bindkey"),
node("cls"),
node(
"custom",
node("Option1", node("Param1", "Param2")),
node("Option2"),
node("Option3")
),
node("help"),
node("set"),
node("sleep"),
node("testkey"),
node("tput")
)
但是,如果用户的第一个按键是选项卡,我希望显示所有顶级节点值,这应该向他们显示可用的命令。如何做到这一点?
包含上述代码的github项目在这里:https://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala
我不在乎答案是在 Java 还是 Scala 中,谢谢!
您只需取消设置 INSERT_TAB
选项:
reader.unsetOpt(LineReader.Option.INSERT_TAB)
这样就可以了,tab
将显示完成而不是插入。
我有一个按预期工作的 TreeCompleter
(Scala 代码):
val treeCompleter = new TreeCompleter(
node("bindkey"),
node("cls"),
node(
"custom",
node("Option1", node("Param1", "Param2")),
node("Option2"),
node("Option3")
),
node("help"),
node("set"),
node("sleep"),
node("testkey"),
node("tput")
)
但是,如果用户的第一个按键是选项卡,我希望显示所有顶级节点值,这应该向他们显示可用的命令。如何做到这一点?
包含上述代码的github项目在这里:https://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala
我不在乎答案是在 Java 还是 Scala 中,谢谢!
您只需取消设置 INSERT_TAB
选项:
reader.unsetOpt(LineReader.Option.INSERT_TAB)
这样就可以了,tab
将显示完成而不是插入。