如何让sbt正确处理键盘输入?

时间:2018-04-01 14:55:36

标签: sbt readline

背景

运行sbt时,每次按下< ENTER>后必须按“死”键。意思是按< ENTER>看起来什么都不做......直到我按下另一把钥匙 - 任何钥匙 - 当sbt忽略后续钥匙(即“死钥匙”)但表现得好像< ENTER>被压了。

在查看问题后,我发现系统属性(“jline.terminal”)会影响此行为。此属性可以是{“auto”,“unix”,“win”,“windows”,“none”,“off”,“false”,xxx}之一,其中xxx指的是实现 jline的类.Terminal

当我将jline.terminal设置为{“off”,“false”,“none”}之一时,“broken< ENTER>”的问题消失了。但是,此模式不再支持linux Readline库(即向上箭头产生“^ [[A”而不是从输入历史记录缓冲区中调用一行)。

所以,我有两个选择:

  • 使用“unix”作为我的jline.terminal并按< ENTER> +在每个输入行的末尾;或
  • 使用“none”|“off”|“false”作为我的jline.terminal并丢失我的命令历史记录支持

我怎样才能同时拥有:一个工作< ENTER>关键和支持Readline库?

环境

OS :Ubuntu 17.10
Java :1.8.0_161
sbt :1.1.2

0 个答案:

没有答案