> As I mentioned, NULL of the file member is used in TM to distinguish global
> tags from non-global tags.
So add a bool to the structure, mere matter of programming ;-P
But my question was, apart from not having a filename, whats special about
"global" tags that needs them to be distinguished? Or is "global" just a
confusing way of saying "no filename"?
Maybe needs an enum in TMSourceFile:
```
enum TMSourceTypeThingy { the_type_formerly_known_as_global, open_in_geany,
tagfile_with_filename, future... };
```
> The file name from a ctags tag file may not point to a valid path because it
> could have been generated on a different machine. It could even point to a
> file name which is already opened in Geany and for which TMSourceFile already
> exists but contains completely different tags.
Ok, good point, but presumably the one open in Geany wins.
And also the filename could point to a file of the same name but different
contents, eg a different git checkout of the file. I guess thats why etags
format has the regexes to select the line, not just a hard wired line number.
Ooooh, _another_ tags format to play with [runs away fast].
> Multiple ctags tag files possibly of different languages might point to the
> same path and TMSourceFile assumes it's from a single language.
That would affect autocompletes, rarely is it good to call other languages
functions directly, but it shouldn't impact goto, if a tag with the same
language as the current file is loaded (using the extension of the filename
stored in the TMSourceFile to decide), go there, else pop up the list and give
the problem to the user.
Anyway, clearly its not something that is nearly there as I hoped it might be,
oh well never mind.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3379#issuecomment-1407386183
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3379/[email protected]>