private IEnumerable <GitRemote> GetMatchingRemotes(IEnumerable <GitRemote> remotes) { if (UseRemotesPattern.IsNullOrWhiteSpace() || UseRemotesRegex.Value == null) { return(remotes); } IEnumerable <GitRemote> matchingRemotes = remotes.Where(r => UseRemotesRegex.Value.IsMatch(r.Name)); matchingRemotes = OrderByPositionInUseRemotePattern(matchingRemotes); if (UseOnlyFirstRemote) { matchingRemotes = matchingRemotes.Take(1); } return(matchingRemotes); }
private IEnumerable <GitRemote> OrderByPositionInUseRemotePattern(IEnumerable <GitRemote> remotes) { return(remotes.OrderBy(r => UseRemotesPattern.IndexOf(r.Name, StringComparison.OrdinalIgnoreCase))); }