如何使用jline3显示命令历史记录?

时间:2017-11-01 16:35:38

标签: jline jline3

我想在用户按下向上箭头键时显示输入的最新命令。

Terminal的定义如下(Scala代码):

val terminal: Terminal =
  TerminalBuilder.builder
    .system(true)
    .build

LineReader的定义如下:

def reader(parser: Parser, terminal: Terminal): LineReader = {
  val lineReader: LineReader = LineReaderBuilder.builder
    .terminal(terminal)
    .completer(shellManager.topShell.completer)
    .parser(parser)
    .variable(LineReader.HISTORY_FILE, historyFile)
    .history(new DefaultHistory())
    .build

  lineReader.unsetOpt(LineReader.Option.INSERT_TAB)
  lineReader
}

更新:我发现以上内容实际上适用于某些控制台,而不是其他控制台。我仍在发现哪些有效,哪些无效。任何见解都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这应该是开箱即用的。如果您对特定终端有疑问,请报告您使用的确切终端。对于它的价值,这不能在内部构建工具(gradle,maven)或IDE(Eclipse,Intellij IDEA)中工作。