类org.eclipse.jface.text.templates.GlobalTemplateVariables源码实例Demo

下面列出了怎么用org.eclipse.jface.text.templates.GlobalTemplateVariables的API类实例代码及写法,或者点击链接到github查看源代码。

private void addGlobalResolvers()
{

	// Global
	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());

	// Tabstops resolver
	addResolver(new TabStopVariableResolver());
	// Environment variables resolver
	addResolver(new EnvironmentVariableVariableResolver());
}
 
/**
 * Creates a java context type.
 */
public JavaDocContextType() {

	// global
	addResolver(new GlobalTemplateVariables.Cursor());
	addResolver(new SurroundWithLineSelection());
	addResolver(new SurroundWithWordSelection());
	addResolver(new GlobalTemplateVariables.Dollar());
	addResolver(new GlobalTemplateVariables.Date());
	addResolver(new GlobalTemplateVariables.Year());
	addResolver(new GlobalTemplateVariables.Time());
	addResolver(new GlobalTemplateVariables.User());

	// compilation unit
	addResolver(new File());
	addResolver(new PrimaryTypeName());
	addResolver(new Method());
	addResolver(new ReturnType());
	addResolver(new Arguments());
	addResolver(new Type());
	addResolver(new Package());
	addResolver(new Project());
}
 
源代码3 项目: Pydev   文件: PyContextType.java
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());

    PyContextTypeVariables.addResolvers(this);
    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);

}
 
源代码4 项目: xtext-eclipse   文件: XtextTemplateContextType.java
protected void addDefaultTemplateVariables() {
	addResolver(new GlobalTemplateVariables.WordSelection());
	addResolver(new GlobalTemplateVariables.LineSelection());
	addResolver(new GlobalTemplateVariables.Date());
	addResolver(new GlobalTemplateVariables.Year());
	addResolver(new GlobalTemplateVariables.Time());
	addResolver(new GlobalTemplateVariables.Dollar());
	addResolver(new GlobalTemplateVariables.User());
	addResolver(new GlobalTemplateVariables.Cursor());
}
 
源代码5 项目: texlipse   文件: BibTexContextType.java
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());
}
 
源代码6 项目: texlipse   文件: TexContextType.java
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());
}
 
public BaseSourceCodeTemplateContextType() {
    addResolver(new GlobalTemplateVariables.Date());
    addResolver(new GlobalTemplateVariables.Cursor());
    addResolver(new GlobalTemplateVariables.Dollar());
    addResolver(new GlobalTemplateVariables.LineSelection());
    addResolver(new GlobalTemplateVariables.User());
    addResolver(new GlobalTemplateVariables.WordSelection());
    addResolver(new GlobalTemplateVariables.Year());
    addResolver(new GlobalTemplateVariables.Time());
}
 
public AbstractTypeScriptContextType(String name) {
	super(name);

	// global
	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());

}
 
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());
}
 
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());
    addResolver(new ElementNameResolver());
}
 
源代码11 项目: APICloud-Studio   文件: SnippetTemplateProposal.java
private int getCaretOffset(TemplateBuffer buffer)
{

	TemplateVariable[] variables = buffer.getVariables();
	for (int i = 0; i != variables.length; i++)
	{
		TemplateVariable variable = variables[i];
		if (variable.getType().equals(GlobalTemplateVariables.Cursor.NAME))
			return variable.getOffsets()[0];
	}

	return buffer.getString().length();
}
 
@Override
protected String resolve(TemplateContext context) {
	String selection= context.getVariable(org.eclipse.jface.text.templates.GlobalTemplateVariables.SELECTION);
	if (selection == null)
		return ""; //$NON-NLS-1$
	return selection;
}
 
@Override
protected void validateVariables(TemplateVariable[] variables) throws TemplateException {
	// check for multiple cursor variables
	for (int i= 0; i < variables.length; i++) {
		TemplateVariable var= variables[i];
		if (var.getType().equals(GlobalTemplateVariables.Cursor.NAME)) {
			if (var.getOffsets().length > 1) {
				throw new TemplateException(JavaTemplateMessages.ContextType_error_multiple_cursor_variables);
			}
		}
	}
}
 
@Override
protected String resolve(TemplateContext context) {
	String selection= context.getVariable(org.eclipse.jface.text.templates.GlobalTemplateVariables.SELECTION);
	if (selection == null)
		return ""; //$NON-NLS-1$
	return selection;
}
 
/**
 * Initializes the context type resolvers.
 * <p>
 * <strong>Note:</strong> Only call this method if this
 * context type doesn't inherit from another context type
 * which already has these resolvers.</p>
 *
 * @since 3.4
 */
public void initializeContextTypeResolvers() {

	// global
	addResolver(new GlobalTemplateVariables.Cursor());
	addResolver(new GlobalTemplateVariables.WordSelection());
	addResolver(new SurroundWithLineSelection());
	addResolver(new GlobalTemplateVariables.Dollar());
	addResolver(new GlobalTemplateVariables.Date());
	addResolver(new GlobalTemplateVariables.Year());
	addResolver(new GlobalTemplateVariables.Time());
	addResolver(new GlobalTemplateVariables.User());

	// compilation unit
	addResolver(new File());
	addResolver(new PrimaryTypeName());
	addResolver(new ReturnType());
	addResolver(new Method());
	addResolver(new Type());
	addResolver(new Package());
	addResolver(new Project());
	addResolver(new Arguments());

	// java
	addResolver(new Array());
	addResolver(new ArrayType());
	addResolver(new ArrayElement());
	addResolver(new Index());
	addResolver(new Iterator());
	addResolver(new Collection());
	addResolver(new Iterable());
	addResolver(new IterableType());
	addResolver(new IterableElement());
	addResolver(new Todo());
}
 
