> @@ -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);

> Though, I can't really fully defend this, pos - strlen(word) might be a bit 
> of luck, and might only work for 1-byte scope separators. But it odes seem to 
> work somehow :]

It's alright - you just want to skip the function name here, the scope 
separators get skipped in get_scoped_tags().

-- 
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/1188/files/342e636b9d46e30b05bdfe68ec4c3b5ce9695db9#r76200745

Reply via email to