前: Splicing into Lists, 上: Customization Types


13.4.4 型キーワード

型名のシンボルのあとに、カスタマイズ型内にキーワード・引数の対を指定できます。 使えるキーワードとその意味を以下に示します。

:value default
choiceの内側の選択肢として現れる型に使う。 これは、カスタマイズバッファのメニューでユーザーがこの選択肢を選ぶと、 使用するデフォルト値をまず指定する。

もちろん、オプションの実際の値がこの選択肢に合えば、 defaultではなく実際の値が表示される。

選択肢の値としてnilが不正であるときには、 :valueで正当なデフォルトを指定することが本質的である。

:format format-string
この文字列は、型に対応する値を表現するためにバッファに挿入される。 format-stringには、以下に示す`%'を使える。
`%[button%]'
ボタンとして印を付けたテキストbuttonを表示する。 :action属性は、ユーザーがボタンを起動したらなにを行うかを指定する。 その値は2つの引数、つまり、ボタンが現れるウィジェットとイベント を取る関数であること。

異なるアクションを有する異なるボタンを指定する方法はない。

`%{sample%}'
:sample-faceで指定した特別なフェイスでsampleを表示する。
`%v'
項目の値で置き換える。 値の表示方法は項目の種類と、 (変数の)カスタマイズ型に依存する。
`%d'
項目の説明文字列で置き換える。
`%h'
`%d'と同様だが、説明文字列が1行を超えるときには、 説明文字列全体を表示するか先頭行だけを表示するかを 制御するアクティブフィールドを追加する。
`%t'
タグで置き換える。 タグは: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-forwardwidget-backwardでこの項目に移動すると、 エコー領域に文字列motion-docを表示する。
:match function
値がこの型に一致することを調べる方法を指定する。 対応する値functionは、2つの引数、つまり、 ウィジェットと値を取る関数であること。 受理できる値の場合にはnil以外を返すこと。