Skip to content

Commit 20ef9ff

Browse files
Add exclusion config for parens analyzer (#1363)
1 parent b67f8fc commit 20ef9ff

File tree

4 files changed

+18
-1
lines changed

4 files changed

+18
-1
lines changed

src/FsAutoComplete/LspHelpers.fs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,7 @@ type FSharpConfigDto =
723723
SimplifyNameAnalyzer: bool option
724724
SimplifyNameAnalyzerExclusions: string array option
725725
UnnecessaryParenthesesAnalyzer: bool option
726+
UnnecessaryParenthesesAnalyzerExclusions: string array option
726727
ResolveNamespaces: bool option
727728
EnableReferenceCodeLens: bool option
728729
EnableAnalyzers: bool option
@@ -867,6 +868,7 @@ type FSharpConfig =
867868
SimplifyNameAnalyzer: bool
868869
SimplifyNameAnalyzerExclusions: Regex array
869870
UnnecessaryParenthesesAnalyzer: bool
871+
UnnecessaryParenthesesAnalyzerExclusions: Regex array
870872
ResolveNamespaces: bool
871873
EnableReferenceCodeLens: bool
872874
EnableAnalyzers: bool
@@ -922,6 +924,7 @@ type FSharpConfig =
922924
SimplifyNameAnalyzer = false
923925
SimplifyNameAnalyzerExclusions = [||]
924926
UnnecessaryParenthesesAnalyzer = true
927+
UnnecessaryParenthesesAnalyzerExclusions = [||]
925928
ResolveNamespaces = false
926929
EnableReferenceCodeLens = false
927930
EnableAnalyzers = false
@@ -975,6 +978,9 @@ type FSharpConfig =
975978
defaultArg dto.SimplifyNameAnalyzerExclusions [||]
976979
|> Array.choose tryCreateRegex
977980
UnnecessaryParenthesesAnalyzer = defaultArg dto.UnnecessaryParenthesesAnalyzer true
981+
UnnecessaryParenthesesAnalyzerExclusions =
982+
defaultArg dto.UnnecessaryParenthesesAnalyzerExclusions [||]
983+
|> Array.choose tryCreateRegex
978984
ResolveNamespaces = defaultArg dto.ResolveNamespaces false
979985
EnableReferenceCodeLens = defaultArg dto.EnableReferenceCodeLens false
980986
EnableAnalyzers = defaultArg dto.EnableAnalyzers false
@@ -1086,6 +1092,11 @@ type FSharpConfig =
10861092
(dto.SimplifyNameAnalyzerExclusions |> Option.map (Array.choose tryCreateRegex))
10871093
x.SimplifyNameAnalyzerExclusions
10881094
UnnecessaryParenthesesAnalyzer = defaultArg dto.UnnecessaryParenthesesAnalyzer x.UnnecessaryParenthesesAnalyzer
1095+
UnnecessaryParenthesesAnalyzerExclusions =
1096+
defaultArg
1097+
(dto.UnnecessaryParenthesesAnalyzerExclusions
1098+
|> Option.map (Array.choose tryCreateRegex))
1099+
x.UnnecessaryParenthesesAnalyzerExclusions
10891100
ResolveNamespaces = defaultArg dto.ResolveNamespaces x.ResolveNamespaces
10901101
EnableReferenceCodeLens = defaultArg dto.EnableReferenceCodeLens x.EnableReferenceCodeLens
10911102
EnableAnalyzers = defaultArg dto.EnableAnalyzers x.EnableAnalyzers

src/FsAutoComplete/LspHelpers.fsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ type FSharpConfigDto =
306306
SimplifyNameAnalyzer: bool option
307307
SimplifyNameAnalyzerExclusions: string array option
308308
UnnecessaryParenthesesAnalyzer: bool option
309+
UnnecessaryParenthesesAnalyzerExclusions: string array option
309310
ResolveNamespaces: bool option
310311
EnableReferenceCodeLens: bool option
311312
EnableAnalyzers: bool option
@@ -409,6 +410,7 @@ type FSharpConfig =
409410
SimplifyNameAnalyzer: bool
410411
SimplifyNameAnalyzerExclusions: System.Text.RegularExpressions.Regex array
411412
UnnecessaryParenthesesAnalyzer: bool
413+
UnnecessaryParenthesesAnalyzerExclusions: System.Text.RegularExpressions.Regex array
412414
ResolveNamespaces: bool
413415
EnableReferenceCodeLens: bool
414416
EnableAnalyzers: bool

src/FsAutoComplete/LspServers/AdaptiveServerState.fs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,10 @@ type AdaptiveState
504504
&& isNotExcluded config.SimplifyNameAnalyzerExclusions
505505
then
506506
checkSimplifiedNames
507-
if config.UnnecessaryParenthesesAnalyzer then
507+
if
508+
config.UnnecessaryParenthesesAnalyzer
509+
&& isNotExcluded config.UnnecessaryParenthesesAnalyzerExclusions
510+
then
508511
checkUnnecessaryParentheses ]
509512

510513
async {

test/FsAutoComplete.Tests.Lsp/Helpers.fs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ let defaultConfigDto: FSharpConfigDto =
254254
SimplifyNameAnalyzer = None
255255
SimplifyNameAnalyzerExclusions = None
256256
UnnecessaryParenthesesAnalyzer = None
257+
UnnecessaryParenthesesAnalyzerExclusions = None
257258
ResolveNamespaces = None
258259
EnableReferenceCodeLens = None
259260
EnableAnalyzers = None

0 commit comments

Comments
 (0)