@@ -5,7 +5,7 @@ use crate::interactive::{
55 SortMode ,
66} ;
77use anyhow:: Result ;
8- use crosstermion:: input:: { key_input_channel , Key } ;
8+ use crosstermion:: input:: { input_channel , Event , Key } ;
99use dua:: {
1010 traverse:: { Traversal , TreeIndex } ,
1111 WalkOptions , WalkResult ,
@@ -69,16 +69,20 @@ impl AppState {
6969 traversal : & mut Traversal ,
7070 display : & mut DisplayOptions ,
7171 terminal : & mut Terminal < B > ,
72- keys : impl Iterator < Item = Key > ,
72+ events : impl Iterator < Item = Event > ,
7373 ) -> Result < ProcessingResult >
7474 where
7575 B : Backend ,
7676 {
7777 use crosstermion:: input:: Key :: * ;
7878 use FocussedPane :: * ;
7979
80- self . draw ( window, traversal, * display, terminal) ?;
81- for key in keys {
80+ for event in events {
81+ let key = match event {
82+ Event :: Key ( key) => key,
83+ Event :: Resize ( _, _) => Alt ( '\r' ) ,
84+ } ;
85+
8286 self . reset_message ( ) ;
8387 match key {
8488 Char ( '?' ) => self . toggle_help_pane ( window) ,
@@ -106,17 +110,15 @@ impl AppState {
106110 }
107111
108112 match self . focussed {
109- FocussedPane :: Mark => {
110- self . dispatch_to_mark_pane ( key, window, traversal, * display, terminal)
111- }
112- FocussedPane :: Help => {
113+ Mark => self . dispatch_to_mark_pane ( key, window, traversal, * display, terminal) ,
114+ Help => {
113115 window
114116 . help_pane
115117 . as_mut ( )
116118 . expect ( "help pane" )
117119 . process_events ( key) ;
118120 }
119- FocussedPane :: Main => match key {
121+ Main => match key {
120122 Char ( 'O' ) => self . open_that ( traversal) ,
121123 Char ( ' ' ) => self . mark_entry (
122124 CursorMode :: KeepPosition ,
@@ -184,7 +186,7 @@ pub struct TerminalApp {
184186 pub window : MainWindow ,
185187}
186188
187- type KeyboardInputAndApp = ( std:: sync:: mpsc:: Receiver < Key > , TerminalApp ) ;
189+ type KeyboardInputAndApp = ( std:: sync:: mpsc:: Receiver < Event > , TerminalApp ) ;
188190
189191impl TerminalApp {
190192 pub fn refresh_view < B > ( & mut self , terminal : & mut Terminal < B > )
@@ -198,14 +200,14 @@ impl TerminalApp {
198200 & mut self . traversal ,
199201 & mut self . display ,
200202 terminal,
201- std:: iter:: once ( Key :: Alt ( '\r' ) ) ,
203+ std:: iter:: once ( Event :: Key ( Key :: Alt ( '\r' ) ) ) ,
202204 )
203205 . ok ( ) ;
204206 }
205207 pub fn process_events < B > (
206208 & mut self ,
207209 terminal : & mut Terminal < B > ,
208- keys : impl Iterator < Item = Key > ,
210+ events : impl Iterator < Item = Event > ,
209211 ) -> Result < WalkResult >
210212 where
211213 B : Backend ,
@@ -215,7 +217,7 @@ impl TerminalApp {
215217 & mut self . traversal ,
216218 & mut self . display ,
217219 terminal,
218- keys ,
220+ events ,
219221 ) ? {
220222 ProcessingResult :: Finished ( res) | ProcessingResult :: ExitRequested ( res) => Ok ( res) ,
221223 }
@@ -240,7 +242,7 @@ impl TerminalApp {
240242 let ( _, keys_rx) = std:: sync:: mpsc:: channel ( ) ;
241243 keys_rx
242244 }
243- Interaction :: Full => key_input_channel ( ) ,
245+ Interaction :: Full => input_channel ( ) ,
244246 } ;
245247
246248 let fetch_buffered_key_events = || {
0 commit comments