private static async Task Main(string[] args) { SetupHttpClient(); args = logLevel.ApplyFlags(args); var topics = GetTopics(args); WriteIntro(topics); bool hadError = false; List <string> broken; List <Link> links; string name; foreach (var topic in topics) { broken = new List <string>(); name = Path.GetFileNameWithoutExtension(topic); WriteTopicIntro(name); links = await ParseLinks(topic); foreach (var link in links) { if (await LinkWorks(link)) { continue; } broken.Add(link.Text); hadError = true; } WriteTopicStatus(name, broken); } Environment.Exit(hadError ? 1 : 0); }