Example #1
0
        public LineCountResult Execute()
        {
            var regexList = new List<Regex>();
            foreach (var wildcard in Wildcards)
            {
                regexList.Add(new Regex(WildcardToRegex(wildcard)));
            }

            var result = new LineCountResult();

            foreach (var dir in Directories)
            {
                foreach (var filePath in Directory.EnumerateFiles(dir, "*", SearchOption.AllDirectories))
                {
                    foreach (var regex in regexList)
                    {
                        if (regex.IsMatch(filePath))
                        {
                            CountLines(filePath, result);
                        }
                    }
                }
            }

            return result;
        }
Example #2
0
 private void CountLines(string filePath, LineCountResult result)
 {
     var lines = File.ReadAllLines(filePath);
     foreach (var line in lines )
     {
         if (string.IsNullOrWhiteSpace(line))
         {
             result.BlankLines++;
         }
     }
     result.TotalLines += lines.Length;
     result.TotalFiles++;
 }