<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>