<p>In <a href="https://github.com/geany/geany/pull/1176#discussion_r74650723">src/editor.c</a>:</p>
<pre style='color:#555'>> +
> +  g_return_if_fail(editor != NULL);
> +  sci = editor->sci;
> +
> +  if (pos == -1)
> +          pos = sci_get_current_position(sci);
> +
> +  line = sci_get_line_from_position(sci, pos);
> +  line_start = sci_get_position_from_line(sci, line);
> +  startword = pos - line_start;
> +  endword = pos - line_start;
> +
> +  word[0] = '\0';
> +  chunk = sci_get_line(sci, line);
> +
> +  const char *punctuation = ":.";
</pre>
<p>Well it doesn't assume LHS is the scope, it just checks for exact matches to display functions. If there are no matches it behaves normally.</p>

<p>But yeah it could lookup the type of any functions on the left hand side and convert it to an existing scope to pass to tm_workspace_find. Now that wouldn't be useful for me as I'm using it for javascript, and functions don't have static return types. But a quick test shows it it possible--<br>
<code>class A {};<br>
class B { static A aFunction(); };<br>
B::aFunction</code><br>
Geany says: <code>aFunction's scope: B, class: (null), type: A</code></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/1176/files/d51e8b3cff412746f5ed820b5c628f0b46ef67a6#r74650723">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ_Fx-tagKNR68yBTSASPqHH4stYNks5qfM5zgaJpZM4Ji6eN">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ6iHrVRID-k3OXdKpq0E0FP4OOXnks5qfM5zgaJpZM4Ji6eN.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/1176/files/d51e8b3cff412746f5ed820b5c628f0b46ef67a6#r74650723"></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":"@krogank9 in #1176: Well it doesn't assume LHS is the scope, it just checks for exact matches to display functions. If there are no matches it behaves normally.\r\n\r\nBut yeah it could lookup the type of any functions on the left hand side and convert it to an existing scope to pass to tm_workspace_find. Now that wouldn't be useful for me as I'm using it for javascript, and functions don't have static return types. But a quick test shows it it possible--\r\n`class A {};\r\nclass B { static A aFunction(); };\r\nB::aFunction`\r\nGeany says: `aFunction's scope: B, class: (null), type: A`"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1176/files/d51e8b3cff412746f5ed820b5c628f0b46ef67a6#r74650723"}}}</script>