In src/editor.c:

> @@ -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, view it on GitHub, or mute the thread.