private static void Output(StringWriter buffer, string code)
{
if (code.Length == 0)
return;
IList<ExpressionPosition> expressions = GetExpressionsPositions(code);
if (expressions.Count == 0)
{
OutputText(buffer, code);
return;
}
int start = 0;
foreach (ExpressionPosition position in expressions)
{
string text = code.Substring(start, position.Start - start);
OutputText(buffer, text);
string expression = code.Substring(position.Start + 2, position.End - (position.Start + 2));
OutputExpression(buffer, expression);
start = position.End + 1;
}
string remainingText = code.Substring(start, code.Length - start);
OutputText(buffer, remainingText);
}