<p></p>
<p dir="auto"><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/masatake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/masatake">@masatake</a> 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 :-)</p>
<p dir="auto">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?</p>
<p dir="auto">(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.)</p>
<p dir="auto">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:</p>
<pre><code>static roleDefinition GoPackageRoles [] = {
        { true, "imported", "imported package" },
};

{true, 'p', "package", "packages",
          .referenceOnly = false, ATTACH_ROLES (GoPackageRoles)},
</code></pre>
<p dir="auto">Am I right to assume that <code>roleBitsType roleBits</code> inside <code>sTagEntryInfo</code> defines whether a kind has a certain role? For instance for some role definition like</p>
<pre><code>static roleDefinition SomeRoles [] = {
        { true, "foo", "" },
        { true, "bar", "" },
        { true, "baz", "" },
};
</code></pre>
<p dir="auto"><code>5</code> (i.e. <code>101</code> in binary) would mean that the kind has the <code>foo</code> and <code>baz</code> roles?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/3032#issuecomment-983476305">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ7GIX2HNTD2QGS2KV3UOXWY5ANCNFSM5I5I4WZA">unsubscribe</a>.<br />Triage notifications on the go with GitHub Mobile for <a href="https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675">iOS</a> or <a href="https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub">Android</a>.
<img src="https://github.com/notifications/beacon/AAIOWJ3O5XB75FDAQE4JQOLUOXWY5A5CNFSM5I5I4WZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHKPKQUI.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/3032#issuecomment-983476305",
"url": "https://github.com/geany/geany/pull/3032#issuecomment-983476305",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>