LINUX.ORG.RU

VIM: переход по коду с помощью тагов


0

0

Здравствуйте! Подскажите, пожалуйста, следующее:

Есть код на Си, который по сути выглядет так:

некий заголовочный файл:
# h.h
#define START_TEST(A) void A (void)

один из си файлов:
...
# c.c
# include"h.h"
START_TEST(ts1t1)
{
...
}
...

# main.c
#include"h.h"

int main()
{
    ts1t1();
    return 0;
}
если сгенерить tag-файл для этого кода, он будет выглядеть так:
# tags
START_TEST	c.c	/^START_TEST(ts1t1)$/;"	f
START_TEST	h.h	1;"	d
main	main.c	/^int main()$/;"	f


Вопрос:
Как перейти к определению функции ts1t1?
Для обычных функций это выглядит как :tag main или CTRL-]

Изменить код я не могу, потому как его слишком много и его писал не я. Я только занимаюсь поддержкой. И мне бы хотелось переходить на такого рода функции, так как в коде подобного добра много.

Почему никто не отвечает? не занет ответа, или задача слишком тривиальная, или не по теме запостил? в вимовский хелп и гул мне не помог.

aeuo
() автор топика

> Как перейти к определению функции ts1t1? > Для обычных функций это выглядит как :tag main или CTRL-]

Напиши на перле или чем знаешь пост-обработку тег-файла, чтобы дублировало строку

START_TEST c.c /^START_TEST(ts1t1)$/;" f

но заменяло первый START_TEST на функцию внутри скобок(в данном случае ts1lt1). Чтобы на выходе было:

ts1t1 c.c /^START_TEST(ts1t1)$/;" f

Cris
()
Ответ на: комментарий от aeuo

Спасибо! Но хотелось бы какими-нибудь стандартными средствами ctags или вима. В etags такое можно провернуть с помощью --regex

aeuo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.