Небольшой тизер ; ) разрабатываемого мною плагина Obide (Oberon IDE). Про условия распространения пока ничего сказать не могу, всё зависит от Штефана Метцелера (Amadeus IT Solutions), оплатившего моё время на разработку.
В настоящий момент заканчивается работа над версией 2.0, осталось добавить поддержку type-bound процедур.
Основные умения плагина: Autocompletion (AKA intellisense), Code Hints, навигация по исходнику (переход к объявлению идентификатора и обратно) и базовая - пока что очень базовая - интеграция компилятора. Первые два умения показаны на картинке достаточно полно. Как видно, корректно обрабатываются: переименование модулей, правила видимости элементов структур, наследование, именованные и безымянные типы, а так же локальные переменные, включая параметры процедур. В реализации использованы модули портируемого компилятора из системы Oberon (OPS - сканер, OPM - машинно-зависимые константы), которые без проблем заработали под XDS, подтвердив свою портируемость. Стандартный парсер не использовался намеренно, чтобы не запинаться о несущественные с точки зрения intellisense ошибки в исходниках.
При вызове функции плагина парсинг текущего модуля производится прямо из буфера Notepad++, так что сохранение файла не требуется, идёт работа с наиболее актуальными данными. Используемые модули по мере необходимости парсятся с жесткого диска.