<p>There was another Issue or PR or discussion somewhere about having Geany set environment variables, it seems like that would satisfy this purpose, right? Like whenever Geany updates the status bar it could call a function like (pseudo code):</p>
<div class="highlight highlight-source-c"><pre><span class="pl-k">void</span> <span class="pl-en">update_environment</span>(GeanyDocument *doc)
{
  <span class="pl-c1">g_setenv</span>(<span class="pl-s"><span class="pl-pds">"</span>GEANY_CURRENT_FILE<span class="pl-pds">"</span></span>, doc->real_path, <span class="pl-c1">TRUE</span>);
  <span class="pl-c1">g_setenv</span>(<span class="pl-s"><span class="pl-pds">"</span>GEANY_CURRENT_LINE<span class="pl-pds">"</span></span>, ..., <span class="pl-c1">TRUE</span>);
  <span class="pl-c1">g_setenv</span>(<span class="pl-s"><span class="pl-pds">"</span>GEANY_...<span class="pl-pds">"</span></span>, ..., <span class="pl-c1">TRUE</span>);
  ...
}</pre></div>
<p>Which would work automatically for context action, custom commands and build commands all at once.</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/1836#issuecomment-383308502">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ-UmJrwOH88dGrLw4ZMIOCeahUY1ks5tq1bNgaJpZM4Td5qs">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ6GcjIEDCNE2YmdboSflrjxONpWcks5tq1bNgaJpZM4Td5qs.gif" height="1" width="1" alt="" /></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/1836#issuecomment-383308502"></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":"@codebrainz in #1836: There was another Issue or PR or discussion somewhere about having Geany set environment variables, it seems like that would satisfy this purpose, right? Like whenever Geany updates the status bar it could call a function like (pseudo code):\r\n\r\n```c\r\nvoid update_environment(GeanyDocument *doc)\r\n{\r\n  g_setenv(\"GEANY_CURRENT_FILE\", doc-\u003ereal_path, TRUE);\r\n  g_setenv(\"GEANY_CURRENT_LINE\", ..., TRUE);\r\n  g_setenv(\"GEANY_...\", ..., TRUE);\r\n  ...\r\n}\r\n```\r\n\r\nWhich would work automatically for context action, custom commands and build commands all at once."}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1836#issuecomment-383308502"}}}</script>