diff --git a/src/suggestions.rs b/src/suggestions.rs index 954b2df..ea2c44f 100644 --- a/src/suggestions.rs +++ b/src/suggestions.rs @@ -1,7 +1,7 @@ use crate::misc::chars_take; /// Generate a hint based on the input `input`, returns an `Option` -pub fn generate_hint(input: String) -> HintEnum<'static> { +pub fn generate_hint(input: &str) -> HintEnum<'static> { if input.is_empty() { return HintEnum::Single("x^2"); } @@ -119,7 +119,7 @@ mod tests { for (key, value) in values { println!("{} + {:?}", key, value); - assert_eq!(generate_hint(key.to_string()), value); + assert_eq!(generate_hint(key), value); } } } diff --git a/src/widgets.rs b/src/widgets.rs index 4b6ba17..13a7551 100644 --- a/src/widgets.rs +++ b/src/widgets.rs @@ -23,10 +23,10 @@ impl Default for AutoComplete { } impl AutoComplete { - fn changed(&mut self, string: String) { - if self.func_str != Some(string.clone()) { + fn changed(&mut self, string: &str) { + if self.func_str != Some(string.to_string()) { self.changed = true; - self.func_str = Some(string.clone()); + self.func_str = Some(string.to_string()); self.hint = generate_hint(string); } else { self.changed = false; @@ -42,7 +42,7 @@ impl AutoComplete { let te_id = ui.make_persistent_id(format!("text_edit_ac_{}", func_i)); // update self - self.changed(string.clone()); + self.changed(&string); let mut func_edit = egui::TextEdit::singleline(&mut new_string) .hint_forward(true) // Make the hint appear after the last text in the textbox