在Textmate中区分Python Strings与Docstrings的语法颜色?

时间:2011-08-28 04:47:25

标签: python regex string syntax-highlighting textmate

爱TextMate,爱Python,等等,等等,等等 ..

但是......我讨厌“Docstrings”,又名multiline-comments / Sphinx的lovechild - 在语法上是彩色的 - 与普通的“Strings”一样,在我上面提到的编辑器中选择。以下是他们过于匹配的比赛服装中的两种类型的例子......

VISUAL AMBIGUITY lurking in python stringtypes in textmate

这种轻微的不便可以 regexed-away - 以便在视觉上更容易区分两者吗?

2 个答案:

答案 0 :(得分:1)

如果查看Python包语言部分的第560-1064行,您将找到字符串的定义。简单地说,您可以找到三引号字符串的模式,并为捕获名称添加另一个组件。然后,您需要做的就是将捕获名称添加到当前样式中,然后三重引号字符串应以不同方式着色。

答案 1 :(得分:1)

将此代码添加到主题文件的代码中,以使doc字符串与常规字符串不同。

    {   name = 'Pyton: Docstring';
        scope = 'string.quoted.double.block.python';
        settings = {
            foreground = '#A7C3CC’; //change color to your preference
            fontstyle = '';
        };
    },

如果您需要XML版本,请执行以下操作:

<dict>
    <key>name</key>
    <string>Python: docstring</string>
    <key>scope</key>
    <string>string.quoted.double.block.python</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string/>
        <key>foreground</key>
        <!-- change color to your preference -->
        <string>#A7C3CC</string>
    </dict>
</dict>