@@ -891,41 +891,59 @@ impl Reedline {
891
891
ReedlineEvent :: MenuNext => {
892
892
self . active_menu ( )
893
893
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
894
+ if menu. get_values ( ) . len ( ) < 2 {
895
+ return Ok ( EventStatus :: Inapplicable ) ;
896
+ }
894
897
menu. menu_event ( MenuEvent :: NextElement ) ;
895
898
Ok ( EventStatus :: Handled )
896
899
} )
897
900
}
898
901
ReedlineEvent :: MenuPrevious => {
899
902
self . active_menu ( )
900
903
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
904
+ if menu. get_values ( ) . len ( ) < 2 {
905
+ return Ok ( EventStatus :: Inapplicable ) ;
906
+ }
901
907
menu. menu_event ( MenuEvent :: PreviousElement ) ;
902
908
Ok ( EventStatus :: Handled )
903
909
} )
904
910
}
905
911
ReedlineEvent :: MenuUp => {
906
912
self . active_menu ( )
907
913
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
914
+ if menu. get_values ( ) . len ( ) < 2 {
915
+ return Ok ( EventStatus :: Inapplicable ) ;
916
+ }
908
917
menu. menu_event ( MenuEvent :: MoveUp ) ;
909
918
Ok ( EventStatus :: Handled )
910
919
} )
911
920
}
912
921
ReedlineEvent :: MenuDown => {
913
922
self . active_menu ( )
914
923
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
924
+ if menu. get_values ( ) . len ( ) < 2 {
925
+ return Ok ( EventStatus :: Inapplicable ) ;
926
+ }
915
927
menu. menu_event ( MenuEvent :: MoveDown ) ;
916
928
Ok ( EventStatus :: Handled )
917
929
} )
918
930
}
919
931
ReedlineEvent :: MenuLeft => {
920
932
self . active_menu ( )
921
933
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
934
+ if menu. get_values ( ) . len ( ) < 2 {
935
+ return Ok ( EventStatus :: Inapplicable ) ;
936
+ }
922
937
menu. menu_event ( MenuEvent :: MoveLeft ) ;
923
938
Ok ( EventStatus :: Handled )
924
939
} )
925
940
}
926
941
ReedlineEvent :: MenuRight => {
927
942
self . active_menu ( )
928
943
. map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
944
+ if menu. get_values ( ) . len ( ) < 2 {
945
+ return Ok ( EventStatus :: Inapplicable ) ;
946
+ }
929
947
menu. menu_event ( MenuEvent :: MoveRight ) ;
930
948
Ok ( EventStatus :: Handled )
931
949
} )
0 commit comments