Skip to content

rdipardo/fpgeanyplugin

Repository files navigation

fpgeanyplugin package

Built with Free Pascal Build

WARNING:This package depends on the LCL's GTK3 interface, which is still considered alpha quality

Usage

fpgeanyplugin currently provides two units:

geanyplugin compatible with Geany >= 2.0 (API version 247)
geanyplugin240 compatible with Geany >= 1.38, < 2.0 (API version 240)

Include the package in a shared library project and add the appropriate unit to the uses section. A subset of Geany's plugin API will be callable from your Object Pascal code.

Since they implement different versions of the same interface, you cannot include both units in the same file. Use a conditional expression if your project needs to target multiple API versions, e.g.,

{$macro ON}
uses
{$if GEANY_API_VERSION > 246}
  geanyplugin
{$else}
  geanyplugin240
{$endif};

Development

Clone the source tree and submodules:

git clone --recursive https://github.com/rdipardo/fpgeanyplugin

Run make to build the package and a sample plugin. See example/README for instructions on building with lazbuild.

Run make geany-deps to transpile Geany's headers into Object Pascal. The transpiler script will first check out the git tag of a Geany release. Only versions 1.38 and 2.0 are currently supported.

Requirements

  • lazarus >= 3.0
  • fpc >= 3.2
  • gtk >= 3.24.24