private async System.Threading.Tasks.Task LintSelectedFiles(object sender, EventArgs e) { var paths = ProjectHelpers.GetSelectedItemPaths(); List <string> files = new List <string>(); foreach (string path in paths) { if (Directory.Exists(path)) { var children = GetFiles(path, "*.*"); files.AddRange(children.Where(c => LinterService.IsFileSupported(c))); } else if (File.Exists(path) && LinterService.IsFileSupported(path)) { files.Add(path); } } if (files.Any()) { await LinterService.LintAsync(true, files.ToArray()); } else { WebLinterPackage.Dte.StatusBar.Text = "No files found to lint"; } }