Fix extend_line() behavior.
It would always extend to the next line if the cursor was at the end of the current line, even if the current line wasn't fully selected yet.
This commit is contained in:
parent
481c4ba044
commit
848cc1b438
1 changed files with 6 additions and 7 deletions
|
@ -900,14 +900,13 @@ fn extend_line(cx: &mut Context) {
|
|||
let text = doc.text();
|
||||
|
||||
let line_start = text.char_to_line(pos.anchor);
|
||||
let mut line = text.char_to_line(pos.head);
|
||||
let line_end = line_end_char_index(&text.slice(..), line);
|
||||
if line_start <= pos.anchor && pos.head == line_end && line < (text.len_lines() - 2) {
|
||||
line += 1;
|
||||
}
|
||||
|
||||
let start = text.line_to_char(line_start);
|
||||
let end = line_end_char_index(&text.slice(..), line);
|
||||
let line_end = text.char_to_line(pos.head);
|
||||
let mut end = line_end_char_index(&text.slice(..), line_end);
|
||||
|
||||
if pos.anchor == start && pos.head == end && line_end < (text.len_lines() - 2) {
|
||||
end = line_end_char_index(&text.slice(..), line_end + 1);
|
||||
}
|
||||
|
||||
doc.set_selection(view.id, Selection::single(start, end));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue