Cursor
## Summary We have two `Cursor` implementations. This PR moves the implementation from the formatter into `ruff_python_whitespace` (kind of a poorly-named crate now) and uses it for both use-cases.
FormatContext
NeedsParentheses
ModExpression
comparable.rs
PyFormatOptions
Into<AnyNodeRef>
Comments