File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -550,6 +550,10 @@ impl Menu for ColumnarMenu {
550550
551551 /// Updates menu values
552552 fn update_values ( & mut self , editor : & mut Editor , completer : & mut dyn Completer ) {
553+ if self . settings . only_buffer_difference && self . input . is_none ( ) {
554+ self . input = Some ( editor. get_buffer ( ) . to_string ( ) ) ;
555+ }
556+
553557 let ( input, pos) = completer_input (
554558 editor. get_buffer ( ) ,
555559 editor. insertion_point ( ) ,
@@ -585,20 +589,13 @@ impl Menu for ColumnarMenu {
585589 if let Some ( event) = self . event . take ( ) {
586590 match event {
587591 MenuEvent :: Activate ( updated) => {
588- self . active = true ;
589592 self . reset_position ( ) ;
590593
591- self . input = if self . settings . only_buffer_difference {
592- Some ( editor. get_buffer ( ) . to_string ( ) )
593- } else {
594- None
595- } ;
596-
597594 if !updated {
598595 self . update_values ( editor, completer) ;
599596 }
600597 }
601- MenuEvent :: Deactivate => self . active = false ,
598+ MenuEvent :: Deactivate => { }
602599 MenuEvent :: Edit ( updated) => {
603600 self . reset_position ( ) ;
604601
Original file line number Diff line number Diff line change @@ -442,6 +442,10 @@ impl Menu for DescriptionMenu {
442442
443443 /// Updates menu values
444444 fn update_values ( & mut self , editor : & mut Editor , completer : & mut dyn Completer ) {
445+ if self . settings . only_buffer_difference && self . input . is_none ( ) {
446+ self . input = Some ( editor. get_buffer ( ) . to_string ( ) ) ;
447+ }
448+
445449 let ( input, pos) = completer_input (
446450 editor. get_buffer ( ) ,
447451 editor. insertion_point ( ) ,
@@ -465,7 +469,6 @@ impl Menu for DescriptionMenu {
465469 match event {
466470 MenuEvent :: Activate ( _) => {
467471 self . reset_position ( ) ;
468- self . input = Some ( editor. get_buffer ( ) . to_string ( ) ) ;
469472 self . update_values ( editor, completer) ;
470473 }
471474 MenuEvent :: Deactivate => self . active = false ,
Original file line number Diff line number Diff line change @@ -615,6 +615,10 @@ impl Menu for IdeMenu {
615615
616616 /// Update menu values
617617 fn update_values ( & mut self , editor : & mut Editor , completer : & mut dyn Completer ) {
618+ if self . settings . only_buffer_difference && self . input . is_none ( ) {
619+ self . input = Some ( editor. get_buffer ( ) . to_string ( ) ) ;
620+ }
621+
618622 let ( input, pos) = completer_input (
619623 editor. get_buffer ( ) ,
620624 editor. insertion_point ( ) ,
@@ -648,20 +652,13 @@ impl Menu for IdeMenu {
648652 if let Some ( event) = self . event . take ( ) {
649653 match event {
650654 MenuEvent :: Activate ( updated) => {
651- self . active = true ;
652655 self . reset_position ( ) ;
653656
654- self . input = if self . settings . only_buffer_difference {
655- Some ( editor. get_buffer ( ) . to_string ( ) )
656- } else {
657- None
658- } ;
659-
660657 if !updated {
661658 self . update_values ( editor, completer) ;
662659 }
663660 }
664- MenuEvent :: Deactivate => self . active = false ,
661+ MenuEvent :: Deactivate => { }
665662 MenuEvent :: Edit ( updated) => {
666663 self . reset_position ( ) ;
667664
Original file line number Diff line number Diff line change @@ -346,6 +346,10 @@ impl Menu for ListMenu {
346346
347347 /// Collecting the value from the completer to be shown in the menu
348348 fn update_values ( & mut self , editor : & mut Editor , completer : & mut dyn Completer ) {
349+ if self . settings . only_buffer_difference && self . input . is_none ( ) {
350+ self . input = Some ( editor. get_buffer ( ) . to_string ( ) ) ;
351+ }
352+
349353 let ( input, pos) = completer_input (
350354 editor. get_buffer ( ) ,
351355 editor. insertion_point ( ) ,
@@ -422,23 +426,14 @@ impl Menu for ListMenu {
422426 MenuEvent :: Activate ( _) => {
423427 self . reset_position ( ) ;
424428
425- self . input = if self . settings . only_buffer_difference {
426- Some ( editor. get_buffer ( ) . to_string ( ) )
427- } else {
428- None
429- } ;
430-
431429 self . update_values ( editor, completer) ;
432430
433431 self . pages . push ( Page {
434432 size : self . printable_entries ( painter) ,
435433 full : false ,
436434 } ) ;
437435 }
438- MenuEvent :: Deactivate => {
439- self . active = false ;
440- self . input = None ;
441- }
436+ MenuEvent :: Deactivate => { }
442437 MenuEvent :: Edit ( _) => {
443438 self . update_values ( editor, completer) ;
444439 self . pages . push ( Page {
You can’t perform that action at this time.
0 commit comments