private int getCaretOffset(TemplateBuffer buffer) {

	    TemplateVariable[] variables= buffer.getVariables();
		for (int i= 0; i != variables.length; i++) {
			TemplateVariable variable= variables[i];
			if (variable.getType().equals(GlobalTemplateVariables.Cursor.NAME))
				return variable.getOffsets()[0];
		}

		return buffer.getString().length();
	}
 
源代码17 项目: goclipse   文件: CompilationUnitContextType.java
@Override
protected String resolve(TemplateContext context) {
	String selection= context.getVariable(GlobalTemplateVariables.SELECTION);
	if (selection == null)
		return "";
	return selection;
}
 
源代码18 项目: goclipse   文件: LangTemplateContextType.java
protected void setupResolvers() {
	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());
	
	addAdditionalResolvers();
}
 
源代码19 项目: goclipse   文件: LangTemplateContextType.java
@Override
protected void validateVariables(TemplateVariable[] variables) throws TemplateException {
	// check for multiple cursor variables
	for(int i = 0; i < variables.length; i++) {
		TemplateVariable var = variables[i];
		if(var.getType().equals(GlobalTemplateVariables.Cursor.NAME)) {
			if(var.getOffsets().length > 1) {
				throw new TemplateException(JavaTemplateMessages.ContextType_error_multiple_cursor_variables);
			}
		}
	}
}
 
/**
 * Creates a new line selection variable
 */
public SurroundWithLineSelection() {
	super(org.eclipse.jface.text.templates.GlobalTemplateVariables.LineSelection.NAME, JavaTemplateMessages.CompilationUnitContextType_variable_description_line_selection);
}
 
/**
 * Creates a new word selection variable
 */
public SurroundWithWordSelection() {
	super(org.eclipse.jface.text.templates.GlobalTemplateVariables.WordSelection.NAME, JavaTemplateMessages.JavaDocContextType_variable_description_word_selection);
}
 
protected ICompletionProposalHandle createProposal(PySelection pySelection, String source,
        Tuple<Integer, String> offsetAndIndent, boolean requireEmptyLines, Pass replacePassStatement) {
    int offset;
    int len;
    String indent = offsetAndIndent.o2;

    if (replacePassStatement == null) {
        len = 0;
        offset = offsetAndIndent.o1;
        if (requireEmptyLines) {
            int checkLine = pySelection.getLineOfOffset(offset);
            int lineOffset = pySelection.getLineOffset(checkLine);

            //Make sure we have 2 spaces from the last thing written.
            if (lineOffset == offset) {
                //it'll be added to the start of the line, so, we have to analyze the previous line to know if we'll need
                //to new lines at the start.
                checkLine--;
            }

            if (checkLine >= 0) {
                //It'll be added to the current line, so, check the current line and the previous line to know about spaces.
                String line = pySelection.getLine(checkLine);
                if (line.trim().length() >= 1) {
                    source = "\n\n" + source;
                } else if (checkLine > 1) {
                    line = pySelection.getLine(checkLine - 1);
                    if (line.trim().length() > 0) {
                        source = "\n" + source;
                    }
                }
            }

            //If we have a '\n', all is OK (all contents after a \n will be indented)
            if (!source.startsWith("\n")) {
                try {
                    //Ok, it doesn't start with a \n, that means we have to check the line indentation where it'll
                    //be added and make sure things are correct (eventually adding a new line or just fixing the indent).
                    String lineContentsToCursor = pySelection.getLineContentsToCursor(offset);
                    if (lineContentsToCursor.length() > 0) {
                        source = "\n" + source;
                    } else {
                        source = indent + source;
                    }
                } catch (BadLocationException e) {
                    source = "\n" + source;
                }
            }
        }
    } else {
        offset = pySelection.getAbsoluteCursorOffset(replacePassStatement.beginLine - 1,
                replacePassStatement.beginColumn - 1);
        len = 4; //pass.len

        if (requireEmptyLines) {
            source = "\n\n" + source;
        }
    }

    if (targetEditor != null) {
        String creationStr = getCreationStr();
        Region region = new Region(offset, len);
        //Note: was using new PyContextType(), but when we had something as ${user} it
        //would end up replacing it with the actual name of the user, which is not what
        //we want!
        TemplateContextType contextType = new TemplateContextType();
        contextType.addResolver(new GlobalTemplateVariables.Cursor()); //We do want the cursor thought.
        PyDocumentTemplateContext context = PyDocumentTemplateContext.createContext(contextType,
                ((PyEdit) targetEditor).getPySourceViewer(), region, indent);

        Template template = new Template("Create " + creationStr, "Create " + creationStr, "", source, true);
        ICompletionProposalHandle templateProposal = CompletionProposalFactory.get()
                .createPyTemplateProposal(template, context, region, null, 0);
        return templateProposal;

    } else {
        //This should only happen in tests.
        source = StringUtils.indentTo(source, indent, false);
        return CompletionProposalFactory.get().createPyCompletionProposal(source, offset, len, 0, 0);
    }
}
 
源代码23 项目: goclipse   文件: CompilationUnitContextType.java
/**
 * Creates a new line selection variable
 */
public SurroundWithLineSelection() {
	super(GlobalTemplateVariables.LineSelection.NAME, 
		JavaTemplateMessages.CompilationUnitContextType_variable_description_line_selection);
}
 
 类所在包
 同包方法