Да, Вы не поняли идеи. Не какой-то там "свой формат", а существующий формат проектных файлов. От MS Visual Studio 6/7-9/10, от CodeBlocks, от Xilinx/Emacs, от KDevelop. Это форматы которые уже есть, и которые хочется понимать АР-ом.
Вы возьметесь за написания за лексический анализатор, который будет понимать правильно грамматики заданные в конфиге? Я не возьмусь.Как по моему, то надо в плаге было бы реализовать функционал парсинга без привязки к формату(парсить конфигурационный файл), а уж в конфиге описывать формат, если так надо.
Дальше: каждый тип проекта имеет свои заковыки, которые необходимо учесть. А это значит что каждую заковыку нужно буде вручную зашить в коде.
Дальше: лексический анализатор это хорошо, но ведь ещё есть задача сохранить назад.
Модульный вариант однозначно лучше. Модуль сам в курсе как парсить, как сохранять, как дополнительные заковыки обрабатывать. А ядро отвечает лишь за своевременный вызов функций модуля.
Потому что структура проекта в общем случае не эквивалента списку файлов в папке.И почему вообще списки файлов хранить где-то надо, если можно читать структуру папок, начиная от какой-то?