私は Exuberant Ctags v5.8 を使用しており、タグ ファイルを生成したい C ソース サンプルは以下のとおりです。
#define PACK(x) __packed x
typedef PACK(struct) {
int a;
int b;
int c;
} my_struct;
PACK(void *) my_func(PACK(void *) var1, int var2)
{
*var1 = var2;
return var1;
}
そして、これは生成されたタグファイルの内容です:
!_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 /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
PACK test.c /^#define PACK(/;" d file:
PACK test.c /^typedef PACK(struct) {$/;" f
タグファイルの予想される内容は次のようになります。
!_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 /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
a test.c /^ int a;$/;" m struct:__anon1 file:
b test.c /^ int b;$/;" m struct:__anon1 file:
c test.c /^ int c;$/;" m struct:__anon1 file:
my_func test.c /^void * my_func(void * var1, int var2)$/;" f
my_struct test.c /^} my_struct;$/;" t typeref:struct:__anon1 file:
元の C ソース ファイルから後者のタグ ファイルを取得するにはどうすればよいですか? ありがとう!