使用什么技术来创建“丰富的” CLI体验?

时间:2020-09-28 04:19:01

标签: command-line-interface

传统的CLI工具具有非常静态的同步工作流:用户键入包含命令的行,程序处理该命令,并打印包含响应的一行或多行。

Curses等其他极端的文本UI(TUI)工具试图更像帧缓冲区那样使用终端的显示,呈现类似于用户可以使用键盘导航的按钮和窗口的元素。

最近,我看到了一些命令行工具,这些工具大多尊重命令行工作流程(文本已写入控制台,并且大部分未删除),但是该界面包含了更多的交互式和动画元素:进度条和微调器作为一项任务完成,色彩丰富的输出,在将换行符发送到终端之前对单个按键或箭头键的交互响应,等等。一些随机的示例包括GitHub CLI(如图),进度条是在下载软件时由APT或Curl绘制的。

使用终端中的哪些技术来创建这些交互式体验?

我已经使用回车符和VT100转义序列对颜色进行了粗略的模仿,并在屏幕上四处移动,但是与我所指出的工具不同,我的结果对平台非常敏感。这些工具如何以安全,跨平台的方式获得丰富的CLI体验?

GitHub CLI example

0 个答案:

没有答案