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