@@ -237,7 +237,7 @@ impl Editor {
237 Mode::Insert => "INS",
237 Mode::Insert => "INS",
238 Mode::Normal => "NOR",
238 Mode::Normal => "NOR",
239 Mode::Goto => "GOTO",
239 Mode::Goto => "GOTO",
240− Mode::Prompt => "PRO", // prompt?
240+ Mode::Command => "COM", // command?
242 // statusline
242 // statusline
243 self.surface.set_style(
243 self.surface.set_style(
@@ -249,14 +249,17 @@ impl Editor {
251 pub fn render_prompt(&mut self, text_color: Style) {
251 pub fn render_prompt(&mut self, text_color: Style) {
252+ // TODO: maybe name this render_commandline
252 use tui::backend::Backend;
253 use tui::backend::Backend;
253 let view = self.view.as_ref().unwrap();
254 let view = self.view.as_ref().unwrap();
254 // render buffer text
255 // render buffer text
255 let buffer_string;
256 let buffer_string;
256− if view.state.mode == Mode::Prompt {
257+ if view.state.mode == Mode::Command {
257 buffer_string = &self.prompt.buffer;
258 buffer_string = &self.prompt.buffer;
258 self.surface
259 self.surface
260+ .set_string(1, self.size.1 - 1, String::from(":"), text_color);
259− .set_string(1, self.size.1 - 1, buffer_string, text_color);
262+ .set_string(2, self.size.1 - 1, buffer_string, text_color);
261 buffer_string = &String::from("");
264 buffer_string = &String::from("");
@@ -277,8 +280,8 @@ impl Editor {
277 Mode::Insert => write!(stdout, "\x1B[6 q"),
280 Mode::Insert => write!(stdout, "\x1B[6 q"),
278 mode => write!(stdout, "\x1B[2 q"),
281 mode => write!(stdout, "\x1B[2 q"),
280− if view.state.mode() == Mode::Prompt {
283+ if view.state.mode() == Mode::Command {
281− pos = Position::new(self.size.0 as usize, 1 + self.prompt.buffer.len());
284+ pos = Position::new(self.size.0 as usize, 2 + self.prompt.cursor_loc);
283 if let Some(path) = view.state.path() {
286 if let Some(path) = view.state.path() {
284 self.surface
287 self.surface
@@ -346,8 +349,8 @@ impl Editor {
347 view.ensure_cursor_in_view();
350 view.ensure_cursor_in_view();
349− Mode::Prompt => {
352+ Mode::Command => {
350− self.prompt.handle_keyevent(event, view);
353+ self.prompt.handle_input(event, view);
352 mode => {
355 mode => {
353 if let Some(command) = keymap[&mode].get(&keys) {
356 if let Some(command) = keymap[&mode].get(&keys) {