private void WriteBeginScope(BraceLayout layout) { switch (layout) { case BraceLayout.EndOfLine: m_StringBuilder.Append(CodeStyle.BeginBrace); m_StringBuilder.Append(CodeStyle.NewLine); break; case BraceLayout.EndOfLineSpace: m_StringBuilder.AppendFormat(" {0}", CodeStyle.BeginBrace); m_StringBuilder.Append(CodeStyle.NewLine); break; case BraceLayout.NextLine: m_StringBuilder.Append(CodeStyle.NewLine); WriteIndent(); m_StringBuilder.Append(CodeStyle.BeginBrace); m_StringBuilder.Append(CodeStyle.NewLine); break; case BraceLayout.NextLineIndent: m_StringBuilder.Append(CodeStyle.NewLine); IncrementIndent(); WriteIndent(); m_StringBuilder.Append(CodeStyle.BeginBrace); m_StringBuilder.Append(CodeStyle.NewLine); break; } IncrementIndent(); }
private void WriteEndScope(BraceLayout layout, bool endLine) { switch (layout) { case BraceLayout.EndOfLine: case BraceLayout.EndOfLineSpace: case BraceLayout.NextLine: DecrementIndent(); WriteIndent(); Write(CodeStyle.EndBrace); break; case BraceLayout.NextLineIndent: DecrementIndent(); Write(CodeStyle.EndBrace); WriteIndent(); DecrementIndent(); break; } if (endLine) { Write(CodeStyle.NewLine); } }
public IScope Scope(string content, BraceLayout layout, bool endLine = true) { WriteIndent(); m_StringBuilder.Append(content); WriteBeginScope(layout); return(new ActionScope(() => { WriteEndScope(layout, endLine); })); }