A Rust library offering readline-like functionality.
- Autosuggestions
- Emacs and Vi keybindings
- Multi-line editing
- History
- (Incomplete) basic and filename completions
- Reverse search
- Remappable keybindings
In Cargo.toml:
[dependencies]
liner = "0.4.3"...In src/main.rs:
externcrate liner;use liner::Context;fnmain(){letmut con = Context::new();loop{let res = con.read_line("[prompt]$ ",&mut |_| {}).unwrap();if res.is_empty(){break;}
con.history.push(res.into());}}See src/main.rs for a more sophisticated example.
MIT licensed. See the LICENSE file.