public override void WriteOutput(OutputContext context) { using (var scope = context.BeginUndoableScope()) { context.Append("@media "); for (var index = 0; index < mediaQueries.Count; index++) { if (index > 0) { context.Append(", "); } var mediaQuery = mediaQueries[index]; context.Append(mediaQuery); } context.AppendLine(" {"); using (context.EnterExtenderScope(Extenders)) { if (context.Append(Block)) { scope.KeepChanges(); } } context.AppendLine("}"); } }
public override void WriteOutput(OutputContext context) { using (var scope = context.BeginUndoableScope()) { context.IncreaseIndentLevel(); bool hasOutput = false; for (var index = 0; index < Statements.Count; index++) { var statement = Statements[index]; if (statement is Rule r) { // Rules may exist within media queries, but are only indented and semicolon-terminated within rule blocks context.Indent(); hasOutput |= context.Append(r); bool isLast = index == Statements.Count - 1; if (isLast) { context.AppendOptional(';'); } else { context.Append(';'); } context.AppendLine(); } else { hasOutput |= context.Append(statement); } } if (hasOutput) { scope.KeepChanges(); } context.DecreaseIndentLevel(); } }