Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Schaefer2005-07-06 19:53:48 +0000
committerDoug Schaefer2005-07-06 19:53:48 +0000
commite653b13ea5e808f289b5f02ceda2a089b830ae2c (patch)
tree648e8543070d276f899727148a0b4bafa70a1800
parent46807db5b9101064b73f220b1c1d693d345add2a (diff)
downloadorg.eclipse.cdt-e653b13ea5e808f289b5f02ceda2a089b830ae2c.tar.gz
org.eclipse.cdt-e653b13ea5e808f289b5f02ceda2a089b830ae2c.tar.xz
org.eclipse.cdt-e653b13ea5e808f289b5f02ceda2a089b830ae2c.zip
Bug 98881 - Added lots of goodies to the search completion to make it more usable. Put the void back in the DOM indexer/no params case. Really trying to remove duplicates more than anything which is 98765.
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionContributor.java5
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/SearchCompletionContributor.java29
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/template/TemplateEngine.java10
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/text/ICCompletionProposal.java8
4 files changed, 32 insertions, 20 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionContributor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionContributor.java
index 5ff561cf44f..3a2aeda6d45 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionContributor.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionContributor.java
@@ -142,7 +142,10 @@ public class DOMCompletionContributor implements ICompletionContributor {
}
dispargs.append(" ..."); //$NON-NLS-1$
idargs.append(" ..."); //$NON-NLS-1$
- }
+ } else if (params.length == 0) { // force the void in
+ dispargs.append("void"); //$NON-NLS-1$
+ idargs.append("void"); //$NON-NLS-1$
+ }
IType returnType = function.getType().getReturnType();
if (returnType != null)
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/SearchCompletionContributor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/SearchCompletionContributor.java
index edf6c7c3aa5..29040010928 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/SearchCompletionContributor.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/SearchCompletionContributor.java
@@ -129,29 +129,31 @@ public class SearchCompletionContributor implements ICompletionContributor {
if (params != null)
for (int i = 0; i < params.length; ++i) {
if (i > 0)
- args.append(", "); //$NON-NLS-1$
+ args.append(',');
args.append(params[i]);
}
String returnType = match.getReturnType();
String argString = args.toString();
- StringBuffer descStringBuff = new StringBuffer(repStringBuff.toString());
- descStringBuff.append(argString);
- descStringBuff.append(')');
-
- if (returnType != null) {
- descStringBuff.append(' ');
- descStringBuff.append(returnType);
- }
-
+ StringBuffer dispStringBuff = new StringBuffer(repStringBuff.toString());
+ dispStringBuff.append(argString);
+ dispStringBuff.append(')');
+
repStringBuff.append(')');
String repString = repStringBuff.toString();
- String descString = descStringBuff.toString();
-
+
+ String idString = null;
+ if (returnType != null) {
+ idString = dispStringBuff.toString();
+ dispStringBuff.append(' ');
+ dispStringBuff.append(returnType);
+ }
+ String dispString = dispStringBuff.toString();
+
int repLength = prefix.length();
int repOffset = offset - repLength;
- CCompletionProposal proposal = new CCompletionProposal(repString, repOffset, repLength, image, descString, 1, viewer);
+ CCompletionProposal proposal = new CCompletionProposal(repString, repOffset, repLength, image, dispString, idString, 1, viewer);
proposal.setCursorPosition(repString.length() - 1);
if (argString.length() > 0) {
@@ -159,6 +161,7 @@ public class SearchCompletionContributor implements ICompletionContributor {
info.setContextInformationPosition(offset);
proposal.setContextInformation(info);
}
+
proposals.add(proposal);
}
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/template/TemplateEngine.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/template/TemplateEngine.java
index 716094f70df..54e1497622a 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/template/TemplateEngine.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/template/TemplateEngine.java
@@ -66,12 +66,10 @@ public class TemplateEngine implements ICompletionContributor {
super(template, context, region, image, 90);
}
-// /* (non-Javadoc)
-// * @see org.eclipse.cdt.ui.text.ICCompletionProposal#getRelevance()
-// */
-// public int getRelevance() {
-// return 90;
-// }
+ public String getIdString() {
+ return getDisplayString();
+ }
+
}
/**
* Creates the template engine for a particular context type.
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/text/ICCompletionProposal.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/text/ICCompletionProposal.java
index 15b2a2e1ef6..500f8b5362a 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/text/ICCompletionProposal.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/text/ICCompletionProposal.java
@@ -24,5 +24,13 @@ public interface ICCompletionProposal extends ICompletionProposal {
*/
int getRelevance();
+ /**
+ * Returns an id string that uniquely identifies this proposal. For most things this is the
+ * same as the display name. For functions, this strips off the parameter names and the
+ * return type.
+ *
+ * @return the string that uniquely identifies this proposal
+ */
+ String getIdString();
}

Back to the top