diff --git a/lapce-data/src/document.rs b/lapce-data/src/document.rs index 07975515..182de4ec 100644 --- a/lapce-data/src/document.rs +++ b/lapce-data/src/document.rs @@ -361,7 +361,7 @@ pub struct Document { pub code_actions: im::HashMap, pub inlay_hints: Option>, pub diagnostics: Option>>, - ime_text: Option>, + ime_text: Option>, ime_pos: (usize, usize, usize), pub syntax_selection_range: Option, pub find: Rc>, @@ -980,7 +980,7 @@ pub fn set_ime_pos(&mut self, line: usize, col: usize, shift: usize) { self.ime_pos = (line, col, shift); } - pub fn ime_text(&self) -> Option<&Arc> { + pub fn ime_text(&self) -> Option<&Arc> { self.ime_text.as_ref() } @@ -988,8 +988,8 @@ pub fn ime_pos(&self) -> (usize, usize, usize) { self.ime_pos } - pub fn set_ime_text(&mut self, text: String) { - self.ime_text = Some(Arc::new(text)); + pub fn set_ime_text(&mut self, text: &str) { + self.ime_text = Some(Arc::from(text)); self.clear_text_layout_cache(); } diff --git a/lapce-ui/src/editor/view.rs b/lapce-ui/src/editor/view.rs index 5d13cf46..cea9902a 100644 --- a/lapce-ui/src/editor/view.rs +++ b/lapce-ui/src/editor/view.rs @@ -687,7 +687,7 @@ fn event( editor_data.doc.buffer().offset_to_line_col(offset); let doc = Arc::make_mut(&mut editor_data.doc); doc.set_ime_pos(line, col, self.ime.get_shift()); - doc.set_ime_text(self.ime.borrow().text().to_string()); + doc.set_ime_text(self.ime.borrow().text()); } else { Arc::make_mut(&mut editor_data.doc).clear_ime_text(); }