如何使用jline3显示所有命令

时间:2017-10-27 21:05:39

标签: jline 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,谢谢!

1 个答案:

答案 0 :(得分:1)

您只需取消设置INSERT_TAB选项:

reader.unsetOpt(LineReader.Option.INSERT_TAB)

这将解决问题,tab将显示完成而不是插入。