Нужна функция для получения всех доступных значений в файле freepascal для AutoCamplete списка (такой список как тот который выскакивает когда нажимаешь ctrl+space в lazarus).
Функция должна возвращать все доступные юниты, переменные, процедуры, функции, константы, типы, в том числе те которые доступны из подключенных юнитов.
Функция должна хорошо работать с inc файлами.
Результат должен быть в виде массива record-ов и содержать те-же значения которые в AutoCamplete лазаруса.
Можно использовать готовые исходники из lazarus и freepascal, но должна быть возможность использовать их на чистом freepascal.