<p></p>
<p><b>@elextr</b> commented on this pull request.</p>

<p dir="auto">I have run out of time to look at the mapping of the more esoteric Ada tag types, need to RTFC to see what they actually mean.</p><hr>

<p>In <a href="https://github.com/geany/geany/pull/3166#discussion_r852499579">src/tagmanager/tm_parser.c</a>:</p>
<pre style='color:#555'>> @@ -942,6 +942,43 @@ static TMParserMapGroup group_GDSCRIPT[] = {
        {_("Other"), TM_ICON_OTHER, tm_tag_other_t},
 };
 
+static TMParserMapEntry map_ADA[] = {
+       {'P', tm_tag_package_t},     // packspec
+       {'p', tm_tag_package_t},     // package
+       {'T', tm_tag_typedef_t},     // typespec
+       {'t', tm_tag_typedef_t},     // type
+       {'U', tm_tag_undef_t},       // subspec
</pre>
<p dir="auto">Both <code>U</code> and <code>u</code> are just another way of defining a type, I would have made them <code>typedef</code></p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/3166#discussion_r852504510">src/tagmanager/tm_parser.c</a>:</p>
<pre style='color:#555'>> @@ -942,6 +942,43 @@ static TMParserMapGroup group_GDSCRIPT[] = {
        {_("Other"), TM_ICON_OTHER, tm_tag_other_t},
 };
 
+static TMParserMapEntry map_ADA[] = {
+       {'P', tm_tag_package_t},     // packspec
+       {'p', tm_tag_package_t},     // package
+       {'T', tm_tag_typedef_t},     // typespec
+       {'t', tm_tag_typedef_t},     // type
+       {'U', tm_tag_undef_t},       // subspec
+       {'u', tm_tag_undef_t},       // subtype
+       {'c', tm_tag_member_t},      // component
+       {'l', tm_tag_enumerator_t},  // literal
+       {'V', tm_tag_variable_t},    // varspec
+       {'v', tm_tag_variable_t},    // variable
+       {'f', tm_tag_undef_t},       // formal
</pre>
<p dir="auto">Its time tagmanager got to know more kinds, the <code>z</code> kind (template parameter) in the new cxx parser is also mapped to undefined.  Would be good if parameter names and generic/template parameters were available to autocomplete, although that then needs scope to avoid overloading the autocompletes.  But the use of folds as an initial scope as Geany does for the status bar scope would be a good start.</p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/3166#discussion_r852507554">src/tagmanager/tm_parser.c</a>:</p>
<pre style='color:#555'>> @@ -942,6 +942,43 @@ static TMParserMapGroup group_GDSCRIPT[] = {
        {_("Other"), TM_ICON_OTHER, tm_tag_other_t},
 };
 
+static TMParserMapEntry map_ADA[] = {
+       {'P', tm_tag_package_t},     // packspec
+       {'p', tm_tag_package_t},     // package
+       {'T', tm_tag_typedef_t},     // typespec
+       {'t', tm_tag_typedef_t},     // type
+       {'U', tm_tag_undef_t},       // subspec
+       {'u', tm_tag_undef_t},       // subtype
+       {'c', tm_tag_member_t},      // component
+       {'l', tm_tag_enumerator_t},  // literal
+       {'V', tm_tag_variable_t},    // varspec
+       {'v', tm_tag_variable_t},    // variable
+       {'f', tm_tag_undef_t},       // formal
+       {'n', tm_tag_macro_t},       // constant
+       {'x', tm_tag_undef_t},       // exception
+       {'R', tm_tag_function_t},    // subprogspec
</pre>
<p dir="auto">I would have mapped this to <code>tm_tag_prototype_t</code>, thats effectively what it is.</p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/3166#discussion_r852507868">src/tagmanager/tm_parser.c</a>:</p>
<pre style='color:#555'>> +    {'P', tm_tag_package_t},     // packspec
+       {'p', tm_tag_package_t},     // package
+       {'T', tm_tag_typedef_t},     // typespec
+       {'t', tm_tag_typedef_t},     // type
+       {'U', tm_tag_undef_t},       // subspec
+       {'u', tm_tag_undef_t},       // subtype
+       {'c', tm_tag_member_t},      // component
+       {'l', tm_tag_enumerator_t},  // literal
+       {'V', tm_tag_variable_t},    // varspec
+       {'v', tm_tag_variable_t},    // variable
+       {'f', tm_tag_undef_t},       // formal
+       {'n', tm_tag_macro_t},       // constant
+       {'x', tm_tag_undef_t},       // exception
+       {'R', tm_tag_function_t},    // subprogspec
+       {'r', tm_tag_function_t},    // subprogram
+       {'K', tm_tag_method_t},      // taskspec
</pre>
<p dir="auto">If a task is called a "method" (which is fine its a function running in a new thread) then a taskspec is probably a prototype maybe (unsure sounding tone of voice).</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/3166#pullrequestreview-944936030">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ36PNE6SEH2KHVBK73VFYBPFANCNFSM5TLGJASA">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAIOWJ7QPPN56A6PKE2OPQTVFYBPFA5CNFSM5TLGJASKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOHBJJIXQ.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><geany/geany/pull/3166/review/944936030</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/3166#pullrequestreview-944936030",
"url": "https://github.com/geany/geany/pull/3166#pullrequestreview-944936030",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>