@@ -277,9 +277,11 @@ static async Task RunOptions(Options options)
277
277
case "FindOrphanedSnippets" :
278
278
{
279
279
Console . WriteLine ( $ "\n Searching the '{ options . TargetDirectory } ' directory recursively for orphaned snippet files.") ;
280
+ if ( options . Subdirectory != null )
281
+ Console . WriteLine ( $ "Only searching subdirectories with '{ options . Subdirectory } ' in their path.") ;
280
282
281
283
// Get all snippet files.
282
- List < ( string , string ? ) > snippetFiles = GetSnippetFiles ( options . TargetDirectory ) ;
284
+ List < ( string , string ? ) > snippetFiles = GetSnippetFiles ( options . TargetDirectory , options . Subdirectory ) ;
283
285
if ( snippetFiles . Count == 0 )
284
286
{
285
287
Console . WriteLine ( "\n No files with matching extensions were found." ) ;
@@ -777,7 +779,7 @@ private static Dictionary<string, int> GetIncludeFiles(string inputDirectory)
777
779
/// <summary>
778
780
/// Returns a list of code files in the specified directory and its subdirectories.
779
781
/// </summary>
780
- private static List < ( string , string ? ) > GetSnippetFiles ( string inputDirectory )
782
+ private static List < ( string , string ? ) > GetSnippetFiles ( string inputDirectory , string ? subdirectoryPattern )
781
783
{
782
784
List < string > fileExtensions = [ ".cs" , ".vb" , ".fs" , ".cpp" , ".xaml" ] ;
783
785
@@ -794,6 +796,13 @@ private static Dictionary<string, int> GetIncludeFiles(string inputDirectory)
794
796
795
797
foreach ( DirectoryInfo subDirectory in dir . EnumerateDirectories ( "*" , SearchOption . AllDirectories ) )
796
798
{
799
+ // If subdirectory pattern is specified, check for this string in the directory path.
800
+ if ( ! string . IsNullOrEmpty ( subdirectoryPattern ) &&
801
+ ! subDirectory . FullName . Contains ( subdirectoryPattern , StringComparison . OrdinalIgnoreCase ) )
802
+ {
803
+ continue ; // Skip this subdirectory.
804
+ }
805
+
797
806
foreach ( string extension in fileExtensions )
798
807
{
799
808
foreach ( FileInfo file in subDirectory . EnumerateFiles ( $ "*{ extension } ") )
0 commit comments