pub fn ordered(&self) -> Self {
        let Self { start, end } = *self;
        let (start, end) = match start.row.cmp(&end.row) {
            // Keep
            std::cmp::Ordering::Less => (start, end),
            std::cmp::Ordering::Equal if start.col < end.col => (start, end),
            // Flip
            std::cmp::Ordering::Equal | std::cmp::Ordering::Greater => {
                (end, start)
            }
        };
        Self { start, end }
    }
Returns a selection where start is before after
crates/turborepo-vt100/src/grid.rs