<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/107200/">http://git.reviewboard.kde.org/r/107200/</a>
     </td>
    </tr>
   </table>
   <br />








 <p>On November 15th, 2012, 9:20 p.m., <b>Milian Wolff</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Forgot to add some comment:

First up, great work! I really want to try it out. I esp. wonder about the relatively arbitrary limit of 5 items... Anyhow, once you resolve the few small issues below I'd say we can merge that into master and see how it works for us.

BTW: At DevDays conference, I talked with Olivier Goffart about KDevelop and this feature and he suggested something that might be very useful (but should be done in a separate patch set):

<pre>
int width = // assume code completion here, or:

void foo(int width);
...
foo(/* assume code completion here*/);
</pre>

In both cases, we look for something that is a width. Can't we make use of that information somehow in our code completion grouping? It's of course not straight forward, but could be very useful in some cases. Handling stuff like "fooBarWidth = " though might become harder. Same for "QRect().w()" or such abbreviated function names.</pre>
 </blockquote>








<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm also a little ambivalent about the arbitrary 5 item limit. Now that I regroup the items, perhaps I should try again without it.

As far as "something that might be very useful"... perhaps I'm not understanding correctly, because afaict that's exactly what this patch is doing ;).
At any time that we know a match type (which includes both of those cases), we find lookahead matches. We also match the types of all non-lookahead matches and the best matches float to the top. This patch probably also fixes some bugs in that, incidentally.</pre>
<br />








<p>- Olivier Jean de</p>


<br />
<p>On November 4th, 2012, 5:54 p.m., Olivier Jean de Gaalon wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Olivier Jean de Gaalon.</div>


<p style="color: grey;"><i>Updated Nov. 4, 2012, 5:54 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Add a new feature which looks though existing completions for instances of classes, and looks in those classes for declarations which match the desired type. In other words:
------------
struct foo
{
  int a;
};
int main()
{
  foo myFoo;
  int myInt = //offers myFoo.a
}
------------

In my testing, in the worst case (large file, lots of visible declarations), this takes under 60 ms for me. In most cases it will probably be much less.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Added unit tests, usage.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>languages/cpp/codecompletion/context.h <span style="color: grey">(b6fb017)</span></li>

 <li>languages/cpp/codecompletion/context.cpp <span style="color: grey">(6d9c3cc)</span></li>

 <li>languages/cpp/codecompletion/item.h <span style="color: grey">(c220753)</span></li>

 <li>languages/cpp/codecompletion/item.cpp <span style="color: grey">(2514f9a)</span></li>

 <li>languages/cpp/tests/test_cppcodecompletion.h <span style="color: grey">(574de0f)</span></li>

 <li>languages/cpp/tests/test_cppcodecompletion.cpp <span style="color: grey">(88a0df7)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/107200/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>