mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 341086 - Add a variable like 'base_filename' to the code template variables
This commit is contained in:
parent
6e469df334
commit
82aa60a838
3 changed files with 19 additions and 7 deletions
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2005, 2008 IBM Corporation and others.
|
||||
* Copyright (c) 2005, 2011 IBM Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
|
@ -23,6 +23,7 @@ public final class TemplateMessages extends NLS {
|
|||
}
|
||||
|
||||
public static String CContextType_variable_description_file;
|
||||
public static String CContextType_variable_description_file_base;
|
||||
public static String CContextType_variable_description_enclosing_method;
|
||||
public static String CContextType_variable_description_enclosing_project;
|
||||
public static String CContextType_variable_description_enclosing_method_arguments;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#########################################
|
||||
# Copyright (c) 2005, 2008 IBM Corporation and others.
|
||||
# Copyright (c) 2005, 2011 IBM Corporation and others.
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are made available under the terms of the Eclipse Public License v1.0
|
||||
# which accompanies this distribution, and is available at
|
||||
|
@ -11,7 +11,8 @@
|
|||
# Anton Leherbauer (Wind River Systems)
|
||||
#########################################
|
||||
|
||||
CContextType_variable_description_file=Filename of translation unit
|
||||
CContextType_variable_description_file=Name of source file
|
||||
CContextType_variable_description_file_base=Name of source file without extension
|
||||
CContextType_variable_description_enclosing_method=Enclosing method name
|
||||
CContextType_variable_description_enclosing_project=Enclosing project name
|
||||
CContextType_variable_description_enclosing_method_arguments=Argument names of enclosing method
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2000, 2010 IBM Corporation and others.
|
||||
* Copyright (c) 2000, 2011 IBM Corporation and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
|
@ -13,6 +13,7 @@
|
|||
|
||||
package org.eclipse.cdt.internal.corext.template.c;
|
||||
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.jface.text.IDocument;
|
||||
import org.eclipse.jface.text.Position;
|
||||
import org.eclipse.jface.text.templates.GlobalTemplateVariables;
|
||||
|
@ -61,11 +62,21 @@ public abstract class TranslationUnitContextType extends TemplateContextType {
|
|||
@Override
|
||||
public String resolve(TemplateContext context) {
|
||||
ITranslationUnit unit= ((TranslationUnitContext) context).getTranslationUnit();
|
||||
|
||||
return (unit == null) ? null : unit.getElementName();
|
||||
}
|
||||
}
|
||||
|
||||
protected static class FileBase extends TemplateVariableResolver {
|
||||
public FileBase() {
|
||||
super("file_base", TemplateMessages.CContextType_variable_description_file_base); //$NON-NLS-1$
|
||||
}
|
||||
@Override
|
||||
public String resolve(TemplateContext context) {
|
||||
ITranslationUnit unit= ((TranslationUnitContext) context).getTranslationUnit();
|
||||
return (unit == null) ? null : new Path(unit.getElementName()).removeFileExtension().lastSegment();
|
||||
}
|
||||
}
|
||||
|
||||
protected static class EnclosingCElement extends TemplateVariableResolver {
|
||||
protected final int fElementType;
|
||||
|
||||
|
@ -186,6 +197,7 @@ public abstract class TranslationUnitContextType extends TemplateContextType {
|
|||
|
||||
// translation unit
|
||||
addResolver(new File());
|
||||
addResolver(new FileBase());
|
||||
addResolver(new ReturnType());
|
||||
addResolver(new Method());
|
||||
addResolver(new Project());
|
||||
|
@ -196,5 +208,3 @@ public abstract class TranslationUnitContextType extends TemplateContextType {
|
|||
public abstract TranslationUnitContext createContext(IDocument document, int offset, int length, ITranslationUnit translationUnit);
|
||||
public abstract TranslationUnitContext createContext(IDocument document, Position position, ITranslationUnit translationUnit);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue