<p>Current codebase has a lot of <code>if</code> branches checking for specific languages, approaching an implementation of this design would likely mean that those hard-coded checks would want to move to plugin-based approach; that is to be recognized as <strong>some</strong> work.</p>
<p>Additionally to what can be found by looking at the aforementioned checks, we could look at how language-specific plugins have been designed&implemented in other notable editors.</p>
<p>Finally, the design should not be too broad to conflict with the "Lite" nature of Geany, and that is surely a challenge as well.</p>
<p>I recognize the problem with callbacks and asynchronous replies, and I can foresee a situation where Geany gets "stuck" because of plugins (so extra debugging/development features are probably needed to accommodate for the variability introduced by such plugins). You can probably already see some of these problems with "custom actions". I have no simple solution for this either.</p>
<p>What do we do with the mentioned issues/PRs? <a href="https://github.com/geany/geany/pull/1187" class="issue-link js-issue-link" data-url="https://github.com/geany/geany/issues/1187" data-id="172560318" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#1187</a> and <a href="https://github.com/geany/geany/issues/1195" class="issue-link js-issue-link" data-url="https://github.com/geany/geany/issues/1195" data-id="173359447" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#1195</a> look particularly relevant</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/issues/1458#issuecomment-292702502">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ9Rru4PEeN-9_pzd4WFtauEWd6Z0ks5rtz8YgaJpZM4M1Ajm">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ4Npx1YouUGr9SczayCzD-9pol1oks5rtz8YgaJpZM4M1Ajm.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/issues/1458#issuecomment-292702502"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue 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":"@gdm85 in #1458: Current codebase has a lot of `if` branches checking for specific languages, approaching an implementation of this design would likely mean that those hard-coded checks would want to move to plugin-based approach; that is to be recognized as **some** work.\r\n\r\nAdditionally to what can be found by looking at the aforementioned checks, we could look at how language-specific plugins have been designed\u0026implemented in other notable editors.\r\n\r\nFinally, the design should not be too broad to conflict with the \"Lite\" nature of Geany, and that is surely a challenge as well.\r\n\r\nI recognize the problem with callbacks and asynchronous replies, and I can foresee a situation where Geany gets \"stuck\" because of plugins (so extra debugging/development features are probably needed to accommodate for the variability introduced by such plugins). You can probably already see some of these problems with \"custom actions\". I have no simple solution for this either.\r\n\r\nWhat do we do with the mentioned issues/PRs? #1187 and #1195 look particularly relevant"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1458#issuecomment-292702502"}}}</script>