Как вы создаете ctags только для функций и игнорируете typedefs и structs? Я пробовал ctags --declarations --output=tags program.c
, но мне нужно вручную разобрать эти функции. Я пробовал: ctags -x --c-kinds=fp path_to_file. 2
, но я получаю следующее сообщение об ошибке:Как получить только функции ctags
ctags: unrecognized option '--c-kinds=fp'
Try `ctags --help' for a complete list of options.
Edit: После установки буйный, следующий делает трюк, чтобы получить только функции заголовков:
ctags -x --c-types=f ./prog.c
Для тех, кто который сталкивается с этим вопросом, если вы хотите всю функцию (заголовок и тело), вам нужно написать сценарий для этого. Но это не слишком сложно. Я использую заголовки функций, по сути, индексы. Просто прочитайте и найдите, где каждый заголовок функции находится в файле, чтобы получить уникальный индекс. Некоторые имена функций одинаковы, поэтому перебирайте код и используйте некоторое время, чтобы добавлять и продолжать смотреть в коде для этой функции, пока не получите другой индекс от индекса в вашем списке индексов. Сохраните имя и позицию функции в списке кортежей, а затем отсортируйте список в порядке возрастания. Затем прочитайте функции извлечения кода, начиная с верхней части первой функции и прочитав ее до следующей в списке. Возможно, вам придется сделать некоторые изменения в зависимости от вашей ситуации.