From d49160f8ff8650fd9dc2b8e493509ff5bbdfe45b Mon Sep 17 00:00:00 2001 From: Hoda Amer Date: Fri, 16 Apr 2004 15:39:51 +0000 Subject: [PATCH] Fix for bug#55764 --- core/org.eclipse.cdt.ui/ChangeLog | 1 + .../contentassist/CCompletionProcessor.java | 21 ++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 7915d80e442..834cf6dfbdd 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,5 +1,6 @@ 2004-04-16 Hoda Amer Fix for bug#58563 : [RenameRefactoring] renaming #include statements + Fix for bug#55764 : [Content Assist] trigger needs more then one character per trigger 2004-04-15 Alain Magloire diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java index 4e0a3bebe00..5bf42dcf871 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java @@ -39,6 +39,7 @@ import org.eclipse.cdt.ui.IWorkingCopyManager; import org.eclipse.cdt.ui.text.ICCompletionProposal; import org.eclipse.core.resources.IFile; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.contentassist.ContextInformation; @@ -228,7 +229,7 @@ public class CCompletionProcessor implements IContentAssistProcessor { public String getErrorMessage() { if (fNumberOfComputedResults == 0) { String errorMsg= resultCollector.getErrorMessage(); - if (errorMsg == null || errorMsg.trim().length() == 0) + if (errorMsg == null || errorMsg.length() == 0) errorMsg= CUIMessages.getString("CEditor.contentassist.noCompletions"); //$NON-NLS-1$ return errorMsg; } @@ -325,6 +326,24 @@ public class CCompletionProcessor implements IContentAssistProcessor { IWorkingCopy unit = fManager.getWorkingCopy(fEditor.getEditorInput()); IDocument document = viewer.getDocument(); + // check for :: and -> + int pos = offset -1; + try{ + //While we aren't on a space, then go back and look for :: or a -> + while(document.getChar(pos) == ' ') { + pos--; + } + if ((document.getChar(pos) == ':') && (document.getChar(pos -1) != ':')) { + // ignore this request + return null; + } else if ((document.getChar(pos) == '>') && (document.getChar(pos - 1) != '-')) { + // ignore this request + return null; + } + } catch ( BadLocationException ex ){ + // ignore this request + return null; + } ICCompletionProposal[] results = null;