[Github-comments] [geany/geany] Use cxx parser from uctags (PR #3032)

Jiří Techet notifications at xxxxx
Wed Dec 1 09:59:42 UTC 2021


@masatake Thanks for your detailed explanation. I don't think we really need any special API for that, I was just asking in case we were doing something stupid unnecessarily :-)

Those multiple scope separators in PHP are quite unpleasant though - our code currently assumes there's a single type of scope separator per language. I guess the easiest way for us will be to rewrite tags we receive from ctags to have a single type of scope separator. Is there any other language that uses multiple types of scope separators? 

(I'm not sure if multiple types of scope separators are a good idea even if the given language uses these for certain kinds - I think tools processing ctags files won't be very happy they have to deal with this.)

I also started realizing we'll have to take "roles" into account which we currently ignore - in the go compiler for instance the role is used to distinguish between the package of the file and imported packages which are 2 different things and confuse our code:
```
static roleDefinition GoPackageRoles [] = {
	{ true, "imported", "imported package" },
};

{true, 'p', "package", "packages",
	  .referenceOnly = false, ATTACH_ROLES (GoPackageRoles)},
```

Am I right to assume that `roleBitsType roleBits` inside `sTagEntryInfo` defines whether a kind has a certain role? For instance for some role definition like
```
static roleDefinition SomeRoles [] = {
	{ true, "foo", "" },
	{ true, "bar", "" },
	{ true, "baz", "" },
};
```
`5` (i.e. `101` in binary) would mean that the kind has the `foo` and `baz` roles?

-- 
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/3032#issuecomment-983476305
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20211201/a2fba1de/attachment.htm>


More information about the Github-comments mailing list