publicstaticIEnumerable<SnippetValidationResult>ValidateSnippets(IEnumerable<Snippet>snippets){SnippetValidatorvalidator= SnippetValidator.CreateDefaultValidator();foreach(Snippet snippet in snippets){foreach(SnippetValidationResult result in validator.Validate(snippet))yieldreturnresult;}}
Find Duplicate Shortcuts
publicstaticIEnumerable<IGrouping<string,Snippet>>FindDuplicateShortcuts(IEnumerable<Snippet>snippets){foreach(IGrouping<string,Snippet> grouping in SnippetUtility.FindDuplicateShortcuts(snippets))yieldreturngrouping;}
Get Changed Snippets
publicstaticIEnumerable<Snippet>GetChangedSnippets(IEnumerable<Snippet>snippets){varequalityComparer=new SnippetDeepEqualityComparer();foreach(Snippet snippet in snippets){varclone=(Snippet)snippet.Clone();
clone.Literals.Sort();
clone.Keywords.Sort();
clone.Namespaces.Sort();// do some other processingif(!equalityComparer.Equals(snippet, clone))yieldreturnclone;}}