Простейший учебник по подсветке синтаксиса 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,

Другие вопросы по тегам