<p>Plugins can currently only change build commands by changing a user or project setting.  This requires the plugin to read the existing setting (or its absence) and to save that and restore it in a timely manner before Geany saves the project or user config, or when the plugin is disabled, otherwise the plugin settings will get saved to the config/project files overwriting user settings.</p>
<p>This proposal is to provide another build command source exclusively for plugin use that is not saved by Geany.  For that to work it would need to be highest priority, and thats reasonable, the user has enabled the plugin to do its thing and presumably understands that it will set build commands.</p>
<p>This would also allow the plugin to modify build commands as the current tab changes, effectively providing per-file settings.  This would support project plugins that want to apply their settings only to the documents that they perceive as part of the project and for plugins which need to manage build options to support language libraries like libclang that need full build control and need to make Geany build commands match.  There have been discussions relating to both of these use-cases.</p>
<p>Discuss.</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/1294">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ5EHZYMCZAkkZZ9zQkET8qcPh5pWks5q8HmegaJpZM4KsbPW">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ1ZDkDc8nhRG7-CYTFxtRzuLBsWiks5q8HmegaJpZM4KsbPW.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/1294"></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":"DESCRIPTION","message":"Add Plugin Build Command Level (#1294)"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1294"}}}</script>