Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-core-dev] [FIX] Bug 35068

Hi,

If this isn't the right place for this please point me in the right
direction.

Bug 35068 can be fixed by replacing line 557 (as of RC2) in
org.eclipse.jface.text.contentassist.CompletionProposalPopup

  if (contains(triggers, key)) {

with

  if (!Character.isJavaIdentifierPart(key)) {

Now, although this solves the problem there is some existing code which is
bypassed. What the existing code is doing is defining a set of 'trigger
characters' (in org.eclipse.jdt.internal.ui.text.java.ResultCollector) which
are different for various different contexts of completion (field, method,
method-with-arguments...).

But I'm not really sure why this is required. If I type a printable
non-java-identifier I've finished with the bit I want auto-completed, if I
don't I haven't. Why should this be different depending on context? It is
possible there is more to it than I know about.

Like I say the above fix bypasses various bits including
getTriggerCharacters() in
org.eclipse.jface.text.contentassist.ICompletionProposalExtension which, I
think, is part of the public API. I don't know what the rules about
bypassing/changing these things are. If this is needed it might be better as
isTriggerCharacter(char key).

--
Snow



Back to the top