Escape any Markup when displaying selected prompt items

If the item contained escaped markup, after the call to RemoveMarkup
the string will contain unescaped markup (that the user explicitly had
escaped before) for those cases we need to escape all remaining markup.
This commit is contained in:
Nils Andresen
2021-11-01 23:17:50 +01:00
committed by Patrik Svensson
parent b738187b28
commit ba4b7b97f8
3 changed files with 32 additions and 2 deletions

View File

@ -253,7 +253,7 @@ namespace Spectre.Console
var text = (Converter ?? TypeConverterHelper.ConvertToString)?.Invoke(item.Node.Data) ?? item.Node.Data.ToString() ?? "?";
if (current)
{
text = text.RemoveMarkup();
text = text.RemoveMarkup().EscapeMarkup();
}
var checkbox = item.Node.IsSelected

View File

@ -167,7 +167,7 @@ namespace Spectre.Console
var text = (Converter ?? TypeConverterHelper.ConvertToString)?.Invoke(item.Node.Data) ?? item.Node.Data.ToString() ?? "?";
if (current)
{
text = text.RemoveMarkup();
text = text.RemoveMarkup().EscapeMarkup();
}
grid.AddRow(new Markup(indent + prompt + " " + text, style));