Review Request 124601: Added look-ahead matching code completion

Kevin Funk kfunk at kde.org
Mon Aug 3 11:09:22 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124601/#review83371
-----------------------------------------------------------


I'd need to try it to see whether the performance hit is noticable. In general I like and use the look-ahead feature *a lot*, it's super useful, it would be a bummer to lose it when migrating to kdev-clang.

While I can see (1) and (2) being fixed in in libclang (we've been working on (1) already), I don't see look-ahead completion being implemented in libclang in the near future (as long as we don't do), and it's likely controversial, too.

So, in general: +1 for the feature. And as I don't see it being implemented in libclang too soon, +1 to adding it to kdev-clang (off by default => no performance hit in the default case).


codecompletion/context.cpp (line 643)
<https://git.reviewboard.kde.org/r/124601/#comment57617>

    typo: 'mathed'



codecompletion/context.cpp (line 903)
<https://git.reviewboard.kde.org/r/124601/#comment57618>

    This is the actual expensive operation, so it makes sense to do this *only* if the completion setting is enabled.


- Kevin Funk


On Aug. 3, 2015, 10:02 a.m., Sergey Kalinichev wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124601/
> -----------------------------------------------------------
> 
> (Updated Aug. 3, 2015, 10:02 a.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdev-clang
> 
> 
> Description
> -------
> 
> Known shortcomings:
> 
> 1)Auto type (and many other types) is not exposed through LibClang. So we assign DelayedType to it instead of IdentifiedType, therefore no declaration attached to the type, hence no look-ahead completion.
> 
> 2)LibClang missing API to determine expected code completion type. To workaround it, now we use types of declarations from the best mathes group. Therefore if no declarations found with a high enough priority, no items will be added to the look-ahead completion group.
> 
> As a result the look-ahead completion works only in the simpliest cases.
> 
> 
> Diffs
> -----
> 
>   clangsettings/clangsettingsmanager.h 0d6eec1 
>   clangsettings/clangsettingsmanager.cpp db125f3 
>   clangsettings/sessionsettings/sessionconfig.kcfg 63fb6c5 
>   clangsettings/sessionsettings/sessionsettings.ui 74a157f 
>   codecompletion/context.cpp 1d52021 
>   tests/test_codecompletion.cpp fca922d 
> 
> Diff: https://git.reviewboard.kde.org/r/124601/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sergey Kalinichev
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150803/7b6e238b/attachment.html>


More information about the KDevelop-devel mailing list