Am 23.08.2016 um 09:27 schrieb Jiří Techet:

Another goal is to eventually use this in the existing tag search/query functions.

For C this new API is more or less useless because the filtering can easily be done by directly looking at the tag values and IMO it's more explicit and clearer than using some layer in between.

I disagree. It's a very nice improvement if tm_workspace_find_prefix() along with its helper fill_find_tags_array_prefix() can be replaced with a simple implementation like this:

GPtrArray *tm_workspace_find_prefix(const char *prefix, TMParserType lang, guint max_num)
{
    TMTagAttrType dedup_attrs[] = { tm_tag_attr_name_t, 0 };
    GPtrArray *tags;
    TMQuery *q = tm_query_new(theWorkspace, TM_QUERY_SOURCE_GLOBAL_TAGS | TM_QUERY_SOURCE_SESSION_TAGS);
    tm_query_add_name(q, prefix, strlen(prefix));
    tm_query_add_lang(q, lang);
    tags = tm_query_exec(q, NULL, dedup_attr);

    if (tags->len > max_num)
        tags->len = max_num;
    return tags;
}

Same goes for tm_workspace_find() and tm_workspace_find_scope_members()


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.