diff options
author | Christian Duerr <contact@christianduerr.com> | 2019-10-05 02:29:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-05 02:29:26 +0200 |
commit | 729eef0c933831bccfeac6a355bdb410787fbe5f (patch) | |
tree | 35cdf2e6427ad18bc53efbab4cab34a0af2054d7 /alacritty_terminal/src/selection.rs | |
parent | b0c6fdff763f7271506d26d7e768e6377fdc691b (diff) | |
download | alacritty-729eef0c933831bccfeac6a355bdb410787fbe5f.tar.gz alacritty-729eef0c933831bccfeac6a355bdb410787fbe5f.zip |
Update to winit/glutin EventLoop 2.0
This takes the latest glutin master to port Alacritty to the EventLoop
2.0 rework.
This changes a big part of the event loop handling by pushing the event
loop in a separate thread from the renderer and running both in
parallel.
Fixes #2796.
Fixes #2694.
Fixes #2643.
Fixes #2625.
Fixes #2618.
Fixes #2601.
Fixes #2564.
Fixes #2456.
Fixes #2438.
Fixes #2334.
Fixes #2254.
Fixes #2217.
Fixes #1789.
Fixes #1750.
Fixes #1125.
Diffstat (limited to 'alacritty_terminal/src/selection.rs')
-rw-r--r-- | alacritty_terminal/src/selection.rs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/alacritty_terminal/src/selection.rs b/alacritty_terminal/src/selection.rs index ffe35e08..29934e5a 100644 --- a/alacritty_terminal/src/selection.rs +++ b/alacritty_terminal/src/selection.rs @@ -39,6 +39,7 @@ use crate::term::{Search, Term}; /// [`simple`]: enum.Selection.html#method.simple /// [`semantic`]: enum.Selection.html#method.semantic /// [`lines`]: enum.Selection.html#method.lines +/// [`update`]: enum.Selection.html#method.update #[derive(Debug, Clone, PartialEq)] pub enum Selection { Simple { @@ -164,7 +165,7 @@ impl Selection { } } - pub fn to_span(&self, term: &Term) -> Option<Span> { + pub fn to_span<T>(&self, term: &Term<T>) -> Option<Span> { // Get both sides of the selection let (mut start, mut end) = match *self { Selection::Simple { ref region } | Selection::Block { ref region } => { @@ -405,13 +406,19 @@ mod test { use super::{Selection, Span}; use crate::clipboard::Clipboard; + use crate::config::MockConfig; + use crate::event::{Event, EventListener}; use crate::grid::Grid; use crate::index::{Column, Line, Point, Side}; - use crate::message_bar::MessageBuffer; use crate::term::cell::{Cell, Flags}; use crate::term::{SizeInfo, Term}; - fn term(width: usize, height: usize) -> Term { + struct Mock; + impl EventListener for Mock { + fn send_event(&self, _event: Event) {} + } + + fn term(width: usize, height: usize) -> Term<Mock> { let size = SizeInfo { width: width as f32, height: height as f32, @@ -421,7 +428,7 @@ mod test { padding_y: 0.0, dpr: 1.0, }; - Term::new(&Default::default(), size, MessageBuffer::new(), Clipboard::new_nop()) + Term::new(&MockConfig::default(), &size, Clipboard::new_nop(), Mock) } /// Test case of single cell selection |