Как я могу раскрасить некоторые вещи в Emacs? - PullRequest
4 голосов
/ 18 мая 2009

Я программирую Django / Python на emacs, и я бы хотел, чтобы такие вещи, как {% comment%} FOO {% endcomment%}, стали оранжевыми.

Как настроить некоторые цвета для важных тегов шаблонов Django?

Ответы [ 3 ]

6 голосов
/ 18 мая 2009

Вы можете использовать специальные режимы, такие как django-mode или MuMaMo .

Если вы хотите что-то очень простое и предполагаете, что редактируете в html-mode, вы можете попробовать следующее:

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

(Просто добавьте вышеупомянутые строки в ваш .emacs или init.el и оцените его или перезапустите emacs).

3 голосов
/ 19 мая 2009

Вот что я делаю. Он немного более общий, чем приведенный выше код, и использует встроенные механизмы блокировки шрифтов.

(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)))
1 голос
/ 18 мая 2009

Здесь некоторые ссылки . Я нашел их в Google. Кажется, не существует единого полностью полного и «официального» решения этой проблемы, но есть несколько вполне пригодных для использования заменителей.

...