I don't know but I still find it a bit too heavy-weight for what you use it 
for. Wouldn't it be sufficient to just extend some tag array utility functions 
and make them accessible for plugins? These two

```
GPtrArray *tm_tags_extract();
void tm_tags_sort();
```

could be changed to e.g.

```
GPtrArray *tm_tags_extract(GPtrArray *tags_array, gchar *name, gchar *scope, 
gboolean prefix, TMParserType lang, TMTagType tag_types);
void tm_tags_sort(GPtrArray *tags_array, TMTagAttrType *sort_attributes, 
gboolean dedup);
```

plus maybe add

```
GPtrArray *tm_tags_concat(GPtrArray *array1, GPtrArray *array2);
```

to concatenate two tag arrays. You will be able to apply them on arbitrary tag 
arrays (global or non-global) or if you wanted logical `or`, you could run 
several tm_tags_extract(), concat the results and run tm_tags_sort() on the 
result.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1187#issuecomment-241992496

Reply via email to