Простейший учебник по подсветке синтаксиса Emacs?
Я хотел бы создать только синтаксическую подсветку второстепенного режима для Emacs. У меня есть "Написание расширений GNU Emacs" О'Рейли, но в них нет подробностей. Есть ли простое руководство для реального или фальшивого режима подсветки языка программирования?
Спасибо
3 ответа
Возможно, лучше всего начать с определения пользовательского общего режима. Вы можете определить базовую подсветку синтаксиса для языка так же, как следующий фрагмент.
(require 'generic-x)
(define-generic-mode
'my-mode ;; name of the mode
'("//") ;; comments delimiter
'("function" "var" "return") ;; some keywords
'(("=" . 'font-lock-operator)
("+" . 'font-lock-operator) ;; some operators
(";" . 'font-lock-builtin)) ;; a built-in
'("\\.myext$") ;; files that trigger this mode
nil ;; any other functions to call
"My custom highlighting mode" ;; doc string
)
Он отлично подходит для быстрого определения некоторых основных подсветок синтаксиса для непонятных языков. Я даже использую его для файлов журналов в некоторых случаях.
Учебное пособие по режиму в EmacsWiki содержит немного больше информации о создании основного режима, если вы хотите расширить только подсветку синтаксиса.
Вам также может быть полезно посмотреть на этот ответ, в котором есть указатель на код, который определяет второстепенный режим для выделения определенных ключевых слов - но только в строках и комментариях.
Незначительный режим лучше, если все, что вам нужно, это основные моменты - меньше багажа.
Соответствующие части руководства предназначены для функции 'font-lock-add-keywords
и переменная font-lock-keywords
,