/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
/*
* Created on Aug 6, 2004
*
* @author Fabio Zadrozny
*/
package org.python.pydev.editor.templates;
import java.util.HashMap;
import org.eclipse.jface.text.templates.GlobalTemplateVariables;
import org.eclipse.jface.text.templates.TemplateContextType;
import org.python.pydev.jython.IPythonInterpreter;
import org.python.pydev.jython.JythonPlugin;
/**
* @author Fabio Zadrozny
*/
public class PyContextType extends TemplateContextType {
/**
* Context type used for code-completions
*/
public static final String PY_COMPLETIONS_CONTEXT_TYPE = "org.python.pydev.editor.templates.python";
/**
* Context type used for new modules (wizard)
*/
public static final String PY_MODULES_CONTEXT_TYPE = "org.python.pydev.editor.templates.python.modules";
private IPythonInterpreter interpreter;
/**
* Creates a new XML context type.
*/
public PyContextType() {
interpreter = JythonPlugin.newPythonInterpreter();
addGlobalResolvers();
}
private void addGlobalResolvers() {
addResolver(new GlobalTemplateVariables.Cursor());
addResolver(new GlobalTemplateVariables.WordSelection());
addResolver(new GlobalTemplateVariables.LineSelection());
addResolver(new GlobalTemplateVariables.Dollar());
addResolver(new GlobalTemplateVariables.Date());
addResolver(new GlobalTemplateVariables.Year());
addResolver(new GlobalTemplateVariables.Time());
addResolver(new GlobalTemplateVariables.User());
HashMap<String, Object> locals = new HashMap<String, Object>();
locals.put("py_context_type", this);
//execute all the files that start with 'pytemplate' that are located beneath
//the org.python.pydev.jython/jysrc directory and some user specified dir (if any).
JythonPlugin.execAll(locals, "pytemplate", interpreter);
}
}