@@ -136,42 +136,41 @@ impl Module for ShowCommit {
136136 }
137137
138138 fn handle_event ( & mut self , event : Event , view_state : & crate :: view:: State ) -> Results {
139- if self . help . is_active ( ) {
140- self . help . handle_event ( event, view_state) ;
141- return Results :: new ( ) ;
142- }
143-
144- let mut results = Results :: new ( ) ;
145-
146- let active_view_data = match self . state {
147- ShowCommitState :: Overview => & mut self . overview_view_data ,
148- ShowCommitState :: Diff => & mut self . diff_view_data ,
149- } ;
150-
151- if handle_view_data_scroll ( event, view_state) . is_none ( ) {
152- match event {
153- Event :: Standard ( StandardEvent :: ShowDiff ) => {
154- active_view_data. update_view_data ( |updater| updater. clear ( ) ) ;
155- self . state = match self . state {
156- ShowCommitState :: Overview => ShowCommitState :: Diff ,
157- ShowCommitState :: Diff => ShowCommitState :: Overview ,
158- }
159- } ,
160- Event :: Standard ( StandardEvent :: Help ) => self . help . set_active ( ) ,
161- Event :: Key ( _) => {
162- active_view_data. update_view_data ( |updater| updater. clear ( ) ) ;
163- if self . state == ShowCommitState :: Diff {
164- self . state = ShowCommitState :: Overview ;
165- }
166- else {
167- results. state ( State :: List ) ;
168- }
169- } ,
170- Event :: Resize ( ..) => active_view_data. update_view_data ( |updater| updater. clear ( ) ) ,
171- _ => { } ,
172- }
173- }
174- results
139+ select ! (
140+ default || {
141+ let mut results = Results :: new( ) ;
142+
143+ let active_view_data = match self . state {
144+ ShowCommitState :: Overview => & mut self . overview_view_data,
145+ ShowCommitState :: Diff => & mut self . diff_view_data,
146+ } ;
147+
148+ match event {
149+ Event :: Standard ( StandardEvent :: ShowDiff ) => {
150+ active_view_data. update_view_data( |updater| updater. clear( ) ) ;
151+ self . state = match self . state {
152+ ShowCommitState :: Overview => ShowCommitState :: Diff ,
153+ ShowCommitState :: Diff => ShowCommitState :: Overview ,
154+ }
155+ } ,
156+ Event :: Standard ( StandardEvent :: Help ) => self . help. set_active( ) ,
157+ Event :: Key ( _) => {
158+ active_view_data. update_view_data( |updater| updater. clear( ) ) ;
159+ if self . state == ShowCommitState :: Diff {
160+ self . state = ShowCommitState :: Overview ;
161+ }
162+ else {
163+ results. state( State :: List ) ;
164+ }
165+ } ,
166+ Event :: Resize ( ..) => active_view_data. update_view_data( |updater| updater. clear( ) ) ,
167+ _ => { } ,
168+ }
169+ results
170+ } ,
171+ || self . help. handle_event( event, view_state) ,
172+ || handle_view_data_scroll( event, view_state)
173+ )
175174 }
176175}
177176
0 commit comments