Spec-Zone.ru › Elisp

Другие переменные шрифта

В этом разделе описываются дополнительные переменные, которые может установить основной режим с помощью other-vars в font-lock-defaults (см. Основные принципы подсветки шрифтов).

Переменная: font-lock-mark-block-function

Если эта переменная не nil, она должна быть функцией, которая вызывается без аргументов, чтобы выбрать область текста для переформатирования для команды M-x font-lock-fontify-block.

Функция должна сообщать свой выбор, помещая область вокруг неё. Хороший выбор — это область текста, достаточно большая для получения правильных результатов, но не слишком большая, чтобы переформатирование стало медленным. Типичные значения — mark-defun для режимов программирования или mark-paragraph для текстовых режимов.

Переменная: font-lock-extra-managed-props

Эта переменная определяет дополнительные свойства (кроме font-lock-face), которые управляются режимом подсветки шрифтов. Она используется font-lock-default-unfontify-region, который обычно управляет только свойством font-lock-face. Если вы хотите, чтобы подсветка шрифтов управляла и другими свойствами, вы должны указать их в facespec в font-lock-keywords, а также добавить их в этот список. См. Подсветка на основе поиска.

Переменная: font-lock-fontify-buffer-function

Функция для форматирования буфера. Значение по умолчанию — font-lock-default-fontify-buffer.

Переменная: font-lock-unfontify-buffer-function

Функция для снятия форматирования буфера. Она используется при отключении режима подсветки шрифтов. Значение по умолчанию — font-lock-default-unfontify-buffer.

Переменная: font-lock-fontify-region-function

Функция для форматирования области. Она должна принимать два аргумента: начало и конец области, и необязательный третий аргумент verbose. Если verbose не nil, функция должна выводить сообщения об этапах выполнения. Значение по умолчанию — font-lock-default-fontify-region.

Переменная: font-lock-unfontify-region-function

Функция для снятия форматирования области. Она должна принимать два аргумента: начало и конец области. Значение по умолчанию — font-lock-default-unfontify-region.

Переменная: font-lock-flush-function

Функция для объявления того, что форматирование области устарело. Она принимает два аргумента: начало и конец области. Значение по умолчанию этой переменной — font-lock-after-change-function.

Переменная: font-lock-ensure-function

Функция для проверки, что область текущего буфера отформатирована. Она вызывается с двумя аргументами: началом и концом области. Значение по умолчанию — функция, которая вызывает font-lock-default-fontify-buffer, если буфер не отформатирован; эффект заключается в том, чтобы убедиться, что вся доступная часть буфера отформатирована.

Функция: jit-lock-register function &optional contextual

Эта функция сообщает режиму подсветки шрифтов выполнить Lisp-функцию function всякий раз, когда ему нужно форматировать или переформатировать часть текущего буфера. Она вызывает function перед вызовом стандартных функций форматирования и передаёт ей два аргумента, start и end, которые указывают область, которую необходимо форматировать или переформатировать. Если function выполняет форматирование, она может вернуть список вида (jit-lock-bounds beg . end), чтобы указать границы области, которую она фактически отформатировала; Подсветка шрифтов Just-In-Time (также известная как «JIT») будет использовать эту информацию для оптимизации последующих циклов перерисовки и областей текста буфера, которые будут переданы в будущие вызовы function.

Необязательный аргумент contextual, если он не nil, заставляет режим подсветки шрифтов всегда переформатировать синтаксически релевантную часть буфера, а не только изменённые строки. Этот аргумент обычно можно опустить.

Когда подсветка шрифтов активируется в буфере, она вызывает эту функцию со значением contextual, отличным от nil, если значение font-lock-keywords-only (см. Подсветка синтаксиса шрифтов) равно nil.

Функция: jit-lock-unregister function

Если function ранее была зарегистрирована как функция форматирования с помощью jit-lock-register, эта функция её отменяет.

Команда: jit-lock-debug-mode &optional arg

Это вспомогательный режим, предназначенный для помощи в отладке кода, выполняемого подсветкой шрифтов JIT. Когда этот режим включён, большая часть кода, который подсветка шрифтов JIT обычно выполняет во время циклов перерисовки, где ошибки Lisp подавляются, вместо этого выполняется таймером. Таким образом, этот режим позволяет использовать средства отладки, такие как debug-on-error (см. Отладка ошибок) и Edebug (см. Edebug) для поиска и исправления проблем в коде подсветки шрифтов и любом другом коде, выполняемом подсветкой шрифтов JIT.

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/Other-Font-Lock-Variables.html

Spec-Zone.ru

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