24.8.1.7 缩进规则辅助函数

SMIE 提供一系列专为缩进规则函数设计的辅助函数 (其中部分在其他上下文使用会出错)。 这些函数均以 smie-rule- 为前缀。

Function: smie-rule-bolp

若当前标记是所在行的第一个标记,返回非 nil

Function: smie-rule-hanging-p

若当前标记为 悬挂标记(hanging),返回非 nil。 一个标记是 悬挂(hanging) 的,当且仅当它是行尾标记且前面有其他标记; 单独一行的标记不属于悬挂标记。

Function: smie-rule-next-p &rest tokens

若下一个标记在 tokens 列表中,返回非 nil

Function: smie-rule-prev-p &rest tokens

若上一个标记在 tokens 列表中,返回非 nil

Function: smie-rule-parent-p &rest parents

若当前标记的父节点在 parents 列表中,返回非 nil

Function: smie-rule-sibling-p

若当前标记的父节点实际是兄弟节点,返回非 nil。 典型例子是 "," 的父节点恰好是前一个 ","

Function: smie-rule-parent &optional offset

返回使当前标记与父节点对齐的合适偏移量。 若 offsetnil,则为额外增加的整数偏移。

Function: smie-rule-separator method

将当前标记按 分隔符(separator) 进行缩进。

此处所说的 分隔符(separator),指仅用于在某个外层语法结构中分隔多个元素, 自身无实际语义的标记(即通常不会作为抽象语法树的节点存在)。

这类标记一般具有可结合语法,并与其语法父节点紧密关联。 典型例子包括参数列表中的 ","(包裹在括号内), 或语句序列中的 ";"(包裹在 {...}begin...end 框架内)。

method 应为传入 smie-rules-function 的方法名。


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike