on master help sign in
changed fn to fnmut
2676023Jan Hrastnik
helix-term/src/editor.rs+5−5
@@ -66,7 +66,7 @@ impl Editor {
66 Ok(editor)
66 Ok(editor)
67 }
67 }
68
68
69− pub fn set_commands(self) {
69+ pub fn set_prompt(self) {
70 let commands = |input: &str| match input {
70 let commands = |input: &str| match input {
71 "q" => self.should_close = true,
71 "q" => self.should_close = true,
72 _ => (),
72 _ => (),
@@ -265,7 +265,7 @@ impl Editor {
265 // render buffer text
265 // render buffer text
266 let buffer_string;
266 let buffer_string;
267 if view.state.mode == Mode::Command {
267 if view.state.mode == Mode::Command {
268− buffer_string = &self.prompt.buffer;
268+ buffer_string = &self.prompt.unwrap().buffer;
269 self.surface
269 self.surface
270 .set_string(1, self.size.1 - 1, String::from(":"), text_color);
270 .set_string(1, self.size.1 - 1, String::from(":"), text_color);
271 self.surface
271 self.surface
@@ -291,7 +291,7 @@ impl Editor {
291 mode => write!(stdout, "\x1B[2 q"),
291 mode => write!(stdout, "\x1B[2 q"),
292 };
292 };
293 if view.state.mode() == Mode::Command {
293 if view.state.mode() == Mode::Command {
294− pos = Position::new(self.size.0 as usize, 2 + self.prompt.cursor_loc);
294+ pos = Position::new(self.size.0 as usize, 2 + self.prompt.unwrap().cursor_loc);
295 } else {
295 } else {
296 if let Some(path) = view.state.path() {
296 if let Some(path) = view.state.path() {
297 self.surface
297 self.surface
@@ -314,7 +314,7 @@ impl Editor {
314 let mut reader = EventStream::new();
314 let mut reader = EventStream::new();
315 let keymap = keymap::default();
315 let keymap = keymap::default();
316
316
317− self.set_commands();
317+ self.set_prompt();
318 self.render();
318 self.render();
319
319
320 loop {
320 loop {
@@ -357,7 +357,7 @@ impl Editor {
357 view.ensure_cursor_in_view();
357 view.ensure_cursor_in_view();
358 }
358 }
359 Mode::Command => {
359 Mode::Command => {
360− self.prompt.handle_input(event, view);
360+ self.prompt.unwrap().handle_input(event, view);
361 }
361 }
362 mode => {
362 mode => {
363 if let Some(command) = keymap[&mode].get(&keys) {
363 if let Some(command) = keymap[&mode].get(&keys) {
helix-view/src/prompt.rs+2−2
@@ -7,13 +7,13 @@ pub struct Prompt {
7 pub buffer: String,
7 pub buffer: String,
8 pub cursor_loc: usize,
8 pub cursor_loc: usize,
9 completion_fn: Box<dyn FnMut(&str) -> Option<Vec<&str>>>,
9 completion_fn: Box<dyn FnMut(&str) -> Option<Vec<&str>>>,
10− callback_fn: Box<dyn Fn(&str)>,
10+ callback_fn: Box<dyn FnMut(&str)>,
11}
11}
12
12
13impl Prompt {
13impl Prompt {
14 pub fn new(
14 pub fn new(
15 completion_fn: impl FnMut(&str) -> Option<Vec<&str>> + 'static,
15 completion_fn: impl FnMut(&str) -> Option<Vec<&str>> + 'static,
16− callback_fn: impl Fn(&str) + 'static,
16+ callback_fn: impl FnMut(&str) + 'static,
17 ) -> Prompt {
17 ) -> Prompt {
18 Prompt {
18 Prompt {
19 buffer: String::from(""),
19 buffer: String::from(""),