Skip to content

Commit 6260d5d

Browse files
ysthakurkronberger-droid
authored andcommitted
Set input in update_values instead of update_working_details (nushell#917)
1 parent 245e61d commit 6260d5d

4 files changed

Lines changed: 19 additions & 27 deletions

File tree

src/menu/columnar_menu.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff 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

src/menu/description_menu.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff 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,

src/menu/ide_menu.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff 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

src/menu/list_menu.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff 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 {

0 commit comments

Comments
 (0)