Общие режимы — это простые основные режимы с базовой поддержкой
синтаксиса комментариев и режима Font Lock. Чтобы определить общий режим, используйте
макрос define-generic-mode. Посмотрите файл generic-x.el
для примеров использования define-generic-mode.
Этот макрос определяет команду общего режима с именем 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.