@@ -892,41 +892,59 @@ impl Reedline {
892892 ReedlineEvent :: MenuNext => {
893893 self . active_menu ( )
894894 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
895+ if menu. get_values ( ) . len ( ) < 2 {
896+ return Ok ( EventStatus :: Inapplicable ) ;
897+ }
895898 menu. menu_event ( MenuEvent :: NextElement ) ;
896899 Ok ( EventStatus :: Handled )
897900 } )
898901 }
899902 ReedlineEvent :: MenuPrevious => {
900903 self . active_menu ( )
901904 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
905+ if menu. get_values ( ) . len ( ) < 2 {
906+ return Ok ( EventStatus :: Inapplicable ) ;
907+ }
902908 menu. menu_event ( MenuEvent :: PreviousElement ) ;
903909 Ok ( EventStatus :: Handled )
904910 } )
905911 }
906912 ReedlineEvent :: MenuUp => {
907913 self . active_menu ( )
908914 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
915+ if menu. get_values ( ) . len ( ) < 2 {
916+ return Ok ( EventStatus :: Inapplicable ) ;
917+ }
909918 menu. menu_event ( MenuEvent :: MoveUp ) ;
910919 Ok ( EventStatus :: Handled )
911920 } )
912921 }
913922 ReedlineEvent :: MenuDown => {
914923 self . active_menu ( )
915924 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
925+ if menu. get_values ( ) . len ( ) < 2 {
926+ return Ok ( EventStatus :: Inapplicable ) ;
927+ }
916928 menu. menu_event ( MenuEvent :: MoveDown ) ;
917929 Ok ( EventStatus :: Handled )
918930 } )
919931 }
920932 ReedlineEvent :: MenuLeft => {
921933 self . active_menu ( )
922934 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
935+ if menu. get_values ( ) . len ( ) < 2 {
936+ return Ok ( EventStatus :: Inapplicable ) ;
937+ }
923938 menu. menu_event ( MenuEvent :: MoveLeft ) ;
924939 Ok ( EventStatus :: Handled )
925940 } )
926941 }
927942 ReedlineEvent :: MenuRight => {
928943 self . active_menu ( )
929944 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
945+ if menu. get_values ( ) . len ( ) < 2 {
946+ return Ok ( EventStatus :: Inapplicable ) ;
947+ }
930948 menu. menu_event ( MenuEvent :: MoveRight ) ;
931949 Ok ( EventStatus :: Handled )
932950 } )
0 commit comments