diff options
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/SpecfileCompletionProcessor.java | 21 |
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; } |