@@ -930,7 +930,16 @@ where
930
930
event_handler : SweepEventHandler < H > ,
931
931
is_help : bool ,
932
932
) -> Self {
933
- let mut window = Self {
933
+ let mut key_map = KeyMap :: new ( ) ;
934
+ let mut key_actions = HashMap :: new ( ) ;
935
+ for action in SweepAction :: all ( ) {
936
+ let desc = action. description ( ) ;
937
+ key_actions. insert ( desc. name , action. clone ( ) ) ;
938
+ for chord in desc. chords {
939
+ key_map. register ( chord, action. clone ( ) ) ;
940
+ }
941
+ }
942
+ Self {
934
943
term_waker,
935
944
requests,
936
945
event_handler,
@@ -940,8 +949,8 @@ where
940
949
footer : None ,
941
950
key_map_state : Vec :: new ( ) ,
942
951
key_empty_backspace : None ,
943
- key_map : KeyMap :: new ( ) ,
944
- key_actions : HashMap :: new ( ) ,
952
+ key_map,
953
+ key_actions,
945
954
theme : theme. clone ( ) ,
946
955
input : Input :: new ( theme. clone ( ) ) ,
947
956
list : List :: new (
@@ -955,20 +964,6 @@ where
955
964
preview_large : None ,
956
965
render_suppress_sync : None ,
957
966
is_help,
958
- } ;
959
- window. key_map_reset ( ) ;
960
- window
961
- }
962
-
963
- fn key_map_reset ( & mut self ) {
964
- self . key_map = KeyMap :: new ( ) ;
965
- self . key_actions = HashMap :: new ( ) ;
966
- for action in SweepAction :: all ( ) {
967
- let desc = action. description ( ) ;
968
- self . key_actions . insert ( desc. name , action. clone ( ) ) ;
969
- for chord in desc. chords {
970
- self . key_map . register ( chord, action. clone ( ) ) ;
971
- }
972
967
}
973
968
}
974
969
@@ -1331,7 +1326,6 @@ impl<H: Haystack> Window for SweepWindow<H> {
1331
1326
HaystackClear => {
1332
1327
self . ranker . haystack_clear ( ) ;
1333
1328
self . haystack . clear ( ) ;
1334
- self . key_map_reset ( ) ;
1335
1329
}
1336
1330
RankerKeepOrder ( toggle) => self . ranker . keep_order ( toggle) ,
1337
1331
Terminate => return Ok ( WindowAction :: Quit ) ,
0 commit comments