module gherkin.util; import std.algorithm : filter; import std.file : isDir, dirEntries, isFile, SpanMode; import std.path : extension; /// string[] getFeatureFiles(string[] args) { string[] featureFilesAndDirs = args.length > 1 ? args[1 .. $] : ["features"]; string[] featureFiles; foreach (fileOrDir; featureFilesAndDirs) { if (fileOrDir.isFile) { featureFiles ~= fileOrDir; } else if (fileOrDir.isDir) { foreach (file; dirEntries(fileOrDir, SpanMode.breadth).filter!(a => a.isFile && extension(a) == ".feature")) { featureFiles ~= file; } } } return featureFiles; }