@@ -980,41 +980,59 @@ impl Reedline {
980980 ReedlineEvent :: MenuNext => {
981981 self . active_menu ( )
982982 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
983+ if menu. get_values ( ) . len ( ) < 2 {
984+ return Ok ( EventStatus :: Inapplicable ) ;
985+ }
983986 menu. menu_event ( MenuEvent :: NextElement ) ;
984987 Ok ( EventStatus :: Handled )
985988 } )
986989 }
987990 ReedlineEvent :: MenuPrevious => {
988991 self . active_menu ( )
989992 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
993+ if menu. get_values ( ) . len ( ) < 2 {
994+ return Ok ( EventStatus :: Inapplicable ) ;
995+ }
990996 menu. menu_event ( MenuEvent :: PreviousElement ) ;
991997 Ok ( EventStatus :: Handled )
992998 } )
993999 }
9941000 ReedlineEvent :: MenuUp => {
9951001 self . active_menu ( )
9961002 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
1003+ if menu. get_values ( ) . len ( ) < 2 {
1004+ return Ok ( EventStatus :: Inapplicable ) ;
1005+ }
9971006 menu. menu_event ( MenuEvent :: MoveUp ) ;
9981007 Ok ( EventStatus :: Handled )
9991008 } )
10001009 }
10011010 ReedlineEvent :: MenuDown => {
10021011 self . active_menu ( )
10031012 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
1013+ if menu. get_values ( ) . len ( ) < 2 {
1014+ return Ok ( EventStatus :: Inapplicable ) ;
1015+ }
10041016 menu. menu_event ( MenuEvent :: MoveDown ) ;
10051017 Ok ( EventStatus :: Handled )
10061018 } )
10071019 }
10081020 ReedlineEvent :: MenuLeft => {
10091021 self . active_menu ( )
10101022 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
1023+ if menu. get_values ( ) . len ( ) < 2 {
1024+ return Ok ( EventStatus :: Inapplicable ) ;
1025+ }
10111026 menu. menu_event ( MenuEvent :: MoveLeft ) ;
10121027 Ok ( EventStatus :: Handled )
10131028 } )
10141029 }
10151030 ReedlineEvent :: MenuRight => {
10161031 self . active_menu ( )
10171032 . map_or ( Ok ( EventStatus :: Inapplicable ) , |menu| {
1033+ if menu. get_values ( ) . len ( ) < 2 {
1034+ return Ok ( EventStatus :: Inapplicable ) ;
1035+ }
10181036 menu. menu_event ( MenuEvent :: MoveRight ) ;
10191037 Ok ( EventStatus :: Handled )
10201038 } )
0 commit comments