Bug 575465: [Ltk-Templates] Add 'todo' VariableResolver to
SourceEditorContextType
Change-Id: I191fa171cbc3c18f25a63e1ec024f5fa809f1dba
diff --git a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/CodeGenerationTemplateContext.java b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/CodeGenerationTemplateContext.java
index c646b6b..b695648 100644
--- a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/CodeGenerationTemplateContext.java
+++ b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/CodeGenerationTemplateContext.java
@@ -52,9 +52,9 @@
}
public CodeGenerationTemplateContext(final TemplateContextType contextType,
- final SourceUnit su, final String lineDelim) {
+ final SourceUnit sourceUnit, final String lineDelim) {
this(contextType, lineDelim);
- this.sourceUnit= su;
+ this.sourceUnit= sourceUnit;
}
diff --git a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/IWorkbenchTemplateContext.java b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/IWorkbenchTemplateContext.java
index 8b6dfd0..9517a91 100644
--- a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/IWorkbenchTemplateContext.java
+++ b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/IWorkbenchTemplateContext.java
@@ -21,6 +21,8 @@
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.jcommons.lang.Nullable;
+import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
+
import org.eclipse.statet.ltk.model.core.element.SourceUnit;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditor;
@@ -32,11 +34,11 @@
public interface IWorkbenchTemplateContext {
- public @Nullable SourceUnit getSourceUnit();
+ @Nullable SourceUnit getSourceUnit();
- public @Nullable SourceEditor getEditor();
+ @Nullable SourceEditor getEditor();
- public @Nullable String evaluateInfo(Template template)
+ @Nullable String evaluateInfo(Template template)
throws BadLocationException, TemplateException;
}
diff --git a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/SourceEditorContextType.java b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/SourceEditorContextType.java
index 3638d33..cc99ac6 100644
--- a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/SourceEditorContextType.java
+++ b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ltk/ui/templates/SourceEditorContextType.java
@@ -42,9 +42,13 @@
import org.eclipse.statet.jcommons.lang.Nullable;
import org.eclipse.statet.jcommons.util.StringUtils;
+import org.eclipse.statet.ecommons.preferences.core.EPreferences;
+import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
+
import org.eclipse.statet.internal.ltk.ui.TemplatesMessages;
import org.eclipse.statet.ltk.core.ElementName;
import org.eclipse.statet.ltk.core.util.UserInfo;
+import org.eclipse.statet.ltk.issues.core.TaskIssueConfig;
import org.eclipse.statet.ltk.model.core.element.SourceUnit;
import org.eclipse.statet.ltk.model.core.element.WorkspaceSourceUnit;
@@ -179,7 +183,7 @@
@Override
protected String resolve(final TemplateContext context) {
if (context instanceof IWorkbenchTemplateContext) {
- final String tag= getTag(((IWorkbenchTemplateContext) context).getSourceUnit());
+ final String tag= getTag((IWorkbenchTemplateContext)context);
if (tag != null) {
return tag;
}
@@ -187,8 +191,10 @@
return "TODO"; //$NON-NLS-1$
}
- protected @Nullable String getTag(final @Nullable SourceUnit su) {
- return null;
+ protected @Nullable String getTag(final IWorkbenchTemplateContext context) {
+ final PreferenceAccess prefs= EPreferences.getContextPrefs(context.getSourceUnit());
+ final var defaultTaskTag= TaskIssueConfig.getConfig(prefs).getDefaultTaskTag();
+ return (defaultTaskTag != null) ? defaultTaskTag.getKeyword() : null;
}
}
@@ -238,6 +244,7 @@
addResolver(new AuthorName());
addResolver(new AuthorEmail());
addResolver(new Project());
+ addResolver(new Todo());
}
protected void addEditorVariables() {