diff --git a/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs b/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs
index 85c342e22..57040701c 100644
--- a/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs
+++ b/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs
@@ -114,6 +114,15 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator
}
}
+ ///
+ public ReadOnlySeString EvaluateMacroString(
+ string macroString,
+ Span localParameters = default,
+ ClientLanguage? language = null)
+ {
+ return this.Evaluate(ReadOnlySeString.FromMacroString(macroString).AsSpan(), localParameters, language);
+ }
+
///
public ReadOnlySeString EvaluateFromAddon(
uint addonId,
diff --git a/Dalamud/Plugin/Services/ISeStringEvaluator.cs b/Dalamud/Plugin/Services/ISeStringEvaluator.cs
index 2bd423b7c..846dcd53e 100644
--- a/Dalamud/Plugin/Services/ISeStringEvaluator.cs
+++ b/Dalamud/Plugin/Services/ISeStringEvaluator.cs
@@ -32,6 +32,15 @@ public interface ISeStringEvaluator
/// An evaluated .
ReadOnlySeString Evaluate(ReadOnlySeStringSpan str, Span localParameters = default, ClientLanguage? language = null);
+ ///
+ /// Evaluates macros in a macro string.
+ ///
+ /// The macro string.
+ /// An optional list of local parameters.
+ /// An optional language override.
+ /// An evaluated .
+ ReadOnlySeString EvaluateMacroString(string macroString, Span localParameters = default, ClientLanguage? language = null);
+
///
/// Evaluates macros in text from the Addon sheet.
///