问题标签 [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 回答
893 浏览

java - How do I get ANSI bright colors to work in the windows cmd?

I am using java, the jline library and jansi. I have regular colors working just fine, either using \u001B[32m for example, or Ansi.ansi().fg(Ansi.Color.GREEN).

However, I cannot seem to get the bright set of colors working. I've tried both \u001B[92m or Ansi.ansi().fgBright(Ansi.Color.GREEN).

When I try to use bright colors, I don't see anything strange show up in the console, but the color does not change.

Additional Info:

  • I'm on a preview build of windows 10, but I've tried my code on windows server 2012 R2.

  • jansi says that ansi is both detected and enabled.

  • Issuing AnsiConsole.systemInstall(); at the beginning does not fix my issue.

One final note: my goal is to be multiplatform.

0 投票
0 回答
290 浏览

java - JLine:文件完成在 Windows 上不起作用

我想使用 JLine 构建一个简单的 CLI。但是我遇到了一个问题。文件名完成程序在 Windows 上无法正常工作。

当我输入8> first C:\并按选项卡时,完成者什么也不做,尽管它应该显示所有子文件夹。

这是我的代码:

任何想法如何解决这一问题?

0 投票
0 回答
124 浏览

java - 在 Eclipse 中运行程序时的 Readline 支持

我刚刚开始在我的程序中使用 JLine 进行控制台输入。在 bash shell 中,这很好用。在 Eclipse 控制台视图中,没有任何有用的工作 - 没有历史记录,没有命令完成。

有没有办法让这个工作?(如果相关,我在 OSX 上)。

注意:我查看了本地终端插件 ( https://code.google.com/p/elt/ ) 和 TM 终端 ( https://marketplace.eclipse.org/content/tm-terminal ) 但这些两者似乎都是关于运行一个通用终端,而不是被用作我正在运行的程序的终端。但是,我可能会遗漏一些东西。

0 投票
0 回答
88 浏览

java - 将 JLine2 与 SocketInputStream 一起使用

我目前正在尝试为自定义 telnet 实现包含 JLine2 库(版本 2.13),但是我无法让它工作。

我正在创建一个 ConsoleReader:

当我按向上箭头返回历史记录时,会打印字符 ^[[A(向下箭头也是如此,只有 ^[[B),但是当我按“Enter”时,从历史记录中选择的命令是正确的执行。

有人可以指出我应该去哪个方向,以便在按下箭头时正确显示命令历史记录吗?

非常感谢任何帮助!

0 投票
0 回答
70 浏览

scala - 在 sbt 中使用 inputrc

我希望这些设置在我的 shell 和 sbt 中无缝工作。

我需要做一些特别的事情来让这些工作吗?

我的 ~/.inputrc:

\C-Space:complete \C-i:menu-complete "\C-f": forward-word "\C-b": backward-word "\u26F5": unix-word-rubout "\C-w": backward-kill-word "\e[B": history-search-forward "\e[A": history-search-backward

0 投票
0 回答
104 浏览

java - java - 如何为java jline ConsoleReader中的每个命令参数设置文件完成器?

我需要为每个命令参数添加文件名完成符。

这仅完成第一个单词(命令名称)。我应该如何添加参数完成器?

0 投票
1 回答
237 浏览

java - Bug in JLine2? ConsoleReader.clearScreen


EDIT: This feature only occurs when I invoke the clearScreen method of ConsoleReader! Any other changes don't have an effect. Is this then a bug in JLine2?


JLine2:

Why, when I run this, do I get two console prompts directly following each other (----> ---->)? Is it because two consoles are being created? I do not understand how.
What am I failing to see here?

0 投票
1 回答
697 浏览

java - jline2中CTRL+C是如何处理的

我很难理解CTRL+C在 jline2 中是如何处理的。我发现如果设置为trueconsoleReader.readline会抛出异常。handleUserInterrupt但是我想知道在抛出这个异常之前,CTRL+C是如何被捕获和解释的(而不是退出程序)?

0 投票
1 回答
478 浏览

java - jline2 在 telnet 控制台上打印“\n”时打印“^J”

我将JLine 2 (v2.13) 与 Socket IO 结合使用,为我的应用程序创建一个管理控制台,可以通过普通的 telnet 客户端进行访问。但是我发现它应该打印出换行符时会打印出奇怪的符号:

正确的输出应该是:

我追溯了代码,发现了导致问题的以下代码行:

在此处输入图像描述

另一个奇怪的事情是,当我按向上箭头获取历史记录时,控制台打印出来^[[A,没有其他任何反应。

有人有什么主意吗?

更新:添加了相关的源代码

  1. 接受传入 telnet 连接的代码:

在此处输入图像描述

  1. 创建ConsoleReader和调度命令的代码:

在此处输入图像描述

更新 2

对不起,我消失了一段时间。回来吧,因为我的项目让我呼吸到了新鲜空气。所以这就是发生的事情:我创建了一个PrintWriter并将其用作该^J问题的解决方法:

在此处输入图像描述

jline2但是,与 telnet 会话一起使用时还有许多其他问题:

  1. 类型<TAB>显示选项卡而不是激活完整列表。但是,在我按下回车键后,它会给我一个完整的列表和一条错误消息: 在此处输入图像描述
  2. 键入<UP>箭头,显示^[[A,按回车键它将执行我的最后一个命令。但是我失去了命令行编辑

问题仍然存在,我相信应该有办法解决它只需要一些指导......

0 投票
1 回答
879 浏览

java - 使用JLine在一行上完成多个命令

我想知道如何实现ArgumentCompleter这样一个,如果我完成一个完整且有效的命令,那么它将开始为一个新命令完成制表符。

我会假设它可以像这样构建:

但是现在这在标签完成第一个后停止工作foo bar

有没有足够熟悉图书馆的人告诉我我将如何实现这个?还是有一种我想念的已知方法来做到这一点?这也是使用 JLine2。