Add deleting in ex mode
parent
c30f77a312
commit
f16fd889e4
|
@ -171,11 +171,10 @@ fn main() {
|
||||||
state.rcv_event(UIEvent { id: 0, event_type: UIEventType::ChangeMode(UIMode::Normal)});
|
state.rcv_event(UIEvent { id: 0, event_type: UIEventType::ChangeMode(UIMode::Normal)});
|
||||||
state.redraw();
|
state.redraw();
|
||||||
},
|
},
|
||||||
k @ Key::Char(_) => {
|
k => {
|
||||||
state.rcv_event(UIEvent { id: 0, event_type: UIEventType::ExInput(k)});
|
state.rcv_event(UIEvent { id: 0, event_type: UIEventType::ExInput(k)});
|
||||||
state.redraw();
|
state.redraw();
|
||||||
},
|
},
|
||||||
_ => {},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
UIMode::Fork => {
|
UIMode::Fork => {
|
||||||
|
|
|
@ -453,10 +453,12 @@ impl Component for StatusBar {
|
||||||
match m {
|
match m {
|
||||||
UIMode::Normal => {
|
UIMode::Normal => {
|
||||||
self.height = 1;
|
self.height = 1;
|
||||||
context.replies.push_back(UIEvent {
|
if !self.ex_buffer.is_empty() {
|
||||||
id: 0,
|
context.replies.push_back(UIEvent {
|
||||||
event_type: UIEventType::Command(self.ex_buffer.clone()),
|
id: 0,
|
||||||
});
|
event_type: UIEventType::Command(self.ex_buffer.clone()),
|
||||||
|
});
|
||||||
|
}
|
||||||
self.ex_buffer.clear()
|
self.ex_buffer.clear()
|
||||||
}
|
}
|
||||||
UIMode::Execute => {
|
UIMode::Execute => {
|
||||||
|
@ -469,6 +471,14 @@ impl Component for StatusBar {
|
||||||
self.dirty = true;
|
self.dirty = true;
|
||||||
self.ex_buffer.push(*c);
|
self.ex_buffer.push(*c);
|
||||||
}
|
}
|
||||||
|
UIEventType::ExInput(Key::Ctrl('u')) => {
|
||||||
|
self.dirty = true;
|
||||||
|
self.ex_buffer.clear();
|
||||||
|
}
|
||||||
|
UIEventType::ExInput(Key::Backspace) | UIEventType::ExInput(Key::Ctrl('h')) => {
|
||||||
|
self.dirty = true;
|
||||||
|
self.ex_buffer.pop();
|
||||||
|
}
|
||||||
UIEventType::Resize => {
|
UIEventType::Resize => {
|
||||||
self.dirty = true;
|
self.dirty = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue