TranslateToString should return string not ustring

This commit is contained in:
nosami 2022-11-23 13:27:06 +00:00
Родитель b836593ef8
Коммит 30ba64cc90
1 изменённых файлов: 18 добавлений и 10 удалений

Просмотреть файл

@ -58,7 +58,7 @@ namespace XtermSharp {
string DebuggerDisplay {
get {
return TranslateToString (true, 0, -1).ToString ();
return TranslateToString (true, 0, -1);
}
}
@ -164,11 +164,11 @@ namespace XtermSharp {
public int GetTrimmedLength ()
{
for (int i = data.Length - 1; i >= 0; --i)
if (!data [i].IsNullChar()) {
int width = 0;
for (int j = 0; j <= i; j++)
width += data [i].Width;
return width;
if (!data [i].IsNullChar() && data[i].Code != ' ') {
//int width = 0;
//for (int j = 0; j <= i; j++)
// width += data [i].Width;
return i+1;
}
return 0;
}
@ -178,7 +178,7 @@ namespace XtermSharp {
Array.Copy (src.data, srcCol, data, dstCol, len);
}
public ustring TranslateToString (bool trimRight = false, int startCol = 0, int endCol = -1)
public string TranslateToString (bool trimRight = false, int startCol = 0, int endCol = -1)
{
if (endCol == -1)
endCol = data.Length;
@ -187,11 +187,19 @@ namespace XtermSharp {
endCol = Math.Max (Math.Min (endCol, GetTrimmedLength ()), startCol);
}
var space = new Rune(' ');
Rune [] runes = new Rune [endCol - startCol];
for (int i = startCol; i < endCol; i++)
runes [i - startCol] = data [i].Rune;
for (int i = startCol; i < endCol; i++) {
if (data[i].IsNullChar()) {
runes[i - startCol] = space;
}
else {
runes[i - startCol] = data[i].Rune;
}
}
return ustring.Make (runes);
return ustring.Make (runes).ToString();
}
}
}