Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java21
1 files changed, 18 insertions, 3 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java b/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java
index 62e56f96fc..3b7183655b 100644
--- a/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java
+++ b/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java
@@ -61,7 +61,7 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
* <code>Comparator</code> implementation used to sort template proposals
* @author Van Assche Alphonse
*/
- private static final class ProposalComparator implements Comparator<TemplateProposal>, Serializable {
+ private static final class TemplateProposalComparator implements Comparator<TemplateProposal>, Serializable {
private static final long serialVersionUID = 1L;
public int compare(TemplateProposal t1, TemplateProposal t2) {
@@ -69,6 +69,17 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
}
}
+ /**
+ * Comparator implementation for a generic proposal
+ * @author Sami Wagiaalla
+ */
+ private static final class ProposalComparator implements Comparator<ICompletionProposal>{
+
+ public int compare(ICompletionProposal a, ICompletionProposal b){
+ return a.getDisplayString().compareToIgnoreCase(b.getDisplayString());
+ }
+ }
+
private static final String TEMPLATE_ICON = "icons/template_obj.gif"; //$NON-NLS-1$
private static final String MACRO_ICON = "icons/macro_obj.gif"; //$NON-NLS-1$
@@ -89,7 +100,8 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
private final SpecfileEditor editor;
- private static final Comparator<TemplateProposal> PROPOSAL_COMPARATOR = new ProposalComparator();
+ private static final Comparator<ICompletionProposal> PROPOSAL_COMPARATOR = new ProposalComparator();
+ private static final Comparator<TemplateProposal> TEMPLATE_PROPOSAL_COMPARATOR = new TemplateProposalComparator();
/**
* Default constructor
@@ -158,6 +170,7 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
SpecfileLog.logError(e);
}
}
+
return result
.toArray(new ICompletionProposal[result.size()]);
}
@@ -203,7 +216,7 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
Activator.getDefault().getImage(TEMPLATE_ICON), relevance));
}
}
- Collections.sort(matches, PROPOSAL_COMPARATOR);
+ Collections.sort(matches, TEMPLATE_PROPOSAL_COMPARATOR);
return matches;
}
@@ -333,6 +346,8 @@ public class SpecfileCompletionProcessor implements IContentAssistProcessor {
null, item[1]));
}
}
+
+ Collections.sort(proposals, PROPOSAL_COMPARATOR);
return proposals;
}

Back to the top