take Save Actions' Autosave feature, put it into a new plugin and run the configured "Compile" or "Build" command for the current file (the configured build commands are different per filetype).
I still ask how does it know I have typed sensible code and am not half way through typing an identifier, or have typed `{` but not yet `}`?
True but I guess this is something people using autosave need to accept. For me personally, it would be enough if a command is triggered upon manually saving the file.
So, thinking more about it, the new plugin basically does not need any autosave feature, just start a command once the file is saved in Geany (via signal). It doesn't matter if the existing SaveActions plugin or the user manually saved the file. Even easier!
Thats a standard feature of the build commands system, open a C file `Build->Set Build Commands` and the first group of commands are C (or whatever the current filetype is) filetype specific, the user just needs to configure their "lint" command in the same place for each language. (remember its possible to add more command slots, so it doesn't have to use one of the default slots)
What I meant is that a user can choose per filetype which of the configured commands is executed automatically. For example, for C I might want the "Compile" command which starts `cppcheck` or whatever but for Python I would rather the Build command executed because I configured it to use the linter. This would give more flexibility. Though this is of course a bonus and doesn't need to be available in the first place.
Anyway, let's hope someone feels encouraged to give it a try and implement something cool.