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();