На оф.форуме тему создал, никто не ответил.
В общем нашёл тему по плагам Geany, там первая ссылка простой плаг как пример.
Переделал его пока так
; Лицензия будет тут
; #include <geanyplugin.h>
XIncludeFile "geanyplugin.pbi"
; *plugin - структура GeanyPlugin
; pdata - указатель gpointer, возможно на структуру
Procedure.b hello_init(*plugin, gpointer pdata)
; printf("Привет мир из плагина!\n");
MessageRequester("", "Привет мир из плагина!");
; Выполните расширенную настройку здесь
Return #True
EndProcedure
Procedure hello_cleanup(*plugin, pdata)
; printf("Bye World :-(\n");
MessageRequester("", "Прощай мир :-(");
EndProcedure
; G_MODULE_EXPORT
ProcedureCDLL geany_load_module(*plugin)
; Шаг 1: Устанавливает метаданные
*plugin\nfo\name = "ПриветМир"
*plugin\info\description = "Просто еще один инструмент, чтобы сказать Привет мир"
*plugin\info\version = "1.0"
*plugin\info\author = "John Doe <john.doe@example.org>"
; Шаг 2: Устанавливает функции
*plugin\funcs\init = @hello_init()
*plugin\funcs\cleanup = @hello_cleanup()
; Шаг 3: Регистрация плагина
GEANY_PLUGIN_REGISTER(*plugin, 225);
; В качестве альтернативы:
; GEANY_PLUGIN_REGISTER_FULL(*plugin, 225, Data, free_func);
EndProcedureПогуглил geanyplugin.h, но в нём просто куча инклудов, почти 30 штук. Предположим из них мне нужен только plugindata.h. Как я понял функция geany_load_module() как и в AkelPad получает указатель на структуру *plugin, из которого в примере видны некоторые поля, но мне надо лишь получить дескриптор окна Scintilla ну и как обычно указатель на функцию из Scintilla. Также как и в Notepad++ есть функция подключения плага hello_init() и отключения hello_cleanup(). Ищу структуру, возможно она в plugindata.h.