New, flexible interfaces to query tags from a workspace.
The existing functions are rather tied to their use case (either showing tag names in the autocomplete list or in the goto definition popup). E.g. there is currently no function to search for all tags starting with a prefix that does NOT do deduplication.
The goal is to provide these interfaces to plugins. In particular, python plugins (via my peasy plugin) can benefit. Mangling the global tag arrays manually is super slow (pygobject converts each tag in each array to a PyGObject on first use, even if no tag referenced). Another goal is to eventually use this in the existing tag search/query functions.
@techee @b4n Please comment and review You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1187
-- Commit Summary --
* tagmanager: new query module * gi: add support for array annoations * plugin api: export new tagmanager query interfaces
-- File Changes --
M doc/Doxyfile.in (5) M scripts/gen-api-gtkdoc.py (3) M src/tagmanager/Makefile.am (6) A src/tagmanager/tm_query.c (312) A src/tagmanager/tm_query.h (37) M src/tagmanager/tm_tag.c (35) M src/tagmanager/tm_tag.h (12) M src/tagmanager/tm_workspace.c (4)
-- Patch Links --
https://github.com/geany/geany/pull/1187.patch https://github.com/geany/geany/pull/1187.diff