From cd03f3b14d24ef746c30943b8f4a3976db6dd013 Mon Sep 17 00:00:00 2001 From: Richard Webb Date: Sat, 14 Jun 2025 15:36:05 +0100 Subject: [PATCH] Tweaks to Trivia::findNodeWhereRangeFitsIn - Use Array.tryPick rather than Array.choose |> Array.tryHead - Use Option.orElseWith rather than 'Some betterChild -> Some betterChild' --- src/Fantomas.Core/Trivia.fs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Fantomas.Core/Trivia.fs b/src/Fantomas.Core/Trivia.fs index 2c963cb350..8ea4141fed 100644 --- a/src/Fantomas.Core/Trivia.fs +++ b/src/Fantomas.Core/Trivia.fs @@ -158,12 +158,9 @@ let rec findNodeWhereRangeFitsIn (root: Node) (range: range) : Node option = // The more specific the node fits the selection, the better let betterChildNode = root.Children - |> Array.choose (fun childNode -> findNodeWhereRangeFitsIn childNode range) - |> Array.tryHead + |> Array.tryPick (fun childNode -> findNodeWhereRangeFitsIn childNode range) - match betterChildNode with - | Some betterChild -> Some betterChild - | None -> Some root + betterChildNode |> Option.orElseWith (fun () -> Some root) let triviaBeforeOrAfterEntireTree (rootNode: Node) (trivia: TriviaNode) : unit = let isBefore = trivia.Range.EndLine < rootNode.Range.StartLine