42.22 Мигание скобок

В этом разделе описан механизм, с помощью которого Emacs показывает соответствующую открывающую скобку, когда пользователь вводит закрывающую скобку.

Значение этой переменной должно быть функцией (без аргументов), которая вызывается всякий раз, когда вставляется символ с синтаксисом закрывающей скобки. Значение blink-paren-function может быть nil, в этом случае ничего не делается.

Если эта переменная равна nil, то blink-matching-open ничего не делает.

Эта переменная задаёт максимальное расстояние для поиска соответствующей скобки, после которого поиск прекращается.

Эта переменная задаёт количество секунд, в течение которых указывается соответствующая скобка. Доля секунды часто даёт хорошие результаты, но по умолчанию используется 1, что работает во всех системах.

Эта функция является значением по умолчанию для blink-paren-function. Она предполагает, что точка следует за символом с синтаксисом закрывающей скобки, и кратковременно применяет соответствующий эффект к соответствующему открывающему символу. Если этот символ ещё не отображается на экране, она показывает его контекст в области эхо. Чтобы избежать длительных задержек, эта функция не ищет дальше, чем на blink-matching-paren-distance символов.

Вот пример явного вызова этой функции.

(defun interactive-blink-matching-open ()
  "Кратко показать начало заключённой в скобки S-выражения перед точкой."
  (interactive)
  (let ((blink-matching-paren-distance
         (buffer-size))
        (blink-matching-paren t))
    (blink-matching-open)))