예제 #1
0
        private void PrettyPrint(string str)
        {
            for (int i = 0; i < str.Length; ++i)
            {
                if (str[i] == ESCAPE && i < str.Length - 1)
                {
                    ++i;
                    switch (str[i])
                    {
                    case '{':
                        pp.BeginGroup();
                        break;

                    case '}':
                        pp.EndGroup();
                        break;

                    case 't':
                        pp.Indent(2);
                        break;

                    case 'b':
                        pp.Outdent(2);
                        break;

                    case 'n':
                        pp.ForceLineBreak();
                        break;

                    case 'o':
                        pp.OptionalLineBreak();
                        break;

                    case 'c':
                        pp.ConnectedLineBreak();
                        break;
                    }
                }
                else
                {
                    char ch = str[i];
                    pp.PrintCharacter(ch);
                }
            }
            pp.Flush();
        }