Spec-Zone.ru › Elisp

Общие режимы

Общие режимы — это простые основные режимы с базовой поддержкой синтаксиса комментариев и режима подсветки шрифтов. Для определения общего режима используйте макрос define-generic-mode. См. файл generic-x.el для некоторых примеров использования define-generic-mode.

Макрос: define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring

Этот макрос определяет команду общего режима с именем mode (символ, а не строка). Необязательный аргумент docstring — это документация для команды режима. Если вы его не предоставите, define-generic-mode сгенерирует его по умолчанию.

Аргумент comment-list — это список, в котором каждый элемент — это либо символ, либо строка из одного или двух символов, либо cons-ячейка. Символ или строка настраиваются в таблице синтаксиса режима как начальный символ комментария. Если элемент — cons-ячейка, CAR настраивается как начальный символ комментария, а CDR — как конечный. (Используйте nil для последнего, если вы хотите, чтобы комментарии заканчивались в конце строки). Обратите внимание, что механизм таблицы синтаксиса имеет ограничения относительно того, какие начальные и конечные символы комментариев на самом деле возможны. См. Таблицы синтаксиса.

Аргумент keyword-list — это список ключевых слов для подсветки с помощью font-lock-keyword-face. Каждое ключевое слово должно быть строкой. В то же время font-lock-list — это список дополнительных выражений для подсветки. Каждый элемент этого списка должен иметь ту же форму, что и элемент font-lock-keywords. См. Подсветка на основе поиска.

Аргумент auto-mode-list — это список регулярных выражений, которые нужно добавить к переменной auto-mode-alist. Они добавляются при выполнении формы define-generic-mode, а не при разворачивании вызова макроса.

Наконец, function-list — это список функций, которые команда режима должна вызывать для дополнительной настройки. Он вызывает эти функции непосредственно перед запуском переменной крючка режима mode-hook.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Generic-Modes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API