Delete based on character width when pressing Backspace.

This commit is contained in:
tonwin618 2024-08-01 13:55:09 +08:00 committed by Patrik Svensson
parent d79e6adc5f
commit bb72b44d60

View File

@ -52,12 +52,20 @@ public static partial class AnsiConsoleExtensions
{ {
if (text.Length > 0) if (text.Length > 0)
{ {
var lastChar = text.Last();
text = text.Substring(0, text.Length - 1); text = text.Substring(0, text.Length - 1);
if (mask != null) if (mask != null)
{
if (UnicodeCalculator.GetWidth(lastChar) == 1)
{ {
console.Write("\b \b"); console.Write("\b \b");
} }
else if (UnicodeCalculator.GetWidth(lastChar) == 2)
{
console.Write("\b \b\b \b");
}
}
} }
continue; continue;