Supercat 应用程序根据文件类型以及与该文件类型相关联的一组规则,对任何输入的文本进行着色。 这些规则用于匹配输入文本中找到的字符串,并且可以使用简单的字符或字符串、正则表达式和特殊的时序格式化规则来指定。 Supercat 灵活且可扩展; 无需软件开发即可添加新的文件类型。
您可以从 http://supercat.nosredna.net 下载 Supercat(撰写本文时,最新版本为 0.5.3)。 Supercat 也可在 Gentoo 的 portage 系统和 Ubuntu 即将发布的 Hardy Heron 中找到。 安装 Supercat 非常简单 -- 唯一需要指定的是 --system-directory 'configure' 选项。 安装完成后,您可以在许多文件上运行 Supercat。 例如
$> spc file.c
这将为您提供一个彩色列表(类似于 Vim 如何对文本着色)。 Supercat 尝试根据文件后缀确定文件类型,或者在扩展名为 .log 的情况下,Supercat 删除后缀并查找文件名(例如,error.log 的文件类型为 error)。 用户可以在命令行上显式覆盖文件类型。
所有着色文本的规则都存储在名称为 spcrc-ext 的文件中,其中“ext”是文件类型。 这些文件存储在配置的“系统目录”中,或者存储在您的私有 ~/.spcrc 目录中。
所有着色文本的规则都存储在名称为 spcrc-ext 的文件中,其中“ext”是文件类型。 这些文件存储在配置的“系统目录”中,或者存储在您的私有 ~/.spcrc 目录中。 例如,spcrc-c 中 C 源代码文件的规则可能如下所示
# HTML COL COL A N T CHARACTER, STRING or REGULAR EXPRESSION
########## ### # # #
#####################################################
Red red b
([a-zA-Z][a-zA-Z0-9_]*)[[:space:]]*(
Yellow yel b
(while|for|if|switch|main|return)[[:space:]]*(
Yellow yel b s
else
Cyan cya s case
Cyan cya s return
Cyan cya s default
Cyan cya b
[[:space:]]*(include)
Green grn (do)[[:space:]]*{
Green grn (break|continue)[[:space:]]*;
Magenta mag
(int|char|short|float|double|long|unsigned)[[:space:]]
Blue
blu b [^[:alnum:]_]([[:digit:]]+)
Yellow yel
"(.*)"
Yellow yel
Magenta mag
c :;
匹配是使用配置文件中每行末尾的模式中的信息执行的。 如果行的某一部分与模式匹配,则为匹配的字符指定指定的颜色。 匹配的类型在“T”列中指定,默认为 REGEXP。
其他列指定要使用的视频着色属性。 “COL”表示控制台颜色; “A”是可选的视频属性(例如,粗体,下划线); “N”控制将匹配应用于行的次数。 “HTML COL”列的存在是因为 Supercat 支持以 HTML 格式输出其彩色文本,以便通过 Web 浏览器查看。
Supercat 提供了灵活性和可扩展性,而无需编程。 Supercat 还有许多其他选项和优点,但我将让您自己去发现它们,因为它们很广泛且超出此简短操作指南的范围。
此技术提示由来自美国新泽西州的 Thomas 提供。 谢谢,托马斯!
在 Linux Journal 上成名很容易。 只需发送给我们您有用的技术提示,与 Linux 社区分享,我们将为您送上一件很酷的 T 恤!
请注意:LinuxJournal.com 此特定部分中使用的技术提示由读者好心提供,未经 LinuxJournal.com 编辑测试。
