2017-06-16 9 views
0

C++ STLファイル用のタグファイルを生成したいと思います。しかし、うまくいかないようです。 は、例えば、私は、コマンドの下将来C++ STLテンプレートファイルのタグファイルを生成する方法は?

sudo ctags -R --c++-kinds=+p --fields=+iaS --extra=+q future 

を使用する「未来」は、結果として、gccの

からファイルで、タグが

!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/                          
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ 
!_TAG_PROGRAM_AUTHOR Darren Hiebert /[email protected]/ 
!_TAG_PROGRAM_NAME Exuberant Ctags // 
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ 
!_TAG_PROGRAM_VERSION 5.8 // 

以下のようにファイル「非同期のような任意のタグを見つけることができません'、' future 'は、ファイル、将来、以下のように定義されます。

template<typename _Fn, typename... _Args> 
    future<typename result_of<_Fn(_Args...)>::type> 
    async(launch __policy, _Fn&& __fn, _Args&&... __args); 

    template<typename _Fn, typename... _Args> 
    future<typename result_of<_Fn(_Args...)>::type>                                 
    async(_Fn&& __fn, _Args&&... __args); 
+0

ctagsの機能は限られていますが、過度に見やすい空想的なバリデーションテンプレートを解析しようとしていませんか? – VTT

答えて

0

あなたは "futurコマンドラインで入力ファイル名として "e"を指定します。私はあなたが使用しているctagsの実装を知らないが、私はctagsが将来使用される言語を知ることができないと思います。だから、ctagsは "将来"に適したパーサーを選ぶことができません。 --language-force = C++で明示的に "future"の言語を指定すると、ctagsがうまく動作する可能性があります。以下の行は、Universal-ctags(https://ctags.io)タグが2つの "非同期"タグを示しています。

[[email protected]]/tmp% cat future 
template<typename _Fn, typename... _Args> 
future<typename result_of<_Fn(_Args...)>::type> 
async(launch __policy, _Fn&& __fn, _Args&&... __args); 

template<typename _Fn, typename... _Args> 
future<typename result_of<_Fn(_Args...)>::type>                                 
async(_Fn&& __fn, _Args&&... __args); 

[[email protected]]/tmp% ctags --version 
Universal Ctags 0.0.0(d30a62d), Copyright (C) 2015 Universal Ctags Team 
Universal Ctags is derived from Exuberant Ctags. 
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert 
    Compiled: Jun 26 2017, 00:15:01 
    URL: https://ctags.io/ 
    Optional compiled features: +wildcards, +regex, +multibyte, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml, +aspell 

[[email protected]]/tmp% ctags --kinds-C++=+p --fields=+iaS --extras=+q --language-force=C++ -o - future 
async future /^async(_Fn&& __fn, _Args&&... __args);$/;" p typeref:typename:future<typename result_of<_Fn (_Args...)>::type> file: signature:(_Fn && __fn,_Args &&...__args) 
async future /^async(launch __policy, _Fn&& __fn, _Args&&... __args);$/;" p typeref:typename:future<typename result_of<_Fn (_Args...)>::type> file: signature:(launch __policy,_Fn && __fn,_Args &&...__args) 
関連する問題