Генерируются неполные ctags, но почему?

#vim #tags #glib #ctags

#vim #Теги #glib #ctags

Вопрос:

Я попытался создать список тегов для glib, поэтому я попробовал следующее:

 %> cd ~/.vim/tags/
%> ctags -o glib -R --sort=yes /usr/include/glib-2.0/
%> grep g_hash glib
g_hash_table_freeze /usr/include/glib-2.0/glib/ghash.h  125;"   d
g_hash_table_thaw   /usr/include/glib-2.0/glib/ghash.h  134;"   d
 

Ну, такие вещи, как g_hash_table_new() не были включены сюда, я пропустил что-то важное здесь?

Спасибо!

Ответ №1:

Для меня это работает:

 ctags -o glib.tags -R --c  -kinds= p --fields= iaS --sort=yes glib-2.0
 

(Exuberant Ctags 5.7, победа 32)

Важным вариантом здесь является p . Это добавляет прототипы функций в файл тегов. Это необходимо, поскольку вы сканируете только .h -файлы, а не .c / .cpp -файлы. Таким образом, ctags «видит» только прототипы.

g_hash_table_freeze и g_hash_table_thaw помечаются без p опции, потому что они просто определяют, а не прототипы функций.