diff --git a/src/Fantomas.Tests/OperatorTests.fs b/src/Fantomas.Tests/OperatorTests.fs index 0511c5932f..777857753b 100644 --- a/src/Fantomas.Tests/OperatorTests.fs +++ b/src/Fantomas.Tests/OperatorTests.fs @@ -1256,3 +1256,32 @@ let subtractTwo = + {literalValue} $""" let subtractTwo = + {literalValue} """ + +[] +let ``qualified name to active pattern, 1937`` () = + formatSourceString + false + """ +StringPosition.(|TrimStart|) +(|TrimStart|) +StringPosition.(|TrimStart|_|) +(|TrimStart|_|) +StringPosition.(|A|B|) +(|A|B|) + +let f (|A|B|) = (|A|B|) +""" + config + |> prepend newline + |> should + equal + """ +StringPosition.(|TrimStart|) +(|TrimStart|) +StringPosition.(|TrimStart|_|) +(|TrimStart|_|) +StringPosition.(|A|B|) +(|A|B|) + +let f (|A|B|) = (|A|B|) +""" diff --git a/src/Fantomas/SourceParser.fs b/src/Fantomas/SourceParser.fs index a392f9ad33..8f5f026fc1 100644 --- a/src/Fantomas/SourceParser.fs +++ b/src/Fantomas/SourceParser.fs @@ -36,7 +36,11 @@ let (|Ident|) (s: Ident) = | "not" -> "not" | "params" -> "``params``" | "parallel" -> "``parallel``" - | _ -> PrettyNaming.AddBackticksToIdentifierIfNeeded ident + | _ -> + if IsActivePatternName ident then + sprintf "(%s)" (DecompileOpName ident) + else + PrettyNaming.AddBackticksToIdentifierIfNeeded ident let (|LongIdent|) (li: LongIdent) = li