UnityGame/Library/PackageCache/com.unity.shadergraph/Editor/Utilities/StringBuilderExtensions.cs
2024-10-27 10:53:47 +03:00

34 lines
951 B
C#

using System;
using System.Text;
namespace UnityEditor.ShaderGraph
{
static class StringBuilderExtensions
{
public static void AppendIndentedLines(this StringBuilder sb, string lines, string indentation)
{
sb.EnsureCapacity(sb.Length + lines.Length);
var charIndex = 0;
while (charIndex < lines.Length)
{
var nextNewLineIndex = lines.IndexOf(Environment.NewLine, charIndex, StringComparison.Ordinal);
if (nextNewLineIndex == -1)
{
nextNewLineIndex = lines.Length;
}
sb.Append(indentation);
for (var i = charIndex; i < nextNewLineIndex; i++)
{
sb.Append(lines[i]);
}
sb.AppendLine();
charIndex = nextNewLineIndex + Environment.NewLine.Length;
}
}
}
}