mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-23 01:46:18 +04:00
Make match work with extend and multi cursors (#920)
This commit is contained in:
parent
21d535565b
commit
bc6a34d97e
@ -4386,14 +4386,15 @@ fn match_brackets(cx: &mut Context) {
|
||||
let (view, doc) = current!(cx.editor);
|
||||
|
||||
if let Some(syntax) = doc.syntax() {
|
||||
let pos = doc
|
||||
.selection(view.id)
|
||||
.primary()
|
||||
.cursor(doc.text().slice(..));
|
||||
if let Some(pos) = match_brackets::find(syntax, doc.text(), pos) {
|
||||
let selection = Selection::point(pos);
|
||||
doc.set_selection(view.id, selection);
|
||||
};
|
||||
let text = doc.text().slice(..);
|
||||
let selection = doc.selection(view.id).clone().transform(|range| {
|
||||
if let Some(pos) = match_brackets::find(syntax, doc.text(), range.anchor) {
|
||||
range.put_cursor(text, pos, doc.mode == Mode::Select)
|
||||
} else {
|
||||
range
|
||||
}
|
||||
});
|
||||
doc.set_selection(view.id, selection);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user