SMIE предоставляет различные функции, специально предназначенные для использования в
функции правил отступов (некоторые из этих функций выходят из строя, если
используются в другом контексте). Все эти функции начинаются с префикса
smie-rule-.
Возвращает не-nil, если текущий токен является первым в строке.
Возвращает не-nil, если текущий токен является подвешенным.
Токен считается подвешенным, если он является последним токеном в строке
и если перед ним есть другие токены: одиночный токен в строке не является
подвешенным.
Возвращает не-nil, если следующий токен находится среди токенов.
Возвращает не-nil, если предыдущий токен находится среди токенов.
Возвращает не-nil, если родитель текущего токена находится среди родителей.
Возвращает не-nil, если родитель текущего токена на самом деле является
соседом. Это происходит, например, когда родитель ","
является просто предыдущим ",".
Возвращает соответствующее смещение для выравнивания текущего токена с родителем.
Если не-nil, offset должен быть целым числом, дающим
дополнительное смещение для применения.
Отступы текущий токен как разделитель.
Под разделителем мы подразумеваем здесь токен, единственная цель которого — разделять различные элементы внутри некоторой оборачивающей синтаксической конструкции, и который сам по себе не имеет никакого семантического значения (то есть, он обычно не существует как узел в абстрактном синтаксическом дереве).
Ожидается, что такой токен будет иметь ассоциативный синтаксис и тесно связан со своим
синтаксическим родителем. Типичные примеры — "," в списках
аргументов (заключенных в скобки) или ";" в последовательностях
инструкций (заключенных в блок {...} или begin...end
блок).
method должен быть именем метода, переданным в
smie-rules-function.