続 auto-complete-etags

どもです。
今朝起きたら,のどの痛みも取れ,風邪が治るときにでる痰がでたので,
いよいよ完治の時を待つのみです。でも気を抜かない。
やらかした腰も,ほぼ完治しているような感じです。

シグニチャを取得するのに実際に対象ファイルに飛ぶパターン。

http://tenkan.org/~tim/c-function-signature.html
を見つけました。
ここで使われているアイデアは,実際に定義してあるファイルに
タグジャンプして,シグニチャを取得するというもの。
なるほど。確かにそうすれば,複数行にまたがるシグニチャも,
頑張れば取得できるか。

cpp を呼ぶパターン

eldoc だかを使用するやつは,cpp を実際に呼ぶみたい。
ここで紹介されています。
http://d.hatena.ne.jp/mooz/20100421/
確かに革命だなぁ,これは。
でもエコーエリアには,バッファが保存されると,例の
Wrote somefile というメッセージがぼこぼこ表示されるので使いたくない。
というか,Wrote somefile というメッセージを,
エコーエリアには出力しないで欲しい。*Message* バッファにだけ出力してほしい。

どっちが早いのかにゃ?

cpp を呼ぶのと,定義元にジャンプしてシグニチャを取得するのはどちらのコストが
小さいんだろうか?
後者が勝つる予感はするけどねぇ。実際に使ったことがないので
どうなのかはわかりませんが。cpp を通した結果をバッファに出力して,
そのバッファから対象のシグニチャを取得している感じだから,
似てるっちゃー似てる。
タグジャンプの場合は,いきなりバッファにタグジャンプして
検索かけるから,やはりこっちのほうが早そうだ。
また,etags を使った場合の利点は,C言語以外でも,頑張ればいけるというとこか。


それから,http://www.emacswiki.org/emacs/c-eldoc.el
には,参考になりそうな部分があるので,結構パクれそうな予感。
パクリマクリスティ。
よっしゃよっしゃ。少し先が見えた。

おまけ

auto-complete を使っていて気になった点。
ac-soruces => (ac-source-etasg ac-source-words-in-same-mode-buffers)
の場合のお話。ac-source-etags では,document プロパティ? で,
シグニチャを表示する関数をしているとしましょう。
で,CU_add_test を補完したとしましょう。
ほいで,次に CU_add_test が候補に選択されているときに,
シグニチャを表示する関数が呼ばれない。
これはどうやって回避するのかにゃ? キャッシュでごにょごにょするのかにゃ?
これについても色々試してみるにゃ。にゃー!