Extend textobject selections in select mode

pull/1/head
Michael Davis 2 years ago committed by Blaž Hrastnik
parent 032d76ccf2
commit c253139790

@ -4282,7 +4282,7 @@ fn goto_ts_object_impl(cx: &mut Context, object: &'static str, direction: Direct
let root = syntax.tree().root_node(); let root = syntax.tree().root_node();
let selection = doc.selection(view.id).clone().transform(|range| { let selection = doc.selection(view.id).clone().transform(|range| {
movement::goto_treesitter_object( let new_range = movement::goto_treesitter_object(
text, text,
range, range,
object, object,
@ -4290,8 +4290,19 @@ fn goto_ts_object_impl(cx: &mut Context, object: &'static str, direction: Direct
root, root,
lang_config, lang_config,
count, count,
) );
.with_direction(direction)
if editor.mode == Mode::Select {
let head = if new_range.head < range.anchor {
new_range.anchor
} else {
new_range.head
};
Range::new(range.anchor, head)
} else {
new_range.with_direction(direction)
}
}); });
doc.set_selection(view.id, selection); doc.set_selection(view.id, selection);

Loading…
Cancel
Save