Skip to content

Commit e8520a3

Browse files
author
MPCoreDeveloper
committed
new documentation much more filters
1 parent 9d02888 commit e8520a3

File tree

3 files changed

+130
-34
lines changed

3 files changed

+130
-34
lines changed

Posseth.NamedArguments.AnalyzerAndFixer.Package/Posseth.NamedArguments.AnalyzerAndFixer.Package.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<PropertyGroup>
1111
<PackageId>Posseth.NamedArguments.AnalyzerAndFixer</PackageId>
12-
<PackageVersion>1.0.1.2</PackageVersion>
12+
<PackageVersion>1.0.1.3</PackageVersion>
1313
<Authors>MPCoreDeveloper</Authors>
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<PackageProjectUrl>https://github.com/MPCoreDeveloper/Posseth.NamedArguments.AnalyzerAndFixer</PackageProjectUrl>
@@ -24,7 +24,7 @@
2424
<NoPackageAnalysis>true</NoPackageAnalysis>
2525
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_AddAnalyzersToOutput</TargetsForTfmSpecificContentInPackage>
2626
<Title>Named Arguments Analyzer and Fixer</Title>
27-
<Version>1.1.2</Version>
27+
<Version>1.1.3</Version>
2828
<Company>Posseth Software</Company>
2929
<Product>Posseth.NamedArguments.AnalyzerAndFixer</Product>
3030
<PackageIcon>logo.jpeg</PackageIcon>

Posseth.NamedArguments.AnalyzerAndFixer/NamedArgumentsAnalyzer.cs

Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,70 @@ public class NamedArgumentsAnalyzer : DiagnosticAnalyzer
6666
// Common methods to exclude by default (in addition to user-specified ones)
6767
private readonly HashSet<string> DefaultExcludedMethods = new HashSet<string>
6868
{
69-
"System.Linq.Enumerable.Where",
70-
"System.Linq.Enumerable.Select",
71-
"System.Linq.Enumerable.FirstOrDefault",
72-
"System.Linq.Enumerable.First",
73-
"System.Linq.Enumerable.Any",
74-
"System.Linq.Enumerable.OrderBy",
75-
"System.Linq.Enumerable.OrderByDescending",
76-
"System.Linq.Enumerable.GroupBy",
77-
"System.Linq.Enumerable.ToList",
78-
"System.Linq.Enumerable.ToArray",
79-
"System.Linq.Enumerable.Contains",
80-
"System.Linq.Enumerable.ElementAt",
81-
"System.Linq.Enumerable.ElementAtOrDefault",
82-
"System.String.IsNullOrEmpty",
83-
"System.String.IsNullOrWhiteSpace"
69+
"System.Char.Equals",
70+
"System.Char.CompareTo",
71+
"System.Char.GetUnicodeCategory",
72+
"System.Char.IsControl",
73+
"System.Char.IsDigit",
74+
"System.Char.IsLetter",
75+
"System.Char.IsLetterOrDigit",
76+
"System.Char.IsLower",
77+
"System.Char.IsNumber",
78+
"System.Char.IsPunctuation",
79+
"System.Char.IsSeparator",
80+
"System.Char.IsSurrogate",
81+
"System.Char.IsSymbol",
82+
"System.Char.IsUpper",
83+
"System.Char.IsWhiteSpace",
84+
"System.Char.ToLower",
85+
"System.Char.ToLowerInvariant",
86+
"System.Char.ToUpper",
87+
"System.Char.ToUpperInvariant",
88+
"System.Char.GetNumericValue",
89+
"System.String.Contains",
90+
"System.String.EndsWith",
91+
"System.String.StartsWith",
92+
"System.String.Equals",
93+
"System.String.IndexOf",
94+
"System.String.LastIndexOf",
95+
"System.String.Replace",
96+
"System.String.Split",
97+
"System.String.Trim",
98+
"System.String.TrimStart",
99+
"System.String.TrimEnd",
100+
"System.String.Insert",
101+
"System.String.Remove",
102+
"System.String.Substring",
103+
"System.String.IsNullOrEmpty",
104+
"System.String.IsNullOrWhiteSpace",
105+
"System.Text.StringBuilder.Append",
106+
"System.Text.StringBuilder.AppendLine",
107+
"System.Text.StringBuilder.Insert",
108+
"System.Text.StringBuilder.Replace",
109+
"System.Text.StringBuilder.Remove",
110+
"System.Globalization.CharUnicodeInfo.GetUnicodeCategory",
111+
"System.Globalization.CharUnicodeInfo.GetDigitValue",
112+
"System.Globalization.CharUnicodeInfo.GetNumericValue",
113+
"System.Linq.Enumerable.Where",
114+
"System.Linq.Enumerable.Select",
115+
"System.Linq.Enumerable.FirstOrDefault",
116+
"System.Linq.Enumerable.First",
117+
"System.Linq.Enumerable.Any",
118+
"System.Linq.Enumerable.OrderBy",
119+
"System.Linq.Enumerable.OrderByDescending",
120+
"System.Linq.Enumerable.GroupBy",
121+
"System.Linq.Enumerable.ToList",
122+
"System.Linq.Enumerable.ToArray",
123+
"System.Linq.Enumerable.Contains",
124+
"System.Linq.Enumerable.ElementAt",
125+
"System.Linq.Enumerable.ElementAtOrDefault",
126+
"System.Linq.Enumerable.All",
127+
"System.Linq.Enumerable.Count",
128+
"System.Linq.Enumerable.Last",
129+
"System.Linq.Enumerable.LastOrDefault"
130+
131+
132+
84133
};
85134
private static readonly char[] separator = new[] { ',' };
86135

