SMIE 提供一系列专为缩进规则函数设计的辅助函数
(其中部分在其他上下文使用会出错)。
这些函数均以 smie-rule- 为前缀。
若当前标记是所在行的第一个标记,返回非 nil。
若当前标记为 悬挂标记(hanging),返回非 nil。
一个标记是 悬挂(hanging) 的,当且仅当它是行尾标记且前面有其他标记;
单独一行的标记不属于悬挂标记。
若下一个标记在 tokens 列表中,返回非 nil。
若上一个标记在 tokens 列表中,返回非 nil。
若当前标记的父节点在 parents 列表中,返回非 nil。
若当前标记的父节点实际是兄弟节点,返回非 nil。
典型例子是 "," 的父节点恰好是前一个 ","。
返回使当前标记与父节点对齐的合适偏移量。
若 offset 非 nil,则为额外增加的整数偏移。
将当前标记按 分隔符(separator) 进行缩进。
此处所说的 分隔符(separator),指仅用于在某个外层语法结构中分隔多个元素, 自身无实际语义的标记(即通常不会作为抽象语法树的节点存在)。
这类标记一般具有可结合语法,并与其语法父节点紧密关联。
典型例子包括参数列表中的 ","(包裹在括号内),
或语句序列中的 ";"(包裹在 {...} 或 begin...end 框架内)。
method 应为传入 smie-rules-function 的方法名。