轻量级GNU readline替代品

pun*_*r12 10 c linux shell user-input readline

我正在寻找一个GNU readline替代品.它有很多功能,但只有几个对我有用,如下所述 -

我正在处理交互式命令提示应用程序(显示提示并接受下一个要运行的用户命令).我想为提示实现一些编辑和历史记录功能.因此,当用户按下UP键时,它应显示最后一次运行命令.此外,如果用户需要编辑任何拼写错误或命令开关等,用户应该能够使用箭头键进行导航.

在Windows上已经存在类似的东西,如果您使用fgetsscanf在cmd提示符下获取输入,它已经保留了历史记录并且还允许您进行编辑.

Linux上有一个很好的选择吗?

G. *_*ito 14

我认为这是一个令人钦佩的目标:-)

也许Linenoise,libedit/editlinetecla符合要求?

其中libedit可能是最广泛使用的 - 例如postgreqsql客户端shell和用于Kerberos的各种BSD实用程序ntp(尽管对于上游源,它可能不是用于编译的默认行编辑库,因为在Linux上广泛使用libreadline).有一些略有不同的libedit/editline版本,你会看到你是否阅读了一些这些参考文献并做了一些进一步的研究.

干杯,祝你的项目好运.


Amo*_*son 5

replxx,一个 BSD 许可的 readline 替代品。它适用于 Linux、BSD、Solaris 和 Windows。它支持您期望从交互式控制台程序中获得的功能,即:

  • 行编辑
  • 历史
  • 语法高亮
  • 提示
  • UTF-8
  • 用户定义的键绑定(支持 (shift/ctrl)F1 - F12)
  • 多线程打印