Command line interface 使用什么技术来创建;丰富的;CLI经验?

Command line interface 使用什么技术来创建;丰富的;CLI经验?,command-line-interface,Command Line Interface,传统的CLI工具有一个非常静态、同步的工作流:用户键入包含命令的行,程序处理该命令,并打印包含响应的一行或多行 另一种极端的文本用户界面(TUI)工具,如Curses,试图将终端的显示更像一个帧缓冲区,呈现类似于按钮和窗口的元素,用户可以用键盘导航 最近,我看到的命令行工具大多尊重命令行工作流(文本写入控制台,大部分不删除),但界面通过更多的交互式和动画元素进行了丰富:任务完成时的进度条和微调器,色彩丰富的输出,在换行符发送到终端之前,对单个按键或箭头键的交互式响应,等等。一些随机示例包括Git

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

另一种极端的文本用户界面(TUI)工具,如Curses,试图将终端的显示更像一个帧缓冲区,呈现类似于按钮和窗口的元素,用户可以用键盘导航

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

终端中的哪些技术用于创建这些交互体验

我用回车符号和VT100转义序列进行了一些非常粗糙的模拟,用于颜色和在屏幕上移动,但我的结果对平台非常敏感,不像我指出的工具。这些工具如何以安全、跨平台的方式实现丰富的CLI体验