<p>The "language support plugins" API needs to be flexible enough that more than one language can have a plugin, and each plugin can provide more than just the autocomplete service.  The last is essential, its not sensible to run a language server for autocomplete, and another for formatting, and another for errors etc.</p>
<p>No single language (gocode or clang which appears elsewhere) should be implemented in its own way, Geany should have only one way of activating and communicating with language support plugins.  The API needs to be DESIGNED first before anybody jumps in and implements stuff.</p>
<p>It also should be designed such that the whole shebang doesn't need to be implemented in Geany core at once, only your autocomplete is needed initially, but there is a design that can be expanded by anyone providing other services.</p>
<p>So as to not hijack this PR have opened <a href="https://github.com/geany/geany/issues/1458" class="issue-link js-issue-link" data-url="https://github.com/geany/geany/issues/1458" data-id="219761148" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#1458</a> for the general discussion.</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/1457#issuecomment-292043265">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ0Lt5j2OJVc5xsYZjtkfYGbdi8mDks5rtD-1gaJpZM4MzjZB">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ6IaBQ_vZ-aoaPnPCakH9SS_FEaEks5rtD-1gaJpZM4MzjZB.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/1457#issuecomment-292043265"></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":"@elextr in #1457: The \"language support plugins\" API needs to be flexible enough that more than one language can have a plugin, and each plugin can provide more than just the autocomplete service.  The last is essential, its not sensible to run a language server for autocomplete, and another for formatting, and another for errors etc.\r\n\r\nNo single language (gocode or clang which appears elsewhere) should be implemented in its own way, Geany should have only one way of activating and communicating with language support plugins.  The API needs to be DESIGNED first before anybody jumps in and implements stuff.  \r\n\r\nIt also should be designed such that the whole shebang doesn't need to be implemented in Geany core at once, only your autocomplete is needed initially, but there is a design that can be expanded by anyone providing other services.\r\n\r\nSo as to not hijack this PR have opened #1458 for the general discussion."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1457#issuecomment-292043265"}}}</script>