【问题标题】:More advanced syntax coloring in emacs for Python用于 Python 的 emacs 中更高级的语法着色
【发布时间】:2012-01-17 21:28:46
【问题描述】:

我一直在使用 emacs 24(从 gi​​t 版本构建)。我已经开始创建自定义主题,但我注意到主题功能相当有限,尤其是对于 Python。

我希望能够为诸如此类的事物分配不同的颜色

  • “单引号字符串”与“双引号字符串”
  • 突出显示 doctest。所以如果我有类似的东西

    def myfunc(x):
        """
        This is the docstring.
    
        >>> # These are the examples
        >>> print myfunc(x)
        1
        """
        return 1
    

    我希望 This is the docstring 像字符串一样着色,但我希望 print myfunc() 像 Python 代码一样着色(或至少不同)。例如,在 vim 中,使用我安装的任何插件,doctests 是棕色的,但字符串是蓝色的。

  • 以不同于常规字符串的方式突出显示文档字符串。

  • 字符串格式化字符的着色(如"%s""%(newstyle_formatting)s")。
  • 更好地处理 ' 或 " 之前的 r、u 或 b。

对其中一项或全部有什么建议吗?

如果我想到它们,我可能会在这里添加更多内容。

【问题讨论】:

    标签: python emacs syntax-highlighting


    【解决方案1】:

    看一下变量font-lock-keywords的描述。可以基于 regexp:s 添加规则,也可以基于函数添加规则,这样您就可以编写代码来决定应该着色什么以及使用哪种颜色。

    另外,您可以使用font-lock-add-keywords 为主要模式添加字体规则。

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 2012-03-26
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多