Spec-Zone.ru › Elisp

Другие переменные Font Lock

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

Переменная: 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. Она используется font-lock-default-unfontify-region, которая обычно управляет только свойством font-lock-face. Если вы хотите, чтобы Font Lock управлял и другими свойствами, их нужно указать в facespec в font-lock-keywords, а также добавить в этот список. См. Форматирование шрифтами на основе поиска.

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

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

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

Функция, используемая для отмены оформления шрифтами буфера. Она используется при отключении режима Font Lock. Значение по умолчанию — 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

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

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

При активации Font Lock в буфере эта функция вызывается со значением contextual, не-nil, если значение font-lock-keywords-only (см. Синтаксический Font Lock) равно nil.

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

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

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

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

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

Spec-Zone.ru

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