Я пытаюсь заставить работать шаблоны ERB в Emacs 22 и 23 (два разных сервера).
Я нашел несколько примеров в Интернете, которые используют почти точно этот фрагмент. Обратите внимание, что мне не нужны никакие цвета фона, так как я работаю в терминале через SSH.
Это правильно определяет, где начинается первая область, так как линия режима изменяется при перемещении точки. Но что-то не так, так как он не выделяет мой код ruby, если я не очищаю его по крайней мере двумя пустыми строками, и кажется, что все, что находится ниже первого сегмента кода ruby, является кодом ruby, даже после закрывающих тегов .
Я могу только предположить, что шаблоны не верны, и я хотел бы понять синтаксис, чтобы я мог лучше его отладить. Может кто-нибудь сказать мне, что все символы @
означают здесь?
Кроме того, кто-нибудь получил шаблоны ERB, работающие в режиме mmm?
(require 'mmm-mode)
(require 'mmm-auto)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 0)
(mmm-add-group
'fancy-html
'((html-erb
:submode ruby-mode
:match-face (("<%#" . mmm-comment-submode-face)
("<%=" . mmm-output-submode-face)
("<%" . mmm-code-submode-face))
:front "<%[#=]?"
:back "%>"
:insert ((?% erb-code nil @ "<%" @ " " _ " " @ "%>" @)
(?# erb-comment nil @ "<%#" @ " " _ " " @ "%>" @)
(?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @)))))
(add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil fancy-html))
![Ruby highlighted, but rest of buffer broken](https://i.stack.imgur.com/zJGZ7.png)