package org.rubypeople.rdt.internal.ui.text.ruby;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ContentAssistant;
import org.eclipse.ui.IEditorPart;
import org.rubypeople.rdt.ui.text.ruby.ContentAssistInvocationContext;
public class RubyCompletionProcessor extends ContentAssistProcessor {
protected final IEditorPart fEditor;
public RubyCompletionProcessor(IEditorPart editor, ContentAssistant assistant, String partition) {
super(assistant, partition);
fEditor= editor;
}
/*
* @see org.rubypeople.rdt.internal.ui.text.ruby.ContentAssistProcessor#createContext(org.eclipse.jface.text.ITextViewer, int)
*/
protected ContentAssistInvocationContext createContext(ITextViewer viewer, int offset) {
return new RubyContentAssistInvocationContext(viewer, offset, fEditor);
}
/*
* @see org.rubypeople.rdt.internal.ui.text.ruby.ContentAssistProcessor#filterAndSort(java.util.List, org.eclipse.core.runtime.IProgressMonitor)
*/
protected List filterAndSortProposals(List proposals, IProgressMonitor monitor, ContentAssistInvocationContext context) {
ProposalSorterRegistry.getDefault().getCurrentSorter().sortProposals(context, proposals);
return proposals;
}
}