Revert "Remove into SelectionEffects from .change_selections"

This reverts commit 28380d714d.
This commit is contained in:
Conrad Irwin 2025-06-27 14:06:17 -06:00
parent 28380d714d
commit 6e762d9c05
65 changed files with 625 additions and 837 deletions

View file

@ -5238,8 +5238,8 @@ impl EditorElement {
paint_highlight(range.start, range.end, color, edges);
}
let scroll_left =
layout.position_map.snapshot.scroll_position().x * layout.position_map.em_width;
let scroll_left = layout.position_map.snapshot.scroll_position().x
* layout.position_map.em_advance;
for (wrap_position, active) in layout.wrap_guides.iter() {
let x = (layout.position_map.text_hitbox.origin.x
@ -6676,7 +6676,7 @@ impl EditorElement {
let position_map: &PositionMap = &position_map;
let line_height = position_map.line_height;
let max_glyph_width = position_map.em_width;
let max_glyph_advance = position_map.em_advance;
let (delta, axis) = match delta {
gpui::ScrollDelta::Pixels(mut pixels) => {
//Trackpad
@ -6687,15 +6687,15 @@ impl EditorElement {
gpui::ScrollDelta::Lines(lines) => {
//Not trackpad
let pixels =
point(lines.x * max_glyph_width, lines.y * line_height);
point(lines.x * max_glyph_advance, lines.y * line_height);
(pixels, None)
}
};
let current_scroll_position = position_map.snapshot.scroll_position();
let x = (current_scroll_position.x * max_glyph_width
let x = (current_scroll_position.x * max_glyph_advance
- (delta.x * scroll_sensitivity))
/ max_glyph_width;
/ max_glyph_advance;
let y = (current_scroll_position.y * line_height
- (delta.y * scroll_sensitivity))
/ line_height;
@ -8591,7 +8591,7 @@ impl Element for EditorElement {
start_row,
editor_content_width,
scroll_width,
em_width,
em_advance,
&line_layouts,
cx,
)
@ -10051,7 +10051,7 @@ fn compute_auto_height_layout(
mod tests {
use super::*;
use crate::{
Editor, MultiBuffer, SelectionEffects,
Editor, MultiBuffer,
display_map::{BlockPlacement, BlockProperties},
editor_tests::{init_test, update_test_language_settings},
};
@ -10176,7 +10176,7 @@ mod tests {
window
.update(cx, |editor, window, cx| {
editor.cursor_shape = CursorShape::Block;
editor.change_selections(SelectionEffects::no_scroll(), window, cx, |s| {
editor.change_selections(None, window, cx, |s| {
s.select_ranges([
Point::new(0, 0)..Point::new(1, 0),
Point::new(3, 2)..Point::new(3, 3),