A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/edi/input_handlers/keyboard.rs')
| -rw-r--r-- | src/edi/input_handlers/keyboard.rs | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/edi/input_handlers/keyboard.rs b/src/edi/input_handlers/keyboard.rs index e84f5c2..97d3b3f 100644 --- a/src/edi/input_handlers/keyboard.rs +++ b/src/edi/input_handlers/keyboard.rs @@ -522,25 +522,7 @@ impl Editor { self.text.scroll_to_cursor_centering(); inlay!(self); } - Do::Boolean(BoolRequest::ReloadFile, true) => { - self.hist.push_if_changed(&mut self.text); - self.text.rope = Rope::from_str( - &std::fs::read_to_string( - self.origin.as_ref().unwrap(), - ) - .unwrap(), - ); - - self.text.cursor.first_mut().position = self - .text - .cursor - .first() - .position - .min(self.text.rope.len_chars()); - self.mtime = Self::modify(self.origin.as_deref()); - self.bar.last_action = "reloaded".into(); - self.hist.push(&mut self.text) - } + Do::Boolean(BoolRequest::ReloadFile, true) => self.reload(), Do::Boolean(BoolRequest::ReloadFile, false) => {} Do::InsertCursor(dir) => { self.text @@ -863,4 +845,21 @@ impl Editor { .request(lsp.runtime.spawn(fut)); } } + pub fn reload(&mut self) { + self.hist.push_if_changed(&mut self.text); + self.text.rope = Rope::from_str( + &std::fs::read_to_string(self.origin.as_ref().unwrap()) + .unwrap(), + ); + + self.text.cursor.first_mut().position = self + .text + .cursor + .first() + .position + .min(self.text.rope.len_chars()); + self.mtime = Self::modify(self.origin.as_deref()); + self.bar.last_action = "reloaded".into(); + self.hist.push(&mut self.text) + } } |