Am 25.08.2016 um 14:38 schrieb Matthew Brush:
Both suggestions aren't type-safe and not compatible to GI. I don't see why we should start playing tricks with type-unsafe functions now?
Well the |...| was a joke as suggested by the :) and the next sentence starting with "An actually sensible...". Putting a flags parameter isn't any more type unsafe than anything else in C, avoids having lots of boolean parameters, and allows you to customize the function further in the future by adding options that can be represented as flags.
What do you want to achieve with the flags alone? You still need params to say to *which* name/scope/lang/type/whatever to filter for.
Unfortunately, it's referencing the whole array which causes the slow down.
The usual solution here is to write those parts of the Python code in an extension module. IMO adding a bunch of code to Geany to work around problems with Python/PyGI isn't a great solution.
This interface isn't just a workaround for my python problem. It's a new interface for both Geany and plugins because the existing methods to query tags are poor (inflexible and inconsistent), such that I wouldn't want to even export in the first place. For plugins there isn't any method provided by Geany ATM, just the global workspace (with bare tag arrays) is exported.