libedit 0.2.1

Safe Rust bindings to the libedit line-editing library
Documentation

libedit

Safe Rust bindings to the libedit line-editing library (the BSD alternative to GNU readline).

Crates

Crate Description
libedit Safe, ergonomic wrapper with history, completion, hints, and suggestions
libedit-sys Raw FFI bindings generated by bindgen

Example

use libedit::EditLine;

let mut el = EditLine::new("example").unwrap();
if let Some(line) = el.readline("prompt> ").unwrap() {
    println!("got: {line}");
}

A fuller example demonstrating tab completion, history, inline suggestions, and hints is available in libedit/examples/repl.rs:

cargo run --example repl

System dependencies

The libedit development headers and library are required at build time.

Platform Command
Debian/Ubuntu apt install libedit-dev
Fedora/RHEL dnf install libedit-devel
macOS (Homebrew) brew install libedit
Arch Linux pacman -S libedit

To regenerate bindings with the bindgen feature, also install libclang-dev (or equivalent).

MSRV

The minimum supported Rust version is 1.82.

License

Licensed under the BSD 2-Clause License (LICENSE).