Next: , Previous: , Up: SMIE   [Contents][Index]


22.7.1.7 Helper Functions for Indentation Rules

SMIEは、インデントを決定する関数内で使用するために特別にデザインされた、さまざまな関数を提供します(これらの関数のうちのいくつかは、異なるコンテキスト内で使用された場合は中断する)。これらの関数はすべて、プレフィックスsmie-rule-で始まります。

Function: smie-rule-bolp

カレントトークンが行の先頭にある場合は、非nilをリターンする。

Function: smie-rule-hanging-p

カレントトークンがhanging(ぶら下がり)の場合は、非nilをリターンする。トークンがその行の最後のトークンであり、他のトークンが先行する場合、そのトークンはhangingである。行に単独のトークンは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

カレントトークンのparentがparents内にある場合は、非nilをリターンする。

Function: smie-rule-sibling-p

カレントトークンのparentが実際はsibling(兄弟)の場合は、非nilをリターンする。たとえば","のparentが直前の","のような場合が該当する。

Function: smie-rule-parent &optional offset

カレントトークンをparentとアライン(align: 桁揃え)するための適切なオフセットをリターンする。offsetが非nilの場合、それは追加オフセットとして適用される整数であること。

Function: smie-rule-separator method

セパレーター(separator)としてカレントトークンをインデントする。

ここでのセパレーターは、周囲を取り囲む何らかの構文構造内でさまざまな要素を区切ることを唯一の目的とするトークンであり、それ自体は何も意味をもたないトークン(通常は抽象構文木内でノードとして存在しない)を意味する。

このようなトークンは結合構文をもち、その構文的parentと密に結び付けられることが期待される。典型的な例としては引数リスト内の","(カッコで括られた内部)、または命令文シーケンス内の";"({...}begin...endで括られたブロックの内部)が挙げられる。

methodは、‘smie-rules-function’に渡されるメソッド名であること。