From eab9ab539d54c0938d7aba174c666b3433b9e1bb Mon Sep 17 00:00:00 2001 From: David Matejka Date: Thu, 30 Jun 2016 19:25:38 +0200 Subject: [PATCH] added custom deprecation messages --- .../jantvrdik/intellij/latte/config/LatteConfiguration.java | 1 + src/com/jantvrdik/intellij/latte/config/LatteMacro.java | 2 ++ .../intellij/latte/inspections/DeprecatedMacroInspection.java | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/jantvrdik/intellij/latte/config/LatteConfiguration.java b/src/com/jantvrdik/intellij/latte/config/LatteConfiguration.java index 6705b09..5766158 100644 --- a/src/com/jantvrdik/intellij/latte/config/LatteConfiguration.java +++ b/src/com/jantvrdik/intellij/latte/config/LatteConfiguration.java @@ -84,6 +84,7 @@ private void initStandardMacros() { // BlockMacros LatteMacro includeBlock = addStandardMacro("includeblock", UNPAIRED); includeBlock.deprecated = true; + includeBlock.deprecatedMessage = "Macro includeblock is deprecated in Latte 2.4. Use import macro instead."; addStandardMacro("import", UNPAIRED); addStandardMacro("extends", UNPAIRED); addStandardMacro("layout", UNPAIRED); diff --git a/src/com/jantvrdik/intellij/latte/config/LatteMacro.java b/src/com/jantvrdik/intellij/latte/config/LatteMacro.java index 96b1358..8d72878 100644 --- a/src/com/jantvrdik/intellij/latte/config/LatteMacro.java +++ b/src/com/jantvrdik/intellij/latte/config/LatteMacro.java @@ -13,6 +13,8 @@ public class LatteMacro { public boolean deprecated = false; + public String deprecatedMessage; + public LatteMacro(String name, Type type) { this.name = name; this.type = type; diff --git a/src/com/jantvrdik/intellij/latte/inspections/DeprecatedMacroInspection.java b/src/com/jantvrdik/intellij/latte/inspections/DeprecatedMacroInspection.java index f842349..e86fc39 100644 --- a/src/com/jantvrdik/intellij/latte/inspections/DeprecatedMacroInspection.java +++ b/src/com/jantvrdik/intellij/latte/inspections/DeprecatedMacroInspection.java @@ -39,7 +39,8 @@ public void visitElement(PsiElement element) { String macroName = ((LatteMacroTag) element).getMacroName(); LatteMacro macro = LatteConfiguration.INSTANCE.getMacro(element.getProject(), macroName); if (macro.deprecated) { - ProblemDescriptor problem = manager.createProblemDescriptor(element, "Macro " + macroName + " is deprecated", true, ProblemHighlightType.LIKE_DEPRECATED, isOnTheFly); + String description = macro.deprecatedMessage != null ? macro.deprecatedMessage : "Macro " + macroName + " is deprecated"; + ProblemDescriptor problem = manager.createProblemDescriptor(element, description, true, ProblemHighlightType.LIKE_DEPRECATED, isOnTheFly); problems.add(problem); }