package org.erlide.ui.editors.erl.correction; import java.util.Collection; import java.util.List; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.text.quickassist.IQuickAssistInvocationContext; import org.erlide.util.services.ExtensionUtils; import com.google.common.collect.Lists; public class QuickFixAssistsGenerator { private final List<IErlangAssist> extensions; public QuickFixAssistsGenerator() { extensions = ExtensionUtils.getExtensions("org.erlide.ui.quickfix", IErlangAssist.class); } public Collection<ICompletionProposal> getAssists( final IQuickAssistInvocationContext invocationContext) { System.out.println("ASSIST " + invocationContext.getOffset()); System.out.println(" " + extensions.size() + " " + extensions); final List<ICompletionProposal> result = Lists.newArrayList(); for (final IErlangAssist assist : extensions) { if (assist.validAt(invocationContext)) { result.addAll(assist.getProposals()); } } return result; } public boolean hasAssists(final IQuickAssistInvocationContext invocationContext) { return true; } }