<p></p>
<p dir="auto">The upstream TCL parser is split into 3 parts:</p>
<ol dir="auto">
<li>The parser of the TCL language: <a href="https://github.com/universal-ctags/ctags/blob/master/parsers/tcl.c">https://github.com/universal-ctags/ctags/blob/master/parsers/tcl.c</a></li>
<li>The parser of TCLOO (the "current" object-oriented extension): <a href="https://github.com/universal-ctags/ctags/blob/master/parsers/tcloo.c">https://github.com/universal-ctags/ctags/blob/master/parsers/tcloo.c</a></li>
<li>The parser of ITCL ("legacy" object-oriented extension): <a href="https://github.com/universal-ctags/ctags/blob/master/parsers/itcl.c">https://github.com/universal-ctags/ctags/blob/master/parsers/itcl.c</a></li>
</ol>
<p dir="auto">One can use the combo of 1+2 or 1+3 but it's not possible to use 1+2+3. uctags distinguishes which parser to use based on the file extension ("tcl" vs "itcl"). Our current parser generates tags both for ITCL and TCLOO. The question now is what to do:</p>
<ol dir="auto">
<li>Keep our parser (it doesn't seem to be so advanced like the upstream parser which is token-based and it means maintaining it by ourselves).</li>
<li>Use one of the combos TCLOO+TCL or ITCL+TCL and sacrifice the other OO extension (not sure which one would be better to use, I'm not a TCL user).</li>
<li>Introduce a new filetype so there will be "tcl" (which would be TCLOO+TCL) and "itcl" (which would be ITCL+TCL).</li>
</ol>
<p dir="auto">To reduce the amount of code we have to maintain, I personally would prefer (2) or (3). What do you think?</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/issues/3103">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ4A2OC3CWH36EZA5NLUWUZRTANCNFSM5MGWD3PA">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>.
<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAIOWJ4ZQFMRSZUQ2NZ6TZLUWUZRTA5CNFSM5MGWD3PKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4QPWXUEQ.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/issues/3103</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/issues/3103",
"url": "https://github.com/geany/geany/issues/3103",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>