* merge with HEAD.
* Improved script builder perfomance for tcl
* fixed bug with long mixin index saving.
* some debugger improvements.
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTempalteCompletionProcessor.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTempalteCompletionProcessor.java
index 3e62a41..16f2012 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTempalteCompletionProcessor.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTempalteCompletionProcessor.java
@@ -121,7 +121,7 @@
protected ICompletionProposal createProposal(Template template,
TemplateContext context, IRegion region, int relevance) {
- TemplateProposal proposal = new TemplateProposal(template, context, region, getImage(template), relevance);
+ TemplateProposal proposal = new ScriptTemplateProposal(template, context, region, getImage(template), relevance);
proposal.setInformationControlCreator(getInformationControlCreator());
return proposal;
}
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTemplateProposal.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTemplateProposal.java
new file mode 100644
index 0000000..daf5a93
--- /dev/null
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/templates/ScriptTemplateProposal.java
@@ -0,0 +1,46 @@
+package org.eclipse.dltk.ui.templates;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.TextUtilities;
+import org.eclipse.jface.text.templates.Template;
+import org.eclipse.jface.text.templates.TemplateBuffer;
+import org.eclipse.jface.text.templates.TemplateContext;
+import org.eclipse.jface.text.templates.TemplateException;
+import org.eclipse.jface.text.templates.TemplateProposal;
+import org.eclipse.swt.graphics.Image;
+
+public class ScriptTemplateProposal extends TemplateProposal {
+
+ public ScriptTemplateProposal(Template template, TemplateContext context,
+ IRegion region, Image image, int relevance) {
+ super(template, context, region, image, relevance);
+ }
+
+ public String getAdditionalProposalInfo() {
+ TemplateContext context = getContext();
+ if (context instanceof ScriptTemplateContext) {
+ ScriptTemplateContext scriptContext = (ScriptTemplateContext) context;
+
+ try {
+ getContext().setReadOnly(true);
+ TemplateBuffer templateBuffer;
+ templateBuffer = scriptContext.evaluate(getTemplate());
+
+ // restore indenting
+ IDocument document = scriptContext.getDocument();
+ String indenting = ScriptTemplateContext.calculateIndent(
+ document, scriptContext.getStart());
+ String delimeter = TextUtilities.getDefaultLineDelimiter(document);
+
+ String info = templateBuffer.getString();
+ return info.replaceAll(delimeter + indenting, delimeter);
+ } catch (BadLocationException e) {
+ } catch (TemplateException e1) {
+ }
+ }
+ return null;
+ }
+
+}