package org.erlide.ui.templates; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IRegion; 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 ErlTemplateProposal extends TemplateProposal { public ErlTemplateProposal(final Template template, final TemplateContext context, final IRegion region, final Image image, final int relevance) { super(template, context, region, image, relevance); } @Override public String getAdditionalProposalInfo() { try { final TemplateContext context = getContext(); context.setReadOnly(true); TemplateBuffer templateBuffer; try { final Template template = getTemplate(); if (context instanceof ErlangTemplateContext) { final ErlangTemplateContext etc = (ErlangTemplateContext) context; templateBuffer = etc.evaluate(template, true); } else { templateBuffer = context.evaluate(template); } } catch (final TemplateException e) { return null; } return templateBuffer.getString(); } catch (final BadLocationException e) { return null; } } }