Spec-Zone.ru › Elisp

Стандартные хуки

Ниже приведен список некоторых переменных-хуков, позволяющих задавать функции, которые будут вызываться в Emacs в подходящих случаях.

Большинство этих переменных имеют имена, оканчивающиеся на ‘-hook’. Это обычные хуки, выполняемые с помощью run-hooks. Значение такого хука — список функций; функции вызываются без аргументов, а их возвращаемые значения полностью игнорируются. Рекомендуемый способ добавить новую функцию в такой хук — вызвать add-hook. Дополнительные сведения об использовании хуков см. в разделе Хуки.

Переменные, имена которых оканчиваются на ‘-functions’, обычно являются нестандартными хуками (в некотором старом коде также может использоваться устаревший суффикс ‘-hooks’). Их значения — списки функций, но эти функции вызываются особым образом: им либо передаются аргументы, либо их возвращаемые значения используются каким-либо образом. Значениями переменных, имена которых оканчиваются на ‘-function’, являются отдельные функции.

Это не исчерпывающий список: в нем перечислены только наиболее общие хуки. Например, каждый основной режим определяет хук с именем ‘modename-mode-hook’. Команда основного режима выполняет этот обычный хук с run-mode-hooks в качестве последнего действия. См. раздел Хуки режимов. У большинства второстепенных режимов также есть хуки режимов.

Специальная возможность позволяет задавать выражения, которые будут вычисляться при загрузке файла (см. раздел Хуки загрузки). Это не совсем хук, но возможность выполняет аналогичную задачу.

activate-mark-hook
deactivate-mark-hook

См. раздел Метка.

after-change-functions
before-change-functions
first-change-hook

См. раздел Хуки изменений.

after-change-major-mode-hook
change-major-mode-after-body-hook

См. раздел Хуки режимов.

after-init-hook
before-init-hook
emacs-startup-hook
window-setup-hook

См. раздел Файл инициализации.

after-insert-file-functions
write-region-annotate-functions
write-region-post-annotation-function

См. раздел Преобразование формата файлов.

after-make-frame-functions
before-make-frame-hook
server-after-make-frame-hook

См. раздел Создание фреймов.

after-save-hook
before-save-hook
write-contents-functions
write-file-functions

См. раздел Сохранение буферов.

after-setting-font-hook

Хук, выполняемый после изменения шрифта фрейма.

auto-save-hook

См. раздел Автоматическое сохранение.

before-hack-local-variables-hook
hack-local-variables-hook

См. раздел Локальные переменные файла.

buffer-access-fontify-functions

См. раздел Отложенное вычисление свойств текста.

buffer-list-update-hook

Хук, выполняемый при изменении списка буферов (см. раздел Список буферов).

buffer-quit-function

Функция, вызываемая для выхода из текущего буфера.

change-major-mode-hook

См. раздел Создание и удаление привязок, локальных для буфера.

comint-password-function

Этот нестандартный хук позволяет производному режиму передать пароль нижележащему интерпретатору команд без запроса у пользователя.

command-line-functions

См. раздел Аргументы командной строки.

delayed-warnings-hook

Цикл команд выполняет этот хук вскоре после post-command-hook (см. соответствующую статью).

focus-in-hook
focus-out-hook

См. раздел Фокус ввода.

delete-frame-functions
after-delete-frame-functions

См. раздел Удаление фреймов.

delete-terminal-functions

См. раздел Несколько терминалов.

pop-up-frame-function
split-window-preferred-function

См. раздел Дополнительные параметры отображения буферов.

echo-area-clear-hook

См. раздел Настройка области эха.

find-file-hook
find-file-not-found-functions

См. раздел Функции для посещения файлов.

font-lock-extend-after-change-region-function

См. раздел Область для повторной раскраски после изменения буфера.

font-lock-extend-region-functions

См. раздел Многострочные конструкции блокировки шрифтов.

font-lock-fontify-buffer-function
font-lock-fontify-region-function
font-lock-mark-block-function
font-lock-unfontify-buffer-function
font-lock-unfontify-region-function

См. раздел Другие переменные блокировки шрифтов.

fontification-functions

См. раздел Автоматическое назначение лиц.

frame-auto-hide-function

См. раздел Выход из окон.

quit-window-hook

См. раздел Выход из окон.

kill-buffer-hook
kill-buffer-query-functions

См. раздел Удаление буферов.

kill-emacs-hook
kill-emacs-query-functions

См. раздел Завершение работы Emacs.

menu-bar-update-hook

См. раздел Строка меню.

minibuffer-setup-hook
minibuffer-exit-hook

См. раздел Разное о минибуфере.

mouse-leave-buffer-hook

Хук, выполняемый, когда пользователь щелкает мышью в окне.

mouse-position-function

См. раздел Положение мыши.

prefix-command-echo-keystrokes-functions

Нестандартный хук, выполняемый командами-префиксами (например, C-u); он должен возвращать строку с описанием текущего состояния префикса. Например, C-u выдает ‘C-u-’ и ‘C-u 1 2 3-’. Каждая функция хука вызывается без аргументов и должна возвращать строку с описанием текущего состояния префикса или nil, если состояние префикса отсутствует. См. раздел Аргументы команды-префикса.

prefix-command-preserve-state-hook

Хук, выполняемый, когда команде-префиксу необходимо сохранить префикс, передав состояние текущей команды-префикса следующей команде. Например, C-u должна передать состояние следующей команде, если пользователь вводит C-u - или после C-u вводит цифру.

pre-redisplay-functions

Хук, выполняемый в каждом окне непосредственно перед его перерисовкой. См. раздел Принудительная перерисовка.

post-command-hook
pre-command-hook

См. раздел Обзор цикла команд.

post-gc-hook

См. раздел Сборка мусора.

post-self-insert-hook

См. раздел Карты клавиш и второстепенные режимы.

suspend-hook
suspend-resume-hook
suspend-tty-functions
resume-tty-functions

См. раздел Приостановка Emacs.

syntax-begin-function
syntax-propertize-extend-region-functions
syntax-propertize-function
font-lock-syntactic-face-function

См. раздел Синтаксическая блокировка шрифтов. См. раздел Синтаксические свойства.

temp-buffer-setup-hook
temp-buffer-show-function
temp-buffer-show-hook

См. раздел Временные отображения.

tty-setup-hook

См. раздел Инициализация для конкретного терминала.

window-configuration-change-hook
window-scroll-functions
window-size-change-functions

См. раздел Хуки прокрутки и изменений окон.

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

Spec-Zone.ru

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