Next: Defining New Types, Previous: Splicing into Lists, Up: Customization Types [Contents][Index]
カスタマイズ型内の型名シンボルの後にキーワード/引数ペアーを指定できます。以下は使用できるキーワードと、それらの意味です:
:value default
デフォルト値を提供する。
その候補にたいしてnil
が有効な値でない場合は、:value
に有効なデフォルトを指定することが必須になります。
choice
の内部の候補として出現する型にたいしてこれを使用する場合、ユーザーがカスタマイズバッファー内のメニューによりこの候補を選択したときに、使用するデフォルト値を最初に指定します。
もちろんオプションの実際の値がこの候補に適合する場合は、defaultではなく実際の値が表示されます。
:format format-string
この文字列は、その型に対応する値を説明するために、バッファーに挿入されます。format-string内では、以下の‘%’エスケープが利用できます:
ボタンとしてマークされたテキストbuttonを表示する。:action
属性は、ユーザーがそれを呼び出したときに、そのボタンが何を行うか指定する。この属性の値は2つの引数
— ボタンが表示されるのでウィジェットとイベント — をとる関数。
異なるアクションを行う2つの異なるボタンを指定する方法はない。
:sample-face
により指定された、スペシャルフェイス内のsampleを表示する。
そのアイテムの値を代替えする。その値がどのように表示されるかはアイテムの種類と、(カスタマイズ型にたいしては)カスタマイズ型にに依存する。
そのアイテムのドキュメント文字列を代替えする。
‘%d’と同様ふぁが、ドキュメント文字列が複数行の場合に、ドキュメント文字列全体か最初の行だけかを制御するボタンを追加する。
その位置でタグに置き換える。:tag
キーワードでタグを指定する。
リテラル‘%’を表示する。
:action action
ユーザーがボタンをクリックした場合はactionを実行します。
:button-face face
‘%[…%]’で表示されたボタンテキストにたいして、フェイスface(フェイス名、またはフェイス名のリスト)を使用します。
:button-prefix prefix
:button-suffix suffix
これらはボタンの前、または後に表示されるテキストを指定します。以下が指定できます:
nil
テキストは挿入されない。
その文字列がリテラルに挿入される。
そのシンボルの値が使用される。
:tag tag
この型に対応する値(または値の一部)にたいするタグとしてtag(文字列)を使用する。
:doc doc
この型に対応する値(または値の一部)にたいするドキュメント文字列としてdocを使用する。これが機能するためには、:format
にたいする値を指定し、その値にたいして‘%d’か‘%h’を使用しなければならない。
ある型にたいしてドキュメント文字列を指定するのは、:choice
内の候補の型や、他の複合型の一部について情報を提供するのが通常の理由である。
:help-echo motion-doc
widget-forward
やwidget-backward
でこのアイテムに移動したときに、エコーエリアに文字列motion-docを表示する。さらに、マウスのhelp-echo
文字列としてmotion-docが使用され、これは実際にはヘルプ文字列を生成するために評価される関数またはフォームかもしれない。もし関数の場合、これは1つの引数(そのウィジェット)で呼び出される。
:match function
値がその型にマッチするか判断する方法を指定する。対応する値functionは、2つの引数(ウィジェットと値)をとる関数で、値が適切なら非nil
をリターンすること。
:validate function
入力にたいして検証を行う関数を指定する。functionは引数としてウィジェットをとり、そのウィジェットのカレント値がウィジェットにたいして有効ならnil
をリターンすること。それ以外は無効なデータを含むウィジェットをリターンして、そのウィジェットの:error
プロパティに、そのエラーを説明する文字列をセットすること。