Skip to content
A readline-like library in Rust.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src fix history truncation Nov 20, 2017
.gitignore
.travis.yml
CONTRIBUTING.md add CONTRIBUTING.md Jul 10, 2016
Cargo.toml patch version bump 0.4.2 -> 0.4.3 Nov 20, 2017
LICENSE update LICENSE Jun 11, 2017
README.md

README.md

liner

A Rust library offering readline-like functionality.

CONTRIBUTING.md

crates.io Build Status Docs

Featues

  • Autosuggestions
  • Emacs and Vi keybindings
  • Multi-line editing
  • History
  • (Incomplete) basic and filename completions
  • Reverse search
  • Remappable keybindings

Basic Usage

In Cargo.toml:

[dependencies]
liner = "0.4.3"
...

In src/main.rs:

extern crate liner;

use liner::Context;

fn main() {
    let mut 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.

License

MIT licensed. See the LICENSE file.

You can’t perform that action at this time.