Package org.erlide.ui.templates

Source Code of org.erlide.ui.templates.ErlTemplateProposal

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;
        }
    }

}
TOP

Related Classes of org.erlide.ui.templates.ErlTemplateProposal

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.