Автор акк здесь.Нет, я не знаю ни одного grep-подобного инструмента, который бы хоть что-нибудь понимал в текстовых файлах, которые он ищет.Это то, о чем люди все время просят, но я никогда даже не задумывался о его реализации.
Вы сказали: «Я думаю, это будет довольно сложно, так как разные языки программирования имеют разные способы включения функций / классов«.Ты совершенно прав.Также рассмотрим такие вещи, как комментарии
/ * void foo () * /
и буквенные строки
printf ("void foo () ");
, что может вызвать проблемы для любого инструмента поиска.Ни один из этих экземпляров строки void foo()
на самом деле не является объявлением функции.
Посетите страницу Дополнительные инструменты на beyondgrep.com.Что-то вроде cscope может вам помочь.