README.md

Lines changed: 64 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,70 @@ it will analyze named arguments in all types.
1616

1717
UseDefaultExcludedMethods is a boolean and standard value is true.
1818
if UseDefaultExcludedMethods is true, the following methods will be excluded by default:
19-
"System.Linq.Enumerable.Where",
20-
"System.Linq.Enumerable.Select",
21-
"System.Linq.Enumerable.FirstOrDefault",
22-
"System.Linq.Enumerable.First",
23-
"System.Linq.Enumerable.Any",
24-
"System.Linq.Enumerable.OrderBy",
25-
"System.Linq.Enumerable.OrderByDescending",
26-
"System.Linq.Enumerable.GroupBy",
27-
"System.Linq.Enumerable.ToList",
28-
"System.Linq.Enumerable.ToArray",
29-
"System.Linq.Enumerable.Contains",
30-
"System.Linq.Enumerable.ElementAt",
31-
"System.Linq.Enumerable.ElementAtOrDefault",
32-
"System.String.IsNullOrEmpty",
33-
"System.String.IsNullOrWhiteSpace"
34-
35-
ExcludedMethodNames is a comma-separated list of method names yu want to exclude from the analyzer.
19+
"System.Char.Equals",
20+
"System.Char.CompareTo",
21+
"System.Char.GetUnicodeCategory",
22+
"System.Char.IsControl",
23+
"System.Char.IsDigit",
24+
"System.Char.IsLetter",
25+
"System.Char.IsLetterOrDigit",
26+
"System.Char.IsLower",
27+
"System.Char.IsNumber",
28+
"System.Char.IsPunctuation",
29+
"System.Char.IsSeparator",
30+
"System.Char.IsSurrogate",
31+
"System.Char.IsSymbol",
32+
"System.Char.IsUpper",
33+
"System.Char.IsWhiteSpace",
34+
"System.Char.ToLower",
35+
"System.Char.ToLowerInvariant",
36+
"System.Char.ToUpper",
37+
"System.Char.ToUpperInvariant",
38+
"System.Char.GetNumericValue",
39+
"System.String.Contains",
40+
"System.String.EndsWith",
41+
"System.String.StartsWith",
42+
"System.String.Equals",
43+
"System.String.IndexOf",
44+
"System.String.LastIndexOf",
45+
"System.String.Replace",
46+
"System.String.Split",
47+
"System.String.Trim",
48+
"System.String.TrimStart",
49+
"System.String.TrimEnd",
50+
"System.String.Insert",
51+
"System.String.Remove",
52+
"System.String.Substring",
53+
"System.String.IsNullOrEmpty",
54+
"System.String.IsNullOrWhiteSpace",
55+
"System.Text.StringBuilder.Append",
56+
"System.Text.StringBuilder.AppendLine",
57+
"System.Text.StringBuilder.Insert",
58+
"System.Text.StringBuilder.Replace",
59+
"System.Text.StringBuilder.Remove",
60+
"System.Globalization.CharUnicodeInfo.GetUnicodeCategory",
61+
"System.Globalization.CharUnicodeInfo.GetDigitValue",
62+
"System.Globalization.CharUnicodeInfo.GetNumericValue",
63+
"System.Linq.Enumerable.Where",
64+
"System.Linq.Enumerable.Select",
65+
"System.Linq.Enumerable.FirstOrDefault",
66+
"System.Linq.Enumerable.First",
67+
"System.Linq.Enumerable.Any",
68+
"System.Linq.Enumerable.OrderBy",
69+
"System.Linq.Enumerable.OrderByDescending",
70+
"System.Linq.Enumerable.GroupBy",
71+
"System.Linq.Enumerable.ToList",
72+
"System.Linq.Enumerable.ToArray",
73+
"System.Linq.Enumerable.Contains",
74+
"System.Linq.Enumerable.ElementAt",
75+
"System.Linq.Enumerable.ElementAtOrDefault",
76+
"System.Linq.Enumerable.All",
77+
"System.Linq.Enumerable.Count",
78+
"System.Linq.Enumerable.Last",
79+
"System.Linq.Enumerable.LastOrDefault"
80+
81+
82+
ExcludedMethodNames is a comma-separated list of method names you want to exclude from the analyzer.
3683
default value is "" thus empty.
3784

3885

0 commit comments

Comments
 (0)