using System; using System.Collections.Generic; using System.IO; namespace Mustache { /// /// Defines a tag that outputs the current index within an each loop. /// internal sealed class IndexTagDefinition : InlineTagDefinition { /// /// Initializes a new instance of an IndexTagDefinition. /// public IndexTagDefinition() : base("index", true) { } /// /// Gets the text to output. /// /// The writer to write the output to. /// The arguments passed to the tag. /// Extra data passed along with the context. public override void GetText(TextWriter writer, Dictionary arguments, Scope contextScope) { object index; if (contextScope.TryFind("index", out index)) { writer.Write(index); } } } }