Contributors:
IBM Corporation - Initial implementation
- Klaus Hartlage - www.eclipseproject.de
+ www.phpeclipse.de
**********************************************************************/
package net.sourceforge.phpeclipse.phpeditor.php;
import java.util.Arrays;
import java.util.List;
-import net.sourceforge.phpdt.internal.corext.template.ContextType;
-import net.sourceforge.phpdt.internal.corext.template.ContextTypeRegistry;
+import net.sourceforge.phpdt.core.ICompilationUnit;
import net.sourceforge.phpdt.internal.ui.text.java.IPHPCompletionProposal;
import net.sourceforge.phpdt.internal.ui.text.java.PHPCompletionProposalComparator;
-import net.sourceforge.phpdt.internal.ui.text.template.TemplateEngine;
+import net.sourceforge.phpdt.internal.ui.text.template.contentassist.TemplateEngine;
+import net.sourceforge.phpdt.ui.IWorkingCopyManager;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.IContextInformationExtension;
import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.jface.text.templates.TemplateContextType;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IEditorPart;
/**
* HTML completion processor.
private PHPCompletionProposalComparator fComparator;
private int fNumberOfComputedResults = 0;
- public HTMLCompletionProcessor() {
+ private IEditorPart fEditor;
- ContextType contextType = ContextTypeRegistry.getInstance().getContextType("html"); //$NON-NLS-1$
+ protected IWorkingCopyManager fManager;
+
+ public HTMLCompletionProcessor(IEditorPart editor) {
+ fEditor = editor;
+ fManager = PHPeclipsePlugin.getDefault().getWorkingCopyManager();
+
+ TemplateContextType contextType = PHPeclipsePlugin.getDefault().getTemplateContextRegistry().getContextType("html"); //$NON-NLS-1$
if (contextType != null)
fTemplateEngine = new TemplateEngine(contextType);
fComparator = new PHPCompletionProposalComparator();
}
+
/* (non-Javadoc)
* Method declared on IContentAssistProcessor
*/
private ICompletionProposal[] internalComputeCompletionProposals(ITextViewer viewer, int offset, int contextOffset) {
IDocument document = viewer.getDocument();
+ ICompilationUnit unit= fManager.getWorkingCopy(fEditor.getEditorInput());
if (fTemplateEngine != null) {
ICompletionProposal[] results;
// try {
fTemplateEngine.reset();
- fTemplateEngine.complete(viewer, offset); //, unit);
+ fTemplateEngine.complete(viewer, offset, unit);
// } catch (JavaModelException x) {
// Shell shell= viewer.getTextWidget().getShell();
// ErrorDialog.openError(shell, JavaTextMessages.getString("CompletionProcessor.error.accessing.title"), JavaTextMessages.getString("CompletionProcessor.error.accessing.message"), x.getStatus()); //$NON-NLS-2$ //$NON-NLS-1$