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

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).


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