【问题标题】:Control arrow keys in CLI appCLI 应用程序中的控制箭头键
【发布时间】:2017-04-17 14:47:11
【问题描述】:

我想构建一个(golang)库,为用户提供多种选择。我的想法是打印选项的名称并将其中一个突出显示为“活动”。按下箭头键(左右或上下)后,我想在内部和可见地更新“选定”答案。

我知道termboxtcell,我还检查过pecorat 等项目。所有这些似乎都建立在某种屏幕的基本概念之上。理想情况下,我希望将控件保留在用户在其终端中编辑的行中,而无需创建全屏交互。有什么方法可以实现吗?

【问题讨论】:

  • 根据您的操作系统,有不同的库可以执行此操作。您使用的是哪个操作系统?
  • 我的目标是 Linux 和 Mac,目前对 Windows 不感兴趣 ;)

标签: go terminal command-line-interface


【解决方案1】:

ncurses 是 Linux 中一个流行的终端控制库,它有Go bindings(也支持 OSX 和 Windows)。我从来没有使用过它们,所以我不能保证它们,但这是实现你想要的一种方式。

【讨论】:

  • 感谢您的建议。我列出的库是 ncurses 的替代品。就我所见 ncurses UI 而言,它们似乎也是基于窗口的,这意味着它们占据了所有终端屏幕,这不是我所追求的……
  • ncurses 执行使用filter 的建议,但 goncurses 似乎没有使用它,而且它似乎没有处于积极开发中。您可以克隆goncurses 并将接口添加到filter 等。
【解决方案2】:

回答我自己的问题:This neat library called climenu 实际上符合我的要求。所需的所有技术技巧都是此代码的一部分。向 Paul Rademacher!我当然可以根据自己的需要进行调整。

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多