mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-88147 Add PROJECT_NAME variable to file templates
This commit is contained in:
+4
-4
@@ -49,11 +49,11 @@ import java.util.regex.Pattern;
|
||||
public class FileHeaderChecker {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.defaultFileTemplateUsage.FileHeaderChecker");
|
||||
|
||||
static ProblemDescriptor checkFileHeader(final PsiFile file, final InspectionManager manager, boolean onTheFly) {
|
||||
static ProblemDescriptor checkFileHeader(@NotNull final PsiFile file, final InspectionManager manager, boolean onTheFly) {
|
||||
FileTemplate template = FileTemplateManager.getInstance().getDefaultTemplate(FileTemplateManager.FILE_HEADER_TEMPLATE_NAME);
|
||||
TIntObjectHashMap<String> offsetToProperty = new TIntObjectHashMap<String>();
|
||||
String templateText = template.getText().trim();
|
||||
String regex = templateToRegex(templateText, offsetToProperty);
|
||||
String regex = templateToRegex(templateText, offsetToProperty, file.getProject());
|
||||
regex = StringUtil.replace(regex, "with", "(?:with|by)");
|
||||
regex = ".*("+regex+").*";
|
||||
String fileText = file.getText();
|
||||
@@ -144,9 +144,9 @@ public class FileHeaderChecker {
|
||||
return new LocalQuickFix[]{replaceTemplateFix,editFileTemplateFix};
|
||||
}
|
||||
|
||||
private static String templateToRegex(final String text, TIntObjectHashMap<String> offsetToProperty) {
|
||||
private static String templateToRegex(final String text, TIntObjectHashMap<String> offsetToProperty, Project project) {
|
||||
String regex = text;
|
||||
@NonNls Collection<String> properties = new ArrayList<String>((Collection)FileTemplateManager.getInstance().getDefaultProperties().keySet());
|
||||
@NonNls Collection<String> properties = new ArrayList<String>((Collection)FileTemplateManager.getInstance().getDefaultProperties(project).keySet());
|
||||
properties.add("PACKAGE_NAME");
|
||||
|
||||
regex = escapeRegexChars(regex);
|
||||
|
||||
@@ -120,7 +120,7 @@ public class JavaDirectoryServiceImpl extends CoreJavaDirectoryService {
|
||||
|
||||
FileTemplate template = FileTemplateManager.getInstance().getInternalTemplate(templateName);
|
||||
|
||||
Properties defaultProperties = FileTemplateManager.getInstance().getDefaultProperties();
|
||||
Properties defaultProperties = FileTemplateManager.getInstance().getDefaultProperties(dir.getProject());
|
||||
Properties properties = new Properties(defaultProperties);
|
||||
properties.setProperty(FileTemplate.ATTRIBUTE_NAME, name);
|
||||
|
||||
|
||||
@@ -187,14 +187,14 @@ public class CreateClassUtil {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiClass createClassNamed(String newClassName, String templateName, PsiDirectory directory) throws IncorrectOperationException {
|
||||
return createClassNamed(newClassName, new Properties(FileTemplateManager.getInstance().getDefaultProperties()), templateName, directory);
|
||||
public static PsiClass createClassNamed(String newClassName, String templateName, @NotNull PsiDirectory directory) throws IncorrectOperationException {
|
||||
return createClassNamed(newClassName, FileTemplateManager.getInstance().getDefaultProperties(directory.getProject()), templateName, directory);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static PsiClass createClassNamed(String newClassName, Map classProperties, String templateName, PsiDirectory directory)
|
||||
public static PsiClass createClassNamed(String newClassName, Map classProperties, String templateName, @NotNull PsiDirectory directory)
|
||||
throws IncorrectOperationException {
|
||||
Properties defaultProperties = FileTemplateManager.getInstance().getDefaultProperties();
|
||||
Properties defaultProperties = FileTemplateManager.getInstance().getDefaultProperties(directory.getProject());
|
||||
Properties properties = new Properties(defaultProperties);
|
||||
properties.putAll(classProperties);
|
||||
|
||||
@@ -235,7 +235,7 @@ public class CreateClassUtil {
|
||||
try {
|
||||
final Properties properties = ApplicationManager.getApplication().isUnitTestMode() ?
|
||||
new Properties() :
|
||||
FileTemplateManager.getInstance().getDefaultProperties();
|
||||
FileTemplateManager.getInstance().getDefaultProperties(classDirectory.getProject());
|
||||
return createClassNamed(className, new Properties(properties), templateName, classDirectory);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
|
||||
Reference in New Issue
Block a user