Skip to content

Commit cd03f3b

Browse files
committed
Tweaks to Trivia::findNodeWhereRangeFitsIn
- Use Array.tryPick rather than Array.choose |> Array.tryHead - Use Option.orElseWith rather than 'Some betterChild -> Some betterChild'
1 parent 294ef06 commit cd03f3b

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

src/Fantomas.Core/Trivia.fs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,9 @@ let rec findNodeWhereRangeFitsIn (root: Node) (range: range) : Node option =
158158
// The more specific the node fits the selection, the better
159159
let betterChildNode =
160160
root.Children
161-
|> Array.choose (fun childNode -> findNodeWhereRangeFitsIn childNode range)
162-
|> Array.tryHead
161+
|> Array.tryPick (fun childNode -> findNodeWhereRangeFitsIn childNode range)
163162

164-
match betterChildNode with
165-
| Some betterChild -> Some betterChild
166-
| None -> Some root
163+
betterChildNode |> Option.orElseWith (fun () -> Some root)
167164

168165
let triviaBeforeOrAfterEntireTree (rootNode: Node) (trivia: TriviaNode) : unit =
169166
let isBefore = trivia.Range.EndLine < rootNode.Range.StartLine

0 commit comments

Comments
 (0)