@techee can't you make the scripting plugin a proxy and the scripts sub-plugins? IIUC @kugel- made it possible for proxies to manipulate keybindings.
Ah, no, the plugin does something different. The main feature is that the scripts can be written in ANY language and don't require ANY knowledge of GTK or Geany API. They only behave as filters so they do the following transformation:
``` input -> script -> output ```
where `input` becomes stdin of the script and the script writes `output` to stdout. Now both `input` and `output` will be configurable so for instance, `input` can be configured in a separate config file to be:
- current document - selection in current document - none (no input at all)
and output to:
- replace current document - insert at cursor position - replace selection - opened in a new document - written to the messages window
Also before the script is run, some values will be exported through environment variables so the script can e.g. use $CURRENT_DOCUMENT to get the name of current document.
So for instance a shell script containing only
``` git blame $CURRENT_DOCUMENT ```
and configuration
input: none output: new document
will open a new document with `git blame` of current document (you can easily imagine how one could re-create GeanyVC with single-line scripts like this).