2011-07-11 9 views
4

私は、パーサーとしてclang 2.8を使って、Emacsでオートコンプリート用の環境をセットアップしました。それはうまくいくが、完了前に現在編集されているバッファをファイルに保存することに依存する。これは遅いので、私はclangに、今のところ運がなく、代わりにstdin経由で与えられたファイルを解析するようにしています。stdinとclangのオートコンプリート

次のようにファイルを解析するとき、私は打ち鳴らすを養うコマンドラインは次のとおりです。

clang -cc1 -fsyntax-only -Iinclude/ -code-completion-at foo.cpp:10:20 foo.cpp 

これはうまく動作します。しかし、stdinからの読み込みは失敗します。私はこの試みた:

cat foo.cpp | clang -xc++ -cc1 -fsyntax-only -Iinclude/ -code-completion-at -:10:20 - 

をしかし、それは打ち鳴らすには任意の補完を行わずに終了しますと警告出力します

clang: warning: argument unused during compilation: '-cc1' 
clang: warning: argument unused during compilation: '-code-completion-at' 
clang: warning: argument unused during compilation: '-:10:20' 

任意のアイデア?

答えて

1

より前に-cc1を指定すると機能しますか?

+0

うーん、いいえ、誤差は異なります。これで、単に「致命的なエラー:コード補完ファイルを見つけることができません」と表示されます。 – Hnefi

+0

これは残念ですが、 'clang -cc1 -x C++ -fsyntax-only -code-completion-at-:7:15- Hugh

+0

ああ、ねえ。私はちょうどclangトランクの新しく構築されたHEADリビジョンを試しました、それは動作します。典型的なことは、私のOSの組み込みバージョンが動作しないことを意味します。私のために物事をクリアしていただきありがとうございます。 – Hnefi