问题标签 [jline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
712 浏览

jline - 如何使用 jline3 显示所有命令

我有一个TreeCompleter按预期工作的(Scala 代码):

但是,如果用户的第一个按键是选项卡,我希望显示所有顶级节点值,这应该向他们显示可用命令。如何才能做到这一点?

包含上述代码的 github 项目在这里:https ://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala

我不在乎答案是用 Java 还是 Scala,谢谢!

0 投票
1 回答
150 浏览

java - 从 TreeCompleter 获取 jline3 命令的集合

我有一个TreeCompleter按预期工作的(Scala 代码):

如何获取命令名称的集合?对于本示例,这些名称是:bindkeyclscustomhelpsettestkeytput

包含上述代码的 github 项目在这里:https ://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala

我不在乎答案是用 Java 还是 Scala,谢谢!

0 投票
1 回答
723 浏览

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

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

是这样定义的Terminal(Scala 代码):

是这样定义的LineReader

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

0 投票
1 回答
128 浏览

java - 我怎样才能让 JShell 停止在自己身上换行?

我在Windows 7上使用JDK 9 build 179 。我有我的Windows 7命令外壳的“屏幕缓冲区大小宽度”属性,设置为一个很大的数字,因为这是我滚动的方式。正常工作;当我只是单独使用Windows shell 时。

不幸的是,当我使用JShell时,我的“屏幕缓冲区大小宽度”属性被忽略,并且JShell将我的长线包裹在自己身上。当换行时,它不会创建新行。相反,光标会翻倍回到同一行的开头并覆盖该行中的字符。

看看这个屏幕录像,看看我的意思

它似乎使用窗口实际宽度的最右边尺寸作为换行的提示;忽略“屏幕缓冲区大小宽度”属性。该属性在生活中的唯一目的是明确防止换行并允许最多 9999 个字符的长行。

JDK 9 ea+166以来,我已经忍受了这种烦人的废话。我耐心地等了几个月;期望它会在JDK 9的一般发布时得到修复。没有这样的运气。

拜托,谁能告诉我如何解决这个问题的秘密?

提前致谢。

0 投票
1 回答
373 浏览

scala - 未找到 sbt jline 依赖项

在我的 scala/scala github 项目(此处)的本地存储库中,jline 依赖项设置为 2.14.5。我将它更改为 3.1.3,但是当我尝试构建项目时,依赖关系没有解决。

如何解决?

0 投票
1 回答
2698 浏览

java - 构建后JLine3“无法创建系统终端”

我只是尝试用 Jansi 实现 JLine,但它总是抛出相同UnsupportedOperationExceptionorg.jline.terminal.impl.jansi.JansiSupportImpl#winSysTerminal. 检查此方法只有一个简单if的方法决定此异常。

Fernflower 对给定源的反编译

所以版本号一定是问题......为了检查它们,我将检测版本的代码复制到我的源代码

结果让我感到惊讶:虽然它package org.fusesource.jansi, jansi, version 1.17.1, Major: 1, Minor: 17在 IntelliJ 中返回,但控制台不起作用,因为 Intellijs 虚拟控制台,它仅package org.fusesource.jansi在我在构建后从命令行运行它时才返回。这一定是由 intellij 删除包含信息的清单引起的。它们无法打包,因为它们与运行 jar 文件所需的清单名称相同。

你们知道任何解决方案或解决方法吗?你如何处理这个异常?还是有什么我失败了?

0 投票
1 回答
309 浏览

java - Java : Jline3 : 超过一个词的自动完成

我想使用多个单词自动完成,例如:

所以所有的建议都应该包含这两个关键字。理想情况下,它应该适用于无限的关键字。

我阅读了完成 wiki,但我不知道要遵循哪条路径来实现这一目标。

0 投票
1 回答
305 浏览

java - Jline 终端编写器输出格式错误的输出

尝试使用 Jline 库终端的编写器时,我们遇到了一些问题。当我们尝试使用终端编写器的 print 语句编写字符串时,它会在字符串周围附加字符。

示例:打印时:terminal.writer().print("Username:"); 我们得到输出字符串为“�[?1l�>�[?1000l�[?2004lUsername:�[?1h�=�[?2004h”,因为我们只想得到“用户名:”作为输出。

我们通过设置“BRACKETED_PASTE_OFF”尝试了此链接https://github.com/jline/jline3/issues/181的解决方案。但这没有用。

0 投票
0 回答
370 浏览

java - JLine系统终端问题

我对 JLine 3.9.0 有疑问。我创建了一个终端

首先,准确地说,它显示了很多错误:

但是尽管该程序似乎几乎可以正常工作:即使将编码设置为 UTF-8,它也看不到我的字母表中的字符,这是第二个问题。

0 投票
1 回答
714 浏览

java - 使用 JLine (JAVA) 屏蔽密码

感谢您的回复。我仍在努力掩盖 CLI 的密码,但取得了进展。我正在使用 JLine ConsoleReader 方法。编码:

我得到的输出:

似乎掩蔽是在角色之后。有谁知道如何修理它。非常感谢您的帮助。