4

我在 emacs 中编写 Django/Python,我希望像 {% comment %} FOO {% endcomment %} 这样的东西变成橙色。

如何为重要的 Django 模板标签设置一些颜色?

4

3 回答 3

6

您可以使用django-modeMuMaMo等专用模式。

如果您想要一些非常基本的东西,并且假设您正在编辑html-mode,您可以尝试以下操作:

(defun django-highlight-comments ()
  (interactive "p")
  (highlight-regexp "{%.*?%}" 'hi-orange))
(add-hook 'html-mode-hook 'django-highlight-comments)

(只需将上述行添加到您的.emacsorinit.el中,然后对其进行评估或重新启动 emacs)。

于 2009-05-17T22:17:10.497 回答
3

这就是我所做的。它比上面的代码更通用一点,它使用了内置的字体锁定机制。

(defvar django-tag-face (make-face 'django-tag-face))
(defvar django-variable-face (make-face 'django-variable-face))
(set-face-background 'django-tag-face "Aquamarine")
(set-face-foreground 'django-tag-face "Black")
(set-face-background 'django-variable-face "Plum")
(set-face-foreground 'django-variable-face "Black")


(font-lock-add-keywords
 'html-mode
 '(("\\({%[^%]*%}\\)" 1 django-tag-face prepend)
   ("\\({{[^}]*}}\\)" 1 django-variable-face prepend)))
于 2009-05-18T22:23:11.267 回答
1

这里 一些 链接。我在谷歌上找到了它们。似乎没有一个完全完整的“官方”解决方案可以解决这个问题,但有一些可能非常有用的替代品可用。

于 2009-05-17T21:32:18.827 回答