Я только что открыл плагин taglist для vim и прочитал о как использовать его с ctags.
Однако, неутешительно ctags - очень простой парсер.
Есть ли более полная альтернатива?
В частности, я ищу что-то, что:
-
расширяет
#define(x, y) x ## y
макросы стиля для объявлений функций -
процессы
#include
statements -
позволяет включать пути, которые должны быть указаны для зависимостей
Я вижу, что clang предоставляет программный api для доступа к c AST, так что, конечно, это не так сложно сделать?
Кто-нибудь уже это сделал?
-
Edit:
Эти не режут:
-
clang_indexer - не компилируется; когда он делает (после взлома), не работает (бесконечные ошибки).
-
clang_complete - не кажется лучше, чем ctags. Контекстно-ориентированных рекомендаций нет, нет завершения структуры, нет аргументов функции, нет расширения макросов; просто список символов и файл, из которого они пришли.