X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java index e2e144e..f315c61 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java @@ -14,10 +14,12 @@ import net.sourceforge.phpdt.internal.corext.template.php.CompilationUnitContext import net.sourceforge.phpdt.internal.ui.PHPUiImages; import net.sourceforge.phpdt.internal.ui.text.java.IPHPCompletionProposal; +import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.Region; +import org.eclipse.swt.graphics.Point; //import org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager; public class TemplateEngine { @@ -72,8 +74,17 @@ public class TemplateEngine { if (!(fContextType instanceof CompilationUnitContextType)) return; - - ((CompilationUnitContextType) fContextType).setContextParameters(document, completionPosition);//mpilationUnit); + + Point selection= viewer.getSelectedRange(); + // remember selected text + String selectedText= null; + if (selection.y != 0) { + try { + selectedText= document.get(selection.x, selection.y); + } catch (BadLocationException e) {} + } + + ((CompilationUnitContextType) fContextType).setContextParameters(document, completionPosition, selection.y);//mpilationUnit); DocumentTemplateContext context= (DocumentTemplateContext) fContextType.createContext(); int start= context.getStart(); int end= context.getEnd();