@@ -1906,9 +2002,27 @@ static gchar *find_calltip(const gchar *word, GeanyFiletype *ft)
g_return_val_if_fail(ft && word && *word, NULL);
- /* use all types in case language uses wrong tag type e.g. python "members" instead of "methods" */
- tags = tm_workspace_find(word, NULL, tm_tag_max_t, NULL, ft->lang);
- if (tags->len == 0)
- tags = get_scoped_tags(editor, pos - strlen(word));
- if (tags)
- {
GPtrArray *filtered = g_ptr_array_new();
foreach_ptr_array(tag, i, tags)
{
if (strcmp(tag->name, word) == 0)
g_ptr_array_add(filtered, tag);
Still confused. get_scope_tags() finds the function name (since pos is setup up to point to it). This is then passed to tm_workspace_find_scope_members() (and then tm_workspace_find()). Therefore the returned tags are already filtered by the function name (assuming scope_sep_typed being FALSE).