Spec-Zone.ru › Elisp

Вспомогательные функции для правил отступа

SMIE предоставляет различные функции, разработанные специально для использования в функции правил отступа (несколько этих функций выдают ошибку, если используются в другом контексте). Все эти функции начинаются с префикса smie-rule-.

Функция: smie-rule-bolp

Возвращает не-nil, если текущий токен является первым на строке.

Функция: smie-rule-hanging-p

Возвращает не-nil, если текущий токен является висячим. Токен считается висячим, если он является последним токеном на строке и если ему предшествуют другие токены: одиночный токен на строке не считается висячим.

Функция: smie-rule-next-p &rest tokens

Возвращает не-nil, если следующий токен входит в список tokens.

Функция: smie-rule-prev-p &rest tokens

Возвращает не-nil, если предыдущий токен входит в список tokens.

Функция: smie-rule-parent-p &rest parents

Возвращает не-nil, если родитель текущего токена находится в списке parents.

Функция: smie-rule-sibling-p

Возвращает не-nil, если родитель текущего токена является фактически его братом/сестрой. Это имеет место, например, когда родителем "," является предыдущий ",".

Функция: smie-rule-parent &optional offset

Возвращает правильный отступ для выравнивания текущего токена с родителем. Если не-nil, offset должен быть целым числом, задающим дополнительный отступ.

Функция: smie-rule-separator method

Отступы текущего токена как разделителя.

Под разделителем здесь подразумевается токен, чья единственная цель — разделять различные элементы внутри некоторого содержащего синтаксического конструкта, и который не имеет никакого семантического значения сам по себе (то есть он обычно не будет существовать как узел в дереве абстрактного синтаксиса).

Такой токен должен иметь ассоциативный синтаксис и быть тесно связан со своим синтаксическим родителем. Типичные примеры — "," в списках аргументов (включенных в скобки) или ";" в последовательностях инструкций (включенных в блок {...} или begin...end).

method должен быть именем метода, который был передан smie-rules-function.

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/SMIE-Indentation-Helpers.html

Spec-Zone.ru

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