6.2 KiB
6.2 KiB
title | author | date | wordtwit_post_info | categories | ||
---|---|---|---|---|---|---|
とりあえずサンプルスクリプトを作成してみる | kazu634 | 2009-10-13 |
|
|
色々と参考にして作成してみます。
name, candidates, actionについて
name, candidates, actionはこのような説明があります:
- name (必須)
- source の名前。この値は source からヒットしたリストの上に表示されるタイトルでもある。この値はユニークである必要がある。
- candidates (candidates-in-buffer 要素を指定しなかった場合、必須)
- source から候補を取得するための方法を指定する。この要素に指定できるのは、変数、引数なしの関数、あるいは実際の候補のリストである。
- action (type 要素が指定されなかった場合、必須)
- action 要素は「(表示文字列 . 関数)ペアー」のリストである。指定された関数は選択された候補を引数として呼び出される。
このように解説がなされているので、試してみました。こんな風にも書いてあった、ということもあり:
name, action, candidates だけがあればだいたい大丈夫
サンプル
(defun my-anything-find-file () "My Anything" (interactive) (anything (list temp-c-source-hatena))) (setq temp-c-source-hatena '((name . "Insert String") (candidates . ("quote" "code")) (action . (("insert" . insert)))))
これをスクラッチ・バッファーで C-x C-e して、M-x my-anything-find-file してやると、こうなります。
この状態で候補を選択してあげると、選択した文字列がバッファーに挿入されます。
これを次のように変更すると、どうなるかというと:
(setq temp-c-source-hatena '((name . "Insert") (candidates . ("quote" "code" "foo")) (action . (("insert" . message)))))
このようになります(C-x C-eを忘れずに):
そして候補を選択すると、ミニバッファーに選択文字列が表示されます。