问题标签 [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.
jline - 如何使用 jline3 显示所有命令
我有一个TreeCompleter
按预期工作的(Scala 代码):
但是,如果用户的第一个按键是选项卡,我希望显示所有顶级节点值,这应该向他们显示可用命令。如何才能做到这一点?
包含上述代码的 github 项目在这里:https ://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala
我不在乎答案是用 Java 还是 Scala,谢谢!
java - 从 TreeCompleter 获取 jline3 命令的集合
我有一个TreeCompleter
按预期工作的(Scala 代码):
如何获取命令名称的集合?对于本示例,这些名称是:bindkey
、cls
、custom
、help
、set
、testkey
和tput
。
包含上述代码的 github 项目在这里:https ://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala
我不在乎答案是用 Java 还是 Scala,谢谢!
jline - 如何使用 jline3 显示命令历史记录?
我希望在用户按下向上箭头键时显示最近输入的命令。
是这样定义的Terminal
(Scala 代码):
是这样定义的LineReader
:
更新:我发现上述内容实际上适用于某些控制台,而不是其他控制台。我仍在发现什么有效,什么无效。任何见解将不胜感激。
java - 我怎样才能让 JShell 停止在自己身上换行?
我在Windows 7上使用JDK 9 build 179 。我有我的Windows 7命令外壳的“屏幕缓冲区大小宽度”属性,设置为一个很大的数字,因为这是我滚动的方式。正常工作;当我只是单独使用Windows shell 时。
不幸的是,当我使用JShell时,我的“屏幕缓冲区大小宽度”属性被忽略,并且JShell将我的长线包裹在自己身上。当换行时,它不会创建新行。相反,光标会翻倍回到同一行的开头并覆盖该行中的字符。
它似乎使用窗口实际宽度的最右边尺寸作为换行的提示;忽略“屏幕缓冲区大小宽度”属性。该属性在生活中的唯一目的是明确防止换行并允许最多 9999 个字符的长行。
自JDK 9 ea+166以来,我已经忍受了这种烦人的废话。我耐心地等了几个月;期望它会在JDK 9的一般发布时得到修复。没有这样的运气。
拜托,谁能告诉我如何解决这个问题的秘密?
提前致谢。
scala - 未找到 sbt jline 依赖项
在我的 scala/scala github 项目(此处)的本地存储库中,jline 依赖项设置为 2.14.5。我将它更改为 3.1.3,但是当我尝试构建项目时,依赖关系没有解决。
如何解决?
java - 构建后JLine3“无法创建系统终端”
我只是尝试用 Jansi 实现 JLine,但它总是抛出相同UnsupportedOperationException
的org.jline.terminal.impl.jansi.JansiSupportImpl#winSysTerminal
. 检查此方法只有一个简单if
的方法决定此异常。
所以版本号一定是问题......为了检查它们,我将检测版本的代码复制到我的源代码
结果让我感到惊讶:虽然它package org.fusesource.jansi, jansi, version 1.17.1, Major: 1, Minor: 17
在 IntelliJ 中返回,但控制台不起作用,因为 Intellijs 虚拟控制台,它仅package org.fusesource.jansi
在我在构建后从命令行运行它时才返回。这一定是由 intellij 删除包含信息的清单引起的。它们无法打包,因为它们与运行 jar 文件所需的清单名称相同。
你们知道任何解决方案或解决方法吗?你如何处理这个异常?还是有什么我失败了?
java - Jline 终端编写器输出格式错误的输出
尝试使用 Jline 库终端的编写器时,我们遇到了一些问题。当我们尝试使用终端编写器的 print 语句编写字符串时,它会在字符串周围附加字符。
示例:打印时:terminal.writer().print("Username:");
我们得到输出字符串为“�[?1l�>�[?1000l�[?2004lUsername:�[?1h�=�[?2004h”,因为我们只想得到“用户名:”作为输出。
我们通过设置“BRACKETED_PASTE_OFF”尝试了此链接https://github.com/jline/jline3/issues/181的解决方案。但这没有用。
java - JLine系统终端问题
我对 JLine 3.9.0 有疑问。我创建了一个终端
首先,准确地说,它显示了很多错误:
但是尽管该程序似乎几乎可以正常工作:即使将编码设置为 UTF-8,它也看不到我的字母表中的字符,这是第二个问题。
java - 使用 JLine (JAVA) 屏蔽密码
感谢您的回复。我仍在努力掩盖 CLI 的密码,但取得了进展。我正在使用 JLine ConsoleReader 方法。编码:
我得到的输出:
似乎掩蔽是在角色之后。有谁知道如何修理它。非常感谢您的帮助。