Fix searching for a single character

This commit is contained in:
Jeremy Soller 2024-01-11 16:20:15 -07:00
parent b38927364c
commit 679e7ee4f5
No known key found for this signature in database
GPG key ID: DCFCA852D3906975

View file

@ -2,7 +2,7 @@ use alacritty_terminal::{
event::{Event, EventListener, Notify, OnResize, WindowSize}, event::{Event, EventListener, Notify, OnResize, WindowSize},
event_loop::{EventLoop, Msg, Notifier}, event_loop::{EventLoop, Msg, Notifier},
grid::Dimensions, grid::Dimensions,
index::{Column, Direction, Line, Point, Side}, index::{Boundary, Column, Direction, Line, Point, Side},
selection::{Selection, SelectionType}, selection::{Selection, SelectionType},
sync::FairMutex, sync::FairMutex,
term::{ term::{
@ -353,20 +353,21 @@ impl Terminal {
}; };
// Determine search origin // Determine search origin
let grid = term.grid();
let search_origin = match term let search_origin = match term
.selection .selection
.as_ref() .as_ref()
.and_then(|selection| selection.to_range(&term)) .and_then(|selection| selection.to_range(&term))
{ {
Some(range) => { Some(range) => {
//TODO: determine correct search_origin, along with side below
if forwards { if forwards {
range.end range.end.add(grid, Boundary::Grid, 1)
} else { } else {
range.start range.start.sub(grid, Boundary::Grid, 1)
} }
} }
None => { None => {
let grid = term.grid();
if forwards { if forwards {
Point::new(Line(-(grid.history_size() as i32)), Column(0)) Point::new(Line(-(grid.history_size() as i32)), Column(0))
} else { } else {
@ -387,6 +388,7 @@ impl Terminal {
} else { } else {
Direction::Left Direction::Left
}, },
//TODO: determine correct side, along with search_origin above
if forwards { Side::Left } else { Side::Right }, if forwards { Side::Left } else { Side::Right },
None, None,
) { ) {