1 type derived from MatchInfo
Microsoft.TemplateEngine.Cli (1)
TemplateResolution\ParameterMatchInfo.cs (1)
9
internal class ParameterMatchInfo :
MatchInfo
33 instantiations of MatchInfo
Microsoft.TemplateEngine.Cli (13)
TemplateResolution\CliFilters.cs (13)
23
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Mismatch);
29
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Exact);
32
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Mismatch);
48
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Partial);
55
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Exact);
66
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Exact);
74
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Partial);
79
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Partial);
82
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Mismatch);
113
return new
MatchInfo
(MatchInfo.BuiltIn.Language, language, MatchKind.Exact);
117
return new
MatchInfo
(MatchInfo.BuiltIn.Language, language, MatchKind.Mismatch);
125
return new
MatchInfo
(MatchInfo.BuiltIn.Language, defaultLanguage, MatchKind.Exact);
131
return new
MatchInfo
(MatchInfo.BuiltIn.Language, language, MatchKind.Exact);
Microsoft.TemplateEngine.Utils (20)
WellKnownSearchFilters.cs (20)
43
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Partial);
50
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Exact);
61
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Exact);
69
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Partial);
74
return new
MatchInfo
(MatchInfo.BuiltIn.ShortName, name, MatchKind.Partial);
77
return new
MatchInfo
(MatchInfo.BuiltIn.Name, name, MatchKind.Mismatch);
100
return new
MatchInfo
(MatchInfo.BuiltIn.Type, type, MatchKind.Exact);
104
return new
MatchInfo
(MatchInfo.BuiltIn.Type, type, MatchKind.Mismatch);
126
return new
MatchInfo
(MatchInfo.BuiltIn.Classification, classification, MatchKind.Exact);
128
return new
MatchInfo
(MatchInfo.BuiltIn.Classification, classification, MatchKind.Mismatch);
150
return new
MatchInfo
(MatchInfo.BuiltIn.Language, language, MatchKind.Exact);
154
return new
MatchInfo
(MatchInfo.BuiltIn.Language, language, MatchKind.Mismatch);
177
return new
MatchInfo
(MatchInfo.BuiltIn.Baseline, baselineName, MatchKind.Exact);
181
return new
MatchInfo
(MatchInfo.BuiltIn.Baseline, baselineName, MatchKind.Mismatch);
206
return new
MatchInfo
(MatchInfo.BuiltIn.Author, author, MatchKind.Mismatch);
213
return new
MatchInfo
(MatchInfo.BuiltIn.Author, author, MatchKind.Exact);
218
return new
MatchInfo
(MatchInfo.BuiltIn.Author, author, MatchKind.Partial);
220
return new
MatchInfo
(MatchInfo.BuiltIn.Author, author, MatchKind.Mismatch);
250
return new
MatchInfo
($"{MatchInfo.BuiltIn.Constraint}.{constraintDefinition.Type}", null, MatchKind.Mismatch);
253
return new
MatchInfo
($"{MatchInfo.BuiltIn.Constraint}.{constraintDefinition.Type}", null, MatchKind.Exact);
149 references to MatchInfo
Microsoft.TemplateEngine.Abstractions (3)
TemplateFiltering\ITemplateMatchInfo.cs (2)
19
IReadOnlyList<
MatchInfo
> MatchDisposition { get; }
25
void AddMatchDisposition(
MatchInfo
newDisposition);
TemplateFiltering\MatchInfo.cs (1)
14
/// Creates <see cref="
MatchInfo
"/> instance.
Microsoft.TemplateEngine.Cli (45)
Commands\FilterOptionDefinition.cs (8)
23
matchInfoName:
MatchInfo
.BuiltIn.Author);
29
matchInfoName:
MatchInfo
.BuiltIn.Baseline);
35
matchInfoName:
MatchInfo
.BuiltIn.Language);
41
matchInfoName:
MatchInfo
.BuiltIn.Classification);
47
matchInfoName:
MatchInfo
.BuiltIn.Type);
83
Func<string?, Func<ITemplateInfo,
MatchInfo
?>> matchFilter,
94
internal Func<string?, Func<ITemplateInfo,
MatchInfo
?>> TemplateMatchFilter { get; } = matchFilter;
102
/// A <see cref="
MatchInfo
"/> name used in match dispositions.
TemplateResolution\CliFilters.cs (18)
17
internal static Func<TemplateGroup,
MatchInfo
?> ExactShortNameTemplateGroupFilter(string name)
23
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Mismatch);
29
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Exact);
32
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Mismatch);
42
internal static Func<TemplateGroup,
MatchInfo
?> NameTemplateGroupFilter(string? name)
48
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Partial);
55
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Exact);
66
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Exact);
74
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Partial);
79
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Partial);
82
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Mismatch);
86
internal static Func<ITemplateInfo, IEnumerable<
MatchInfo
>>? EmptyTemplateParameterFilter() => (templateInfo) => Array.Empty<
MatchInfo
>();
94
internal static Func<TemplateGroup,
MatchInfo
?> LanguageGroupFilter(string? language, string? defaultLanguage)
113
return new MatchInfo(
MatchInfo
.BuiltIn.Language, language, MatchKind.Exact);
117
return new MatchInfo(
MatchInfo
.BuiltIn.Language, language, MatchKind.Mismatch);
125
return new MatchInfo(
MatchInfo
.BuiltIn.Language, defaultLanguage, MatchKind.Exact);
131
return new MatchInfo(
MatchInfo
.BuiltIn.Language, language, MatchKind.Exact);
TemplateResolution\ListTemplateResolver.cs (2)
35
IEnumerable<Func<TemplateGroup,
MatchInfo
?>> groupFilters = new[]
40
IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> templateFilters =
TemplateResolution\TemplateGroupMatchInfo.cs (13)
22
private readonly IReadOnlyList<
MatchInfo
> _groupDispositions;
29
IEnumerable<
MatchInfo
> groupDispositions,
62
/// Returns the list of <see cref="
MatchInfo
"/> for the group-based filters.
64
internal IReadOnlyList<
MatchInfo
> GroupMatchInfos
193
IEnumerable<Func<TemplateGroup,
MatchInfo
?>> groupFilters,
194
IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> templateInfoFilters,
195
Func<ITemplateInfo, IEnumerable<
MatchInfo
>>? templateParametersFilter = null)
197
List<
MatchInfo
> groupMatchDispositions = new();
198
foreach (Func<TemplateGroup,
MatchInfo
?>? filter in groupFilters)
200
MatchInfo
? info = filter(group);
234
foreach (
var
parameterMatchInfo in parameterMatchInfos)
320
MatchInfo
? languageMatch = _groupDispositions.SingleOrDefault(match => match.Name ==
MatchInfo
.BuiltIn.Language);
TemplateResolution\TemplateMatchInfoExtensions.cs (2)
30
var constraintsMatches = templateMatchInfo.MatchDisposition.Where(mi => mi.Name.StartsWith(
MatchInfo
.BuiltIn.Constraint));
31
var otherMatches = templateMatchInfo.MatchDisposition.Where(mi => !mi.Name.StartsWith(
MatchInfo
.BuiltIn.Constraint));
TemplateSearch\CliSearchFiltersFactory.cs (2)
56
IEnumerable<Func<TemplateGroup,
MatchInfo
?>> groupFilters = new[]
61
IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> templateFilters =
Microsoft.TemplateEngine.Edge (14)
Settings\TemplateMatchInfo.cs (6)
65
private readonly List<Abstractions.TemplateFiltering.
MatchInfo
> _matchDisposition = new List<Abstractions.TemplateFiltering.
MatchInfo
>();
67
internal TemplateMatchInfo(ITemplateInfo info, IReadOnlyList<Abstractions.TemplateFiltering.
MatchInfo
> matchDispositions)
72
foreach (Abstractions.TemplateFiltering.
MatchInfo
disposition in matchDispositions)
86
public IReadOnlyList<Abstractions.TemplateFiltering.
MatchInfo
> MatchDisposition => _matchDisposition;
88
public void AddMatchDisposition(Abstractions.TemplateFiltering.
MatchInfo
newDisposition)
Settings\TemplatePackageManager.cs (1)
172
public async Task<IReadOnlyList<ITemplateMatchInfo>> GetTemplatesAsync(Func<ITemplateMatchInfo, bool> matchFilter, IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> filters, CancellationToken cancellationToken)
Template\MatchInfo.cs (1)
8
[Obsolete("This struct is deprecated, use " + nameof(Abstractions.TemplateFiltering.
MatchInfo
) + " instead")]
Template\MatchLocation.cs (1)
6
[Obsolete("use" + nameof(Microsoft.TemplateEngine.Abstractions.TemplateFiltering.
MatchInfo
.Name) + " instead")]
TemplateListFilter.cs (5)
106
public static IReadOnlyCollection<Abstractions.TemplateFiltering.ITemplateMatchInfo> GetTemplateMatchInfo(IReadOnlyList<ITemplateInfo> templateList, Func<Abstractions.TemplateFiltering.ITemplateMatchInfo, bool> matchFilter, params Func<ITemplateInfo, Abstractions.TemplateFiltering.
MatchInfo
?>[] filters)
112
List<Abstractions.TemplateFiltering.
MatchInfo
> matchInformation = new List<Abstractions.TemplateFiltering.
MatchInfo
>();
114
foreach (Func<ITemplateInfo, Abstractions.TemplateFiltering.
MatchInfo
?> filter in filters)
116
Abstractions.TemplateFiltering.
MatchInfo
? result = filter(template);
Microsoft.TemplateEngine.IDE (2)
Bootstrapper.cs (2)
16
using MatchInfo = Microsoft.TemplateEngine.Abstractions.TemplateFiltering.
MatchInfo
;
116
public Task<IReadOnlyList<ITemplateMatchInfo>> GetTemplatesAsync(IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> filters, bool exactMatchesOnly = true, CancellationToken cancellationToken = default)
Microsoft.TemplateEngine.Utils (85)
TemplateMatchInfoExtensions.cs (40)
14
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> or <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.Name"/>.
18
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Name && (x.Kind == MatchKind.Exact || x.Kind == MatchKind.Partial));
22
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Name"/>.
26
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Name && x.Kind == MatchKind.Exact);
30
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.Name"/>.
34
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Name && x.Kind == MatchKind.Partial);
38
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Name"/>.
42
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Name && x.Kind == MatchKind.Mismatch);
46
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> or <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.ShortName"/>.
50
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.ShortName && (x.Kind == MatchKind.Exact || x.Kind == MatchKind.Partial));
54
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.ShortName"/>.
58
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.ShortName && x.Kind == MatchKind.Exact);
62
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.ShortName"/>.
66
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.ShortName && x.Kind == MatchKind.Partial);
70
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.ShortName"/>.
74
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.ShortName && x.Kind == MatchKind.Mismatch);
78
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Type"/>.
82
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Type && x.Kind == MatchKind.Exact);
86
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Type"/>.
90
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Type && x.Kind == MatchKind.Mismatch);
94
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Classification"/>.
98
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Classification && x.Kind == MatchKind.Exact);
102
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Classification"/>.
106
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Classification && x.Kind == MatchKind.Mismatch);
110
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Language"/>.
114
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Language && x.Kind == MatchKind.Exact);
118
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Language"/>.
122
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Language && x.Kind == MatchKind.Mismatch);
126
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Baseline"/>.
130
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Baseline && x.Kind == MatchKind.Exact);
134
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Baseline"/>.
138
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Baseline && x.Kind == MatchKind.Mismatch);
142
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> or <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.Author"/>.
146
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Author && (x.Kind == MatchKind.Exact || x.Kind == MatchKind.Partial)); // CodeQL [cs/campaign/constantine] False Positive: CodeQL wrongly detected "Author"
150
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Exact" /> match on <see cref="
MatchInfo
.BuiltIn.Author"/>.
154
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Author && x.Kind == MatchKind.Exact); // CodeQL [cs/campaign/constantine] False Positive: CodeQL wrongly detected "Author"
158
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Partial" /> match on <see cref="
MatchInfo
.BuiltIn.Author"/>.
162
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Author && x.Kind == MatchKind.Partial); // CodeQL [cs/campaign/constantine] False Positive: CodeQL wrongly detected "Author"
166
/// Returns true when <paramref name="templateMatchInfo"/> has <see cref="MatchKind.Mismatch" /> on <see cref="
MatchInfo
.BuiltIn.Author"/>.
170
return templateMatchInfo.MatchDisposition.Any(x => x.Name ==
MatchInfo
.BuiltIn.Author && x.Kind == MatchKind.Mismatch); // CodeQL [cs/campaign/constantine] False Positive: CodeQL wrongly detected "Author"
WellKnownSearchFilters.cs (45)
29
/// - if <paramref name="name"/> is null or empty, adds match disposition <see cref="
MatchInfo
.BuiltIn.Name"/> with <see cref="MatchKind.Partial"/>;<br/>
30
/// - if <paramref name="name"/> is equal to <see cref="ITemplateMetadata.Name"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Name"/> with <see cref="MatchKind.Exact"/>;<br/>
31
/// - if <paramref name="name"/> is equal to one of the short names in <see cref="ITemplateMetadata.ShortNameList"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.ShortName"/> with <see cref="MatchKind.Exact"/>;<br/>
32
/// - if <see cref="ITemplateMetadata.Name"/> contains <paramref name="name"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Name"/> with <see cref="MatchKind.Partial"/>;<br/>
33
/// - if one of the short names in <see cref="ITemplateMetadata.ShortNameList"/> contains <paramref name="name"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.ShortName"/> with <see cref="MatchKind.Partial"/>;<br/>
34
/// - adds match disposition <see cref="
MatchInfo
.BuiltIn.Name"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
37
public static Func<ITemplateInfo,
MatchInfo
?> NameFilter(string name)
43
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Partial);
50
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Exact);
61
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Exact);
69
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Partial);
74
return new MatchInfo(
MatchInfo
.BuiltIn.ShortName, name, MatchKind.Partial);
77
return new MatchInfo(
MatchInfo
.BuiltIn.Name, name, MatchKind.Mismatch);
84
/// - if <paramref name="inputType"/> is equal to tag named 'type' from <see cref="ITemplateInfo.Tags"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Type"/> with <see cref="MatchKind.Exact"/>;<br/>
85
/// - adds match disposition <see cref="
MatchInfo
.BuiltIn.Type"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
88
public static Func<ITemplateInfo,
MatchInfo
?> TypeFilter(string? inputType)
100
return new MatchInfo(
MatchInfo
.BuiltIn.Type, type, MatchKind.Exact);
104
return new MatchInfo(
MatchInfo
.BuiltIn.Type, type, MatchKind.Mismatch);
112
/// - if <paramref name="classification"/> is equal to any entry from <see cref="ITemplateMetadata.Classifications"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Classification"/> with <see cref="MatchKind.Exact"/>;<br/>
113
/// - adds match disposition <see cref="
MatchInfo
.BuiltIn.Classification"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
116
public static Func<ITemplateInfo,
MatchInfo
?> ClassificationFilter(string? classification)
126
return new MatchInfo(
MatchInfo
.BuiltIn.Classification, classification, MatchKind.Exact);
128
return new MatchInfo(
MatchInfo
.BuiltIn.Classification, classification, MatchKind.Mismatch);
135
/// - if <paramref name="language"/> is equal to tag named 'language' from <see cref="ITemplateInfo.Tags"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Language"/> with <see cref="MatchKind.Exact"/>;<br/>
136
/// - adds match disposition <see cref="
MatchInfo
.BuiltIn.Language"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
139
public static Func<ITemplateInfo,
MatchInfo
?> LanguageFilter(string? language)
150
return new MatchInfo(
MatchInfo
.BuiltIn.Language, language, MatchKind.Exact);
154
return new MatchInfo(
MatchInfo
.BuiltIn.Language, language, MatchKind.Mismatch);
162
/// - if <paramref name="baselineName"/> is equal to key from <see cref="ITemplateMetadata.BaselineInfo"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Baseline"/> with <see cref="MatchKind.Exact"/>;<br/>
163
/// - adds match disposition <see cref="
MatchInfo
.BuiltIn.Baseline"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
166
public static Func<ITemplateInfo,
MatchInfo
?> BaselineFilter(string? baselineName)
177
return new MatchInfo(
MatchInfo
.BuiltIn.Baseline, baselineName, MatchKind.Exact);
181
return new MatchInfo(
MatchInfo
.BuiltIn.Baseline, baselineName, MatchKind.Mismatch);
189
/// - if <see cref="ITemplateMetadata.Author"/> is null or empty, adds match disposition <see cref="
MatchInfo
.BuiltIn.Author"/> with <see cref="MatchKind.Mismatch"/>;<br/>
190
/// - if <paramref name="author"/> is equal to <see cref="ITemplateMetadata.Author"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Author"/> with <see cref="MatchKind.Exact"/>;<br/>
191
/// - if <see cref="ITemplateMetadata.Author"/> contains <paramref name="author"/> (case insensitive), adds match disposition <see cref="
MatchInfo
.BuiltIn.Author"/> with <see cref="MatchKind.Partial"/>;<br/>
192
/// - <see cref="
MatchInfo
.BuiltIn.Author"/> with <see cref="MatchKind.Mismatch"/> otherwise.<br/>
195
public static Func<ITemplateInfo,
MatchInfo
?> AuthorFilter(string? author)
206
return new MatchInfo(
MatchInfo
.BuiltIn.Author, author, MatchKind.Mismatch);
213
return new MatchInfo(
MatchInfo
.BuiltIn.Author, author, MatchKind.Exact);
218
return new MatchInfo(
MatchInfo
.BuiltIn.Author, author, MatchKind.Partial);
220
return new MatchInfo(
MatchInfo
.BuiltIn.Author, author, MatchKind.Mismatch);
233
public static IEnumerable<Func<ITemplateInfo,
MatchInfo
?>> ConstraintFilters(IEnumerable<ITemplateConstraint> constraintDefinitions)
250
return new MatchInfo($"{
MatchInfo
.BuiltIn.Constraint}.{constraintDefinition.Type}", null, MatchKind.Mismatch);
253
return new MatchInfo($"{
MatchInfo
.BuiltIn.Constraint}.{constraintDefinition.Type}", null, MatchKind.Exact);