CmdLine.Extensions.SplitToLines C# (CSharp) Method

SplitToLines() public static method

public static SplitToLines ( this original, int columns = 80, int prepadSpaces ) : string
original this
columns int
prepadSpaces int
return string
        public static string SplitToLines(this string original, int columns = 80, int prepadSpaces = 0)
        {
            if (String.IsNullOrEmpty(original))
                return "";

            string[] parts = original.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
            StringBuilder result = new StringBuilder();
            int currentCol = 0;
            bool firstLine = true;
            for (int i = 0; i < parts.Length; ++i)
            {
                string part = parts[i];
                if ((currentCol != 0) && (currentCol + part.Length + 1 > columns))
                {
                    result.AppendLine();
                    firstLine = false;
                    currentCol = 0;
                }
                if (currentCol == 0 && !firstLine)
                {
                    result.Append(new string(' ', prepadSpaces));
                }
                result.Append(part);
                if (i < parts.Length - 1)
                {
                    result.Append(" ");
                }
                currentCol += part.Length + 1;
            }
            return result.ToString();
        }