jline 保持底部提示

2023-12-02

我在用jline我有一个整洁的ConsoleReader一切都很好。但是,如果您在提示符中输入某些内容,并且 stdout 上有输出(来自另一个线程),则输出会拆分您正在输入的单词/命令。

我怎样才能保留jline终端底部有提示吗?

我在用jline1,但我愿意使用jline2、如果足够稳定。


终于弄清楚了...这就是你要做的。首先,定义这些函数:

private ConsoleReader console = ...;
private CursorBuffer stashed;

private void stashLine() {
    this.stashed = this.console.getCursorBuffer().copy();
    try {
        this.console.getOutput().write("\u001b[1G\u001b[K");
        this.console.flush();
    } catch (IOException e) {
        // ignore
    }
}

private void unstashLine() {
    try {
        this.console.resetPromptLine(this.console.getPrompt(),
          this.stashed.toString(), this.stashed.cursor);
    } catch (IOException e) {
        // ignore
    }
}

然后当你想输出新数据时,首先调用stashLine()保存当前控制台输入,然后输出任何新的输出行,然后调用unstashLine()来恢复它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jline 保持底部提示 的相关文章

  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • JTree 节点不会被直观地选择

    不知何故 我无法为我的 JTree 节点启用 选择突出显示 我正在我的项目中使用自定义单元格渲染器 这很可能导致此问题 这是完整的渲染器类代码 protected class ProfessionTreeCellRenderer exten
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 如何解决 onEditCommit 事件上的类型不匹配错误?

    我在 Fxml 中使用 onEditCommit 事件在用户编辑数据后检索数据 FXML 代码
  • Spring Stomp over Websocket:流式传输大文件

    我的SockJs客户端在网页中 发送帧大小为16K的消息 消息大小限制决定了我可以传输的文件的最大大小 以下是我在文档中找到的内容 Configure the maximum size for an incoming sub protoco
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • Install4j:如何在安装结束时执行命令行 java -jar filename.jar

    在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
  • 打印包含 JBIG2 图像的 PDF

    请推荐一些库 帮助我打印包含 JBIG2 编码图像的 PDF 文件 PDFRenderer PDFBox别帮我 这些库可以打印简单的 PDF 但不能打印包含 JBIG2 图像的 PDF PDFRenderer尝试修复它 根据 PDFRedn
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • 在 AKKA 中,对主管调用 shutdown 是否会停止其监督的所有参与者?

    假设我有一位主管连接了 2 位演员 当我的应用程序关闭时 我想优雅地关闭这些参与者 调用supervisor shutdown 是否会停止所有参与者 还是我仍然需要手动停止我的参与者 gracias 阻止主管 https github co
  • 不兼容的类型:在 java netbeans 中对象无法转换为 String

    我试图在我的项目中使用对象数组 但出现错误 incompatible types Object cannot be converted to String 在这一行 ST1 new String emt1 emt2 emt3 emt4 现在
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • 将 Python / Numpy 代码转换为 Cython - 数组问题 - 缓冲区类型仅允许作为函数局部变量?

    我正在尝试将一些 Python Numpy 代码转换为 Cython 以提高速度 这是我的代码 cimport numpy as np import numpy as np from numpy import import pylab as
  • Django 使用 AWS ECS Fargate 迁移部署策略?

    使用 ECS Fargate 运行数据库迁移的建议部署策略是什么 我可以在启动 Gunicorn 服务器之前更新容器命令以运行迁移 但如果配置了多个实例 这可能会导致并发迁移同时执行 我还必须考虑图像已经在运行的事实 如果我弄清楚如何在新映
  • SVG 下的 jQuery

    有什么方法可以在 SVG 而不是 HTML 下运行 jQuery 吗 我知道关于jQuery svg 插件但这不是我想要的 目前 jQuery 引擎包含一些如下语句 div document createElement div div st
  • 为什么我不必在 for 循环中使用 range() 定义变量,但我必须在 Python 中的 while 循环中定义变量?

    我有以下使用 for 循环的代码 total 0 for num in range 101 total total num print total 现在使用 while 循环得到相同的结果 num 0 total 0 while num l
  • 在 R闪亮中保存传单地图

    我创建了一个应用程序 用户可以在其中修改传单地图 并且我想在 pdf 报告中使用此地图 我有 1 安装了leaflet webshot和htmlwidget包 2 安装PhantomJS 下面是代码的简化版本 服务器 R library s
  • 带有内容处置的文件:内联有时仍然提示下载

    我的主题行说了我要问的大部分内容 我有一个网站 可以输出各种格式的报告 HTML CSV TSV Excel 等 只要有可能 我希望这些文件显示在浏览器中 为此 我设置了标题 使 Content Disposition 成为 内联 这对于不
  • 索引未应​​用于索引视图

    我有一个索引视图 但是当我在该视图上运行查询时 不会应用基于视图构建的索引 并且查询在没有索引的情况下运行 下面是我的虚拟脚本 表 视图 视图上的索引 CREATE TABLE P Test PID INT IDENTITY TID INT
  • 发送二进制文件 TcpClient - 文件大于源

    为了涉足网络编程 我编写了一个小控制台应用程序来将 png 文件发送到服务器 另一个控制台应用程序 服务器写入的文件比源 png 文件稍大 而且它不会打开 客户端应用程序的代码是 private static void SendFile u
  • 样式不适用于垂直方向的拇指

    我正在创造垂直范围栏我改变了 webkit appearance slider vertical 我还更改了输入范围栏的属性 例如 height width webkit slider runnable track 和 webkit sli
  • LEMP + wordpress 文件权限能够编辑、升级和使用 sftp 客户端

    我正在尝试管理运行nginx的debian网络服务器上的文件权限 以便wordpress可以编辑 上传和升级而无需使用ftp 我还希望能够使用我的用户帐户使用 sftp 登录 我知道这个问题之前已经被问过 请参阅here or here 但
  • 导入 Orange 返回“ImportError:没有名为 Orange 的模块”

    我想使用 Orange 包科学分析 安装于x86 64 Ubuntu 12 04 with Python 2 7 3 进展顺利 使用sudo easy install orange 但是 该包似乎无法直接使用 11 30 43 leon t
  • 使用嵌套 ng-repeat“观察者反应函数不应更改模型”是什么意思?

    这是代码的简化版本 即使生成的 HTML 看起来不错 我也会收到记录的错误 这个异常意味着什么 为什么我会得到它 索引 html div div strong a strong div b div div div
  • 为什么 Oracle 在取消引用对象时需要视图中的列的别名?

    为什么 Oracle 在取消引用对象时需要视图中的列的别名 例如 CREATE VIEW view AS SELECT t eno t workdept dname t salary FROM table t ERROR at line 1
  • 使用 d3-zoom 与 WebGL 交互

    我正在尝试收集一个小示例 该示例使用 d3 zoom 为使用 WebGL 渲染的画布元素提供简单的交互性 我想做的就是提供平移 缩放 这使用 4x4 变换矩阵相当简单 我遇到的问题是缩放 缩放 如果您查看一些 d3 zoom 示例 您会发现
  • 溢出-x 被溢出-y 覆盖[重复]

    这个问题在这里已经有答案了 看起来overflow x and overflow y不要按照我期望的方式行事 如果我设置overflow x可见 并且overflow y到汽车 overflow x不会表现为可见 而是表现为隐藏 我是否错过
  • ASP.NET 应用程序正在显示美国日期格式

    One我的开发应用程序今天开始显示美国格式的短日期 而我期待的是英国格式 日期正在使用date ToShortDateString 我已经检查了我的区域设置 键盘设置 浏览器设置和 web config 这些都设置为英语 英国 或未更改 我
  • C++20 模块“循环依赖”

    我试图将一个模块包含在另一个模块中 但由于以下错误而无法编译 无法构建以下源文件 因为它们之间存在循环依赖性 Module1 ixx 依赖于 Module2 ixx 依赖于 Module1 ixx 我想要 modClass1 包含 modC
  • 适用于 iOS 4.0 应用程序的 NSFileProtectionComplete

    我看到了有关 NSFileProtectionComplete 和保护应用程序数据的 WWDC 2010 视频 有没有什么例子 有人有示例代码可以分享吗 请参阅 NSFileManager 类文档 该文件以加密方式存储 格式化在磁盘上且无法
  • 如何仅解析字符串中的浮点数?

    foreach object item in listBox1 SelectedItems string curItem item ToString var parts curItem Split XY ToCharArray String
  • jline 保持底部提示

    我在用jline我有一个整洁的ConsoleReader一切都很好 但是 如果您在提示符中输入某些内容 并且 stdout 上有输出 来自另一个线程 则输出会拆分您正在输入的单词 命令 我怎样才能保留jline终端底部有提示吗 我在用jli