在emacs中,如何根据列中的值为CSV中的行着色?

在emacs中,如何根据列中的值为CSV中的行着色?,emacs,syntax-highlighting,font-lock,Emacs,Syntax Highlighting,Font Lock,我为emacs创建了一个主要模式,用于数据分析。这种模式对我来说很好,但它是单调的,我没有以我应该的方式利用颜色。正在分析的数据是CSV格式的,我想根据列中的值对其中的行进行着色 假设我有以下CSV格式的文件: one,1,2,3 two,4,5,6 three,7,8,9 此CSV中的行应根据第4列中的值用红色着色,红色的强度应随该值增加。所以在这种情况下,最后一列应该是最强烈的红色,第一列应该是最少的红色 我已经读了一遍,对于如何编写一个(matcher.facespec)来正确设置fac

我为emacs创建了一个主要模式,用于数据分析。这种模式对我来说很好,但它是单调的,我没有以我应该的方式利用颜色。正在分析的数据是CSV格式的,我想根据列中的值对其中的行进行着色

假设我有以下CSV格式的文件:

one,1,2,3
two,4,5,6
three,7,8,9
此CSV中的行应根据第4列中的值用红色着色,红色的强度应随该值增加。所以在这种情况下,最后一列应该是最强烈的红色,第一列应该是最少的红色

我已经读了一遍,对于如何编写一个(matcher.facespec)来正确设置facespec,我有点困惑。facespec是一个计算结果为

(face face prop1 val1 prop2 val2…)
但我如何使其取决于CSV第四列中的值?我猜第四列中的值就是匹配的值,但是我如何将使用的面与匹配值的大小联系起来?我想我需要根据匹配的值动态生成一张脸,但不确定如何生成


有什么想法吗?最好举个简单的例子。

是否应该将其迁移到emacs.stackexchange?