17 releases (5 breaking)
Uses old Rust 2015
0.5.2 | Jun 17, 2016 |
---|---|
0.5.0 | May 25, 2016 |
0.4.1 | Dec 27, 2015 |
0.1.2 | Jul 29, 2015 |
0.0.4 | Mar 26, 2015 |
#1044 in Text processing
Used in 3 crates
(2 directly)
2.5MB
31K
SLoC
Contains (autotools obfuscated code, 215KB) readline/configure, (autotools obfuscated code, 160KB) readline/examples/rlfe/configure, (obscure autoconf code, 8KB) readline/configure.ac
readline-sys
Version
Native bindings to libreadline.
Features
- thin wrappers around
readline
andadd_history
- write history line to file:
add_history_persist
- load history from file:
preload_history
- library version:
version
API Documentation
Usage
Add rl-sys
as a dependency in Cargo.toml
[dependencies]
rl-sys = "~0.5.2"
A simple implementation of cat
using rl_sys::readline
extern crate rl_sys;
use rl_sys::readline;
use rl_sys::history::listmgmt;
fn main() {
loop {
let input: String = match readline::readline("") {
Ok(Some(s)) => s,
Ok(None) => break, // user entered ctrl-d
Err(e) => {
println!("{}", e);
continue;
}
};
println!("{}", input);
// Enables up/down arrow scrolling through history
listmgmt::add(&input).unwrap();
}
}
Check out the more comprehensive shell
example in the examples directory.
Development
To work on this crate, remember to git clone --recursive
or git submodule init && git submodule update
.
License
Distributed under the GNU General Public License.