Простейший учебник по подсветке синтаксиса Emacs?

Я хотел бы создать только синтаксис, выделяющий второстепенный режим для Emacs. У меня есть "Написание GNU Emacs Extensions" О'Рейли, но он не вникает в глубину детализации. Есть ли простой учебник для реального или фальшивого режима выделения языка программирования?

Спасибо

Ответ 1

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

(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
)

Это отлично подходит для быстрого определения элементарного выделения синтаксиса для неясных языков. Я даже использую его для файлов журналов в некоторых случаях.

Ответ 2

EmacsWiki Учебник по режиму содержит немного больше информации о создании основного режима, если вы хотите расширить только выделение синтаксиса.

Ответ 3

Вам также может показаться полезным посмотреть этот ответ, который имеет указатель на код, который определяет второстепенный режим для выделения определенных ключевых слов - но только в строках и комментарии.

Маленький режим приятнее, если все, что вам нужно, это подсветка - меньше багажа.

Соответствующие части руководства предназначены для функции 'font-lock-add-keywords и переменной font-lock-keywords.