Rename EditState to InputState
At least to avoid the confusion with State.
diff --git a/src/edit.rs b/src/edit.rs
index cea72af..93ff741 100644
--- a/src/edit.rs
+++ b/src/edit.rs
@@ -10,7 +10,7 @@
use hint::Hinter;
use history::{Direction, History};
use keymap::{Anchor, At, CharSearch, Cmd, RepeatCount, Word};
-use keymap::{EditState, Refresher};
+use keymap::{InputState, Refresher};
use line_buffer::{LineBuffer, WordAction, MAX_LINE};
use tty::{Position, RawReader, Renderer};
use undo::Changeset;
@@ -28,7 +28,7 @@
history_index: usize, // The history index we are currently editing
saved_line_for_history: LineBuffer, // Current edited line before history browsing
byte_buffer: [u8; 4],
- pub changes: Rc<RefCell<Changeset>>,
+ pub changes: Rc<RefCell<Changeset>>, // changes to line, for undo/redo
pub hinter: Option<&'out Hinter>,
}
@@ -58,12 +58,12 @@
pub fn next_cmd<R: RawReader>(
&mut self,
- edit_state: &mut EditState,
+ input_state: &mut InputState,
rdr: &mut R,
single_esc_abort: bool,
) -> Result<Cmd> {
loop {
- let rc = edit_state.next_cmd(rdr, self, single_esc_abort);
+ let rc = input_state.next_cmd(rdr, self, single_esc_abort);
if rc.is_err() && self.out.sigwinch() {
self.out.update_size();
try!(self.refresh_line());
@@ -213,7 +213,7 @@
// Yank/paste `text` at current position.
pub fn edit_yank(
&mut self,
- edit_state: &EditState,
+ input_state: &InputState,
text: &str,
anchor: Anchor,
n: RepeatCount,
@@ -222,7 +222,7 @@
self.line.move_forward(1);
}
if self.line.yank(text, n).is_some() {
- if !edit_state.is_emacs_mode() {
+ if !input_state.is_emacs_mode() {
self.line.move_backward(1);
}
self.refresh_line()
diff --git a/src/keymap.rs b/src/keymap.rs
index 008e978..9d405a4 100644
--- a/src/keymap.rs
+++ b/src/keymap.rs
@@ -242,7 +242,7 @@
}
/// Tranform key(s) to commands based on current input mode
-pub struct EditState {
+pub struct InputState {
mode: EditMode,
custom_bindings: Rc<RefCell<HashMap<KeyPress, Cmd>>>,
input_mode: InputMode, // vi only ?
@@ -261,9 +261,12 @@
fn refresh_prompt_and_line(&mut self, prompt: &str) -> Result<()>;
}
-impl EditState {
- pub fn new(config: &Config, custom_bindings: Rc<RefCell<HashMap<KeyPress, Cmd>>>) -> EditState {
- EditState {
+impl InputState {
+ pub fn new(
+ config: &Config,
+ custom_bindings: Rc<RefCell<HashMap<KeyPress, Cmd>>>,
+ ) -> InputState {
+ InputState {
mode: config.edit_mode(),
custom_bindings,
input_mode: InputMode::Insert,
diff --git a/src/kill_ring.rs b/src/kill_ring.rs
index 5f18624..b587b81 100644
--- a/src/kill_ring.rs
+++ b/src/kill_ring.rs
@@ -1,4 +1,4 @@
-//! Kill Ring
+//! Kill Ring management
use line_buffer::{DeleteListener, Direction};
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
diff --git a/src/lib.rs b/src/lib.rs
index af1e21c..aac7be7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -61,7 +61,7 @@
use hint::Hinter;
use history::{Direction, History};
pub use keymap::{Anchor, At, CharSearch, Cmd, Movement, RepeatCount, Word};
-use keymap::{EditState, Refresher};
+use keymap::{InputState, Refresher};
use kill_ring::{KillRing, Mode};
use line_buffer::WordAction;
@@ -72,7 +72,7 @@
fn complete_line<R: RawReader, C: Completer>(
rdr: &mut R,
s: &mut State,
- edit_state: &mut EditState,
+ input_state: &mut InputState,
completer: &C,
config: &Config,
) -> Result<Option<Cmd>> {
@@ -100,7 +100,7 @@
try!(s.refresh_line());
}
- cmd = try!(s.next_cmd(edit_state, rdr, true));
+ cmd = try!(s.next_cmd(input_state, rdr, true));
match cmd {
Cmd::Complete => {
i = (i + 1) % (candidates.len() + 1); // Circular
@@ -138,7 +138,7 @@
}
}
// we can't complete any further, wait for second tab
- let mut cmd = try!(s.next_cmd(edit_state, rdr, true));
+ let mut cmd = try!(s.next_cmd(input_state, rdr, true));
// if any character other than tab, pass it to the main loop
if cmd != Cmd::Complete {
return Ok(Some(cmd));
@@ -157,7 +157,7 @@
&& cmd != Cmd::SelfInsert(1, 'N')
&& cmd != Cmd::Kill(Movement::BackwardChar(1))
{
- cmd = try!(s.next_cmd(edit_state, rdr, false));
+ cmd = try!(s.next_cmd(input_state, rdr, false));
}
match cmd {
Cmd::SelfInsert(1, 'y') | Cmd::SelfInsert(1, 'Y') => true,
@@ -167,7 +167,7 @@
true
};
if show_completions {
- page_completions(rdr, s, edit_state, &candidates)
+ page_completions(rdr, s, input_state, &candidates)
} else {
try!(s.refresh_line());
Ok(None)
@@ -180,7 +180,7 @@
fn page_completions<R: RawReader>(
rdr: &mut R,
s: &mut State,
- edit_state: &mut EditState,
+ input_state: &mut InputState,
candidates: &[String],
) -> Result<Option<Cmd>> {
use std::cmp;
@@ -213,7 +213,7 @@
&& cmd != Cmd::Kill(Movement::BackwardChar(1))
&& cmd != Cmd::AcceptLine
{
- cmd = try!(s.next_cmd(edit_state, rdr, false));
+ cmd = try!(s.next_cmd(input_state, rdr, false));
}
match cmd {
Cmd::SelfInsert(1, 'y') | Cmd::SelfInsert(1, 'Y') | Cmd::SelfInsert(1, ' ') => {
@@ -253,7 +253,7 @@
fn reverse_incremental_search<R: RawReader>(
rdr: &mut R,
s: &mut State,
- edit_state: &mut EditState,
+ input_state: &mut InputState,
history: &History,
) -> Result<Option<Cmd>> {
if history.is_empty() {
@@ -279,7 +279,7 @@
};
try!(s.refresh_prompt_and_line(&prompt));
- cmd = try!(s.next_cmd(edit_state, rdr, true));
+ cmd = try!(s.next_cmd(input_state, rdr, true));
if let Cmd::SelfInsert(_, c) = cmd {
search_buf.push(c);
} else {
@@ -348,7 +348,7 @@
editor.reset_kill_ring();
let mut s = State::new(&mut stdout, prompt, editor.history.len(), hinter);
- let mut edit_state = EditState::new(&editor.config, Rc::clone(&editor.custom_bindings));
+ let mut input_state = InputState::new(&editor.config, Rc::clone(&editor.custom_bindings));
s.line.set_delete_listener(editor.kill_ring.clone());
s.line.set_change_listener(s.changes.clone());
@@ -363,7 +363,7 @@
let mut rdr = try!(editor.term.create_reader(&editor.config));
loop {
- let rc = s.next_cmd(&mut edit_state, &mut rdr, false);
+ let rc = s.next_cmd(&mut input_state, &mut rdr, false);
let mut cmd = try!(rc);
if cmd.should_reset_kill_ring() {
@@ -375,7 +375,7 @@
let next = try!(complete_line(
&mut rdr,
&mut s,
- &mut edit_state,
+ &mut input_state,
completer.unwrap(),
&editor.config,
));
@@ -390,7 +390,7 @@
try!(s.edit_insert(c, n));
continue;
} else if let Cmd::Insert(n, text) = cmd {
- try!(s.edit_yank(&edit_state, &text, Anchor::Before, n));
+ try!(s.edit_yank(&input_state, &text, Anchor::Before, n));
continue;
}
@@ -399,7 +399,7 @@
let next = try!(reverse_incremental_search(
&mut rdr,
&mut s,
- &mut edit_state,
+ &mut input_state,
&editor.history,
));
if next.is_some() {
@@ -432,7 +432,7 @@
Cmd::Overwrite(c) => {
try!(s.edit_overwrite_char(c));
}
- Cmd::EndOfFile => if !edit_state.is_emacs_mode() && !s.line.is_empty() {
+ Cmd::EndOfFile => if !input_state.is_emacs_mode() && !s.line.is_empty() {
try!(s.edit_move_end());
break;
} else if s.line.is_empty() {
@@ -502,7 +502,7 @@
Cmd::Yank(n, anchor) => {
// retrieve (yank) last item killed
if let Some(text) = editor.kill_ring.borrow_mut().yank() {
- try!(s.edit_yank(&edit_state, text, anchor, n))
+ try!(s.edit_yank(&input_state, text, anchor, n))
}
}
Cmd::ViYankTo(mvt) => if let Some(text) = s.line.copy(mvt) {
@@ -848,7 +848,7 @@
use config::Config;
use consts::KeyPress;
use edit::init_state;
- use keymap::{Cmd, EditState};
+ use keymap::{Cmd, InputState};
fn init_editor(keys: &[KeyPress]) -> Editor<()> {
let mut editor = Editor::<()>::new();
@@ -868,14 +868,14 @@
let mut out = ::std::io::sink();
let mut s = init_state(&mut out, "rus", 3);
let config = Config::default();
- let mut edit_state = EditState::new(&config, Rc::new(RefCell::new(HashMap::new())));
+ let mut input_state = InputState::new(&config, Rc::new(RefCell::new(HashMap::new())));
let keys = &[KeyPress::Enter];
let mut rdr = keys.iter();
let completer = SimpleCompleter;
let cmd = super::complete_line(
&mut rdr,
&mut s,
- &mut edit_state,
+ &mut input_state,
&completer,
&Config::default(),
).unwrap();