Hi all,
when writing in python (and not, e.g. text), once I have written the full name of a function/method a help tooltip is displayed that's showing the function signature in an effort to help pass the correct variables.
The issue is that this is wrong or confusing in my case, and it's not clear where this information is coming from. It is sometimes coming from opened files, but it's still happening when no relating files are open. E.g.
``` rectangle( ```
will display the hint
```rectangle win, uly, ulx, lry, lrx```
I do have a definition I regularly use, so this would be helpful to use actively. But this is not the hint I want to see.
My guess would be it's a built-in library?
I didn't find anything in the manual that would explain this behavior.
Ideally, I would like to define priorities for which definitions are displayed, my own, specific packages and/or the defaults.
Its a Python standard library [function](https://docs.python.org/3/library/curses.html?highlight=rectangle#curses.tex...) and it comes from the global symbols which are automatically loaded when a Python file is loaded, see a message like
` Geany INFO : Loaded /XXXXXXXX/share/geany/tags/std.py.tags (Python), 5963 symbol(s).`
in `Help->Debug Messages`
Unfortunately there is no way of defining priorities for symbols, we just had a major effort to get Geany to attempt some heuristics for C++ to make a better choice, but they are hard coded and specific to C/C++. Thats not a sustainable model for the number of languages Geany supports, but I can't see how a configurable model would work either. Suggestions welcome.
Thanks for the reply!
I suppose "pie in the sky" ideal would be a personal preference file that exists outside of geany, so that I could take my preferences with me. In general, I don't think doing it by language is a good idea, it would be much better to have it as part of a package. Like documentation I wouldn't expect that to be precompiled and collected for an entire language.
Looks like I can just make my own tags file?
https://www.geany.org/manual/current/index.html#generating-a-global-tags-fil...
So, how about allowing to generate a custom tags file from the opened files and saving it in
`./local/share/geany ...`
and when geany is started, checking there if such a tags file exists and use that one instead of the one from `/user/share/`...?
But that doesn't even have to be done by you, for now I can do this myself and/or just overwrite the global one, since I'm the only person using my computer.
So, how about allowing to generate a custom tags file from the opened files and saving it in
There is no need to make a tags file for files that are opened, they are parsed as you type.
Geany searches your user config `/tags` for tag files to load, but they are in addition to system files, they do not overwrite them, and you can have many configs starting Geany with `-c configdir`. Never overwrite system files, they will get overwritten next upgrade of Geany, but you could rename one to stop it being loaded, just remember you will have to do it every upgrade.
See the scripts directory in this repository for the script that makes the Python system tags file (maybe after #3039), you might be able to re-purpose it for your needs.
To be clear the intention of the C++ heuristic is to sort symbols to present the most likely first, not to remove them from the list. And the "most likely" is definitely language specific, many languages like C++ have function overloading which languages like C and Python don't.
github-comments@lists.geany.org