是否有任何软件可以自动将终端颜色添加到不支持颜色的基于终端的应用程序中?
它将如何运作?好吧,该软件至少可以尝试以与语法高亮器相同的方式识别源代码(尽管大多数语法高亮器都会遇到源代码树的部分不在屏幕上的问题),并且这种通用方法可以扩展到许多其他更人性化的数据形式;例如,日期、时间、金钱、电子邮件地址等很容易自动识别。
是否有任何软件可以自动将终端颜色添加到不支持颜色的基于终端的应用程序中?
它将如何运作?好吧,该软件至少可以尝试以与语法高亮器相同的方式识别源代码(尽管大多数语法高亮器都会遇到源代码树的部分不在屏幕上的问题),并且这种通用方法可以扩展到许多其他更人性化的数据形式;例如,日期、时间、金钱、电子邮件地址等很容易自动识别。
这个问题有两个部分:
1)我一般如何添加颜色?这些通过ANSI 颜色代码发出信号
例如:
$ echo -e "plain \033[0;36mcyan\033[0;0m"
您应该看到纯青色,带有“青色”。
2) 如何为我的特定应用添加颜色?对于写入标准输出的标准命令行实用程序,您可以将其通过管道传输到插入颜色代码的脚本:
$ echo "plain cyan" | sed 's/cyan/\\033[0;36mcyan\\033[0;0m/'
plain \033[0;36mcyan\033[0;0m
$ echo "plain cyan" | sed 's/cyan/\\\\033[0;36mcyan\\\\033[0;0m/' | while read x; do echo -e "$x"; done
plain cyan
取决于您所说的基于终端的应用程序是什么意思。如果它只是写入标准输出,那么理论上您可以将其通过管道传输到执行您建议的过滤器:“解析输入并修改输出”,例如,如果它看到一个关键字按照终端的要求将其包装在“颜色标签”中。
如果它使用诸如“诅咒”之类的东西来解决终端屏幕,我认为这几乎是不可能的。在单一终端类型上可能没问题,但我怀疑这将是一项重大努力。