<blockquote>
<p><a href="https://github.com/codebrainz" class="user-mention">@codebrainz</a> <a href="https://github.com/techee" class="user-mention">@techee</a> but what does all that code actually DO? Why has it accumulated over 10 years (if thats the reason)? What benefit does it bring to include it in Geany?</p>
</blockquote>

<p>In fact I think it has accumulated over something like 15 years - it was first part of the tag manager (which is from 2001), then it was taken over and modified by Anjuta and then by Geany. Each project was adding its own stuff on top and the differences started getting bigger. I think the original fork also just deleted lots of lines from ctags which weren't used by TM. I could do the same now too but it makes the code harder to compare against uctags which is why I kept it and why there are 10000 more LOCs.</p>

<p>But there are also features we want - it's mostly things which can be used by parsers like a simpler mechanism to create scope information (called cork) and the possibility to run a subparser from a parser (I used this in the upstream HTML parser to use real parsers for embedded javascript and CSS).</p>

<p>During this year I started adding things we need in Geany into upstream ctags (like TM and other things) so there's not much missing there we would need in Geany. The ultimate goal is there's no Geany fork at all and that we just treat ctags similarly to Scintilla - development just upstream, taking over all the code once a while.</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/1263#issuecomment-254039562">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ8HvKKkAWEjCLqjLOHiIcA0OGEQfks5q0f_egaJpZM4KXvBh">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJzqohKAE-CFoL80tYvyHE6N62Cp5ks5q0f_egaJpZM4KXvBh.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1263#issuecomment-254039562"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@techee in #1263: \u003e @codebrainz @techee but what does all that code actually DO? Why has it accumulated over 10 years (if thats the reason)? What benefit does it bring to include it in Geany?\r\n\r\nIn fact I think it has accumulated over something like 15 years - it was first part of the tag manager (which is from 2001), then it was taken over and modified by Anjuta and then by Geany. Each project was adding its own stuff on top and the differences started getting bigger. I think the original fork also just deleted lots of lines from ctags which weren't used by TM. I could do the same now too but it makes the code harder to compare against uctags which is why I kept it and why there are 10000 more LOCs.\r\n\r\nBut there are also features we want - it's mostly things which can be used by parsers like a simpler mechanism to create scope information (called cork) and the possibility to run a subparser from a parser (I used this in the upstream HTML parser to use real parsers for embedded javascript and CSS).\r\n\r\nDuring this year I started adding things we need in Geany into upstream ctags (like TM and other things) so there's not much missing there we would need in Geany. The ultimate goal is there's no Geany fork at all and that we just treat ctags similarly to Scintilla - development just upstream, taking over all the code once a while."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1263#issuecomment-254039562"}}}</